config

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2025 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package config provides configuration management functionality for the CM application.

Index

Constants

This section is empty.

Variables

View Source
var (
	// Configuration file errors.
	ErrConfigFileParse = errors.New("failed to parse config file")
	// Configuration validation errors.
	ErrRepositoriesDirEmpty = errors.New("repositories_dir cannot be empty")
	ErrWorkspacesDirEmpty   = errors.New("workspaces_dir cannot be empty")
	ErrStatusFileEmpty      = errors.New("status_file cannot be empty")
	// Configuration initialization errors.
	ErrConfigNotInitialized = errors.New("CM configuration not found. Run 'cm init' to initialize")
)

Error definitions for config package.

Functions

This section is empty.

Types

type Config

type Config struct {
	RepositoriesDir string `yaml:"repositories_dir"` // User's repositories directory (default: ~/Code/repos)
	WorkspacesDir   string `yaml:"workspaces_dir"`   // User's workspaces directory (default: ~/Code/workspaces)
	StatusFile      string `yaml:"status_file"`      // Status file path (default: ~/.cm/status.yaml)
}

Config represents the application configuration.

func LoadConfigWithFallback

func LoadConfigWithFallback(configPath string) (Config, error)

LoadConfigWithFallback loads configuration from file with fallback to default.

func (Config) Validate

func (c Config) Validate() error

Validate validates the configuration values.

type Manager

type Manager interface {
	LoadConfig(configPath string) (Config, error)
	LoadConfigStrict(configPath string) (Config, error)
	DefaultConfig() Config
	SaveConfig(config Config, configPath string) error
	CreateConfigDirectory(configPath string) error
	ValidateRepositoriesDir(repositoriesDir string) error
	ValidateWorkspacesDir(workspacesDir string) error
	ValidateStatusFile(statusFile string) error
}

Manager interface provides configuration management functionality.

func NewManager

func NewManager() Manager

NewManager creates a new Manager instance.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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