config

package
v0.117.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2026 License: BSD-2-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindConfigDir added in v0.96.0

func FindConfigDir(ctx context.Context, toolName string) (string, error)

FindConfigDir returns the config directory for the given tool, applying XDG-first priority. If ~/.config/<toolName>/ exists it is returned. Otherwise, if the legacy ~/.<toolName>/ directory exists, it is returned. When neither exists, the XDG path ~/.config/<toolName>/ is returned as the default for new installs. FindConfigDir never creates directories and never writes to the filesystem; it only checks directory existence via os.Stat.

Types

type Config

type Config struct {
	CurrentUser  string           `yaml:"current_user"`
	DefaultVault string           `yaml:"default_vault"`
	Vaults       map[string]Vault `yaml:"vaults"`
}

Config represents the vault-cli configuration.

type Loader

type Loader interface {
	Load(ctx context.Context) (*Config, error)
	GetVaultPath(ctx context.Context, vaultName string) (string, error)
	GetVault(ctx context.Context, vaultName string) (*Vault, error)
	GetAllVaults(ctx context.Context) ([]*Vault, error)
	GetCurrentUser(ctx context.Context) (string, error)
}

func NewLoader

func NewLoader(configPath string) Loader

NewLoader creates a new config loader.

type Vault

type Vault struct {
	Path              string   `yaml:"path"                           json:"path"`
	Name              string   `yaml:"name"                           json:"name"`
	TasksDir          string   `yaml:"tasks_dir,omitempty"            json:"tasks_dir,omitempty"`
	GoalsDir          string   `yaml:"goals_dir,omitempty"            json:"goals_dir,omitempty"`
	ThemesDir         string   `yaml:"themes_dir,omitempty"           json:"themes_dir,omitempty"`
	ObjectivesDir     string   `yaml:"objectives_dir,omitempty"       json:"objectives_dir,omitempty"`
	VisionDir         string   `yaml:"vision_dir,omitempty"           json:"vision_dir,omitempty"`
	DailyDir          string   `yaml:"daily_dir,omitempty"            json:"daily_dir,omitempty"`
	KnowledgeDir      string   `yaml:"knowledge_dir,omitempty"        json:"knowledge_dir,omitempty"`
	ClaudeScript      string   `yaml:"claude_script,omitempty"        json:"claude_script,omitempty"`
	SessionProjectDir string   `yaml:"session_project_dir,omitempty"  json:"session_project_dir,omitempty"`
	WorkOnCommand     string   `yaml:"work_on_command,omitempty"      json:"work_on_command,omitempty"`
	WorkOnGoalCommand string   `yaml:"work_on_goal_command,omitempty" json:"work_on_goal_command,omitempty"`
	TaskTemplate      string   `yaml:"task_template,omitempty"        json:"task_template,omitempty"`
	GoalTemplate      string   `yaml:"goal_template,omitempty"        json:"goal_template,omitempty"`
	ThemeTemplate     string   `yaml:"theme_template,omitempty"       json:"theme_template,omitempty"`
	ObjectiveTemplate string   `yaml:"objective_template,omitempty"   json:"objective_template,omitempty"`
	VisionTemplate    string   `yaml:"vision_template,omitempty"      json:"vision_template,omitempty"`
	Excludes          []string `yaml:"excludes,omitempty"             json:"excludes,omitempty"`
}

Vault represents a single vault configuration.

func (*Vault) GetClaudeScript added in v0.17.0

func (v *Vault) GetClaudeScript() string

GetClaudeScript returns the claude script to use for sessions, defaulting to "claude" if not set.

func (*Vault) GetDailyDir

func (v *Vault) GetDailyDir() string

GetDailyDir returns the daily notes directory, defaulting to "Daily Notes" if not set.

func (*Vault) GetExcludes added in v0.28.0

func (v *Vault) GetExcludes() []string

GetExcludes returns the list of excluded directory prefixes.

func (*Vault) GetGoalTemplate added in v0.57.0

func (v *Vault) GetGoalTemplate() string

GetGoalTemplate returns the resolved absolute path to the goal template, or empty string if not set.

func (*Vault) GetGoalsDir

func (v *Vault) GetGoalsDir() string

GetGoalsDir returns the goals directory, defaulting to "Goals" if not set.

func (*Vault) GetKnowledgeDir added in v0.66.2

func (v *Vault) GetKnowledgeDir() string

GetKnowledgeDir returns the knowledge base directory, defaulting to "50 Knowledge Base" if not set.

func (*Vault) GetObjectiveTemplate added in v0.57.0

func (v *Vault) GetObjectiveTemplate() string

GetObjectiveTemplate returns the resolved absolute path to the objective template, or empty string if not set.

func (*Vault) GetObjectivesDir

func (v *Vault) GetObjectivesDir() string

GetObjectivesDir returns the objectives directory, defaulting to "22 Objectives" if not set.

func (*Vault) GetSessionProjectDir added in v0.47.0

func (v *Vault) GetSessionProjectDir() string

GetSessionProjectDir returns the session project directory override, or empty string if not set.

func (*Vault) GetTaskTemplate added in v0.57.0

func (v *Vault) GetTaskTemplate() string

GetTaskTemplate returns the resolved absolute path to the task template, or empty string if not set.

func (*Vault) GetTasksDir

func (v *Vault) GetTasksDir() string

GetTasksDir returns the tasks directory, defaulting to "Tasks" if not set.

func (*Vault) GetThemeTemplate added in v0.57.0

func (v *Vault) GetThemeTemplate() string

GetThemeTemplate returns the resolved absolute path to the theme template, or empty string if not set.

func (*Vault) GetThemesDir

func (v *Vault) GetThemesDir() string

GetThemesDir returns the themes directory, defaulting to "21 Themes" if not set.

func (*Vault) GetVisionDir

func (v *Vault) GetVisionDir() string

GetVisionDir returns the vision directory, defaulting to "20 Vision" if not set.

func (*Vault) GetVisionTemplate added in v0.57.0

func (v *Vault) GetVisionTemplate() string

GetVisionTemplate returns the resolved absolute path to the vision template, or empty string if not set.

func (*Vault) GetWorkOnCommand added in v0.66.10

func (v *Vault) GetWorkOnCommand() string

GetWorkOnCommand returns the Claude slash command for starting work-on sessions, defaulting to /vault-cli:work-on-task if not configured.

func (*Vault) GetWorkOnGoalCommand added in v0.99.0

func (v *Vault) GetWorkOnGoalCommand() string

GetWorkOnGoalCommand returns the Claude slash command for starting goal work-on sessions, defaulting to /vault-cli:work-on-goal if not configured.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL