config

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2025 License: GPL-3.0 Imports: 7 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.
	ErrBasePathEmpty = errors.New("base_path cannot be empty")
	// Configuration initialization errors.
	ErrConfigNotInitialized = errors.New("CM configuration not found. Run 'cm init' to initialize")
	// Configuration loading errors.
	ErrFailedToLoadConfig = errors.New("failed to load configuration")
)

Error definitions for config package.

Functions

This section is empty.

Types

type Config

type Config struct {
	BasePath   string `yaml:"base_path"`   // User's code directory (default: ~/Code)
	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
	ValidateBasePath(basePath string) error
	EnsureConfigFile(configPath string) (Config, bool, 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