Documentation
¶
Index ¶
- Constants
- Variables
- func AppState() (string, error)
- func ClearAPIKey() error
- func Dir() (string, error)
- func MaskAPIKey(key string) string
- func Path() (string, error)
- func Save(cfg UserConfig) error
- func SaveCommand(workDir, name, command string) error
- func SaveProjectConfig(workDir string, cfg *ProjectConfig) error
- type CircleCIConfig
- type Command
- type ProjectConfig
- type ResolvedConfig
- type TaskConfig
- type UserConfig
- type VCSConfig
Constants ¶
const ( DefaultModel = "claude-sonnet-4-5-20250929" AnalyzeModel = "claude-sonnet-4-5-20250929" PromptModel = "claude-opus-4-5-20251101" ValidationModel = "claude-haiku-4-5-20251001" )
Model constants define the Claude models used for different operations.
const ( RoleGate = "gate" // enforce at Stop, run-and-record at PreToolUse RolePrecheck = "precheck" // check at PreToolUse, enforce at Stop (changed-file variants) RoleAutofix = "autofix" // run at PreToolUse, enforce at Stop (formatters) )
Command roles determine hook placement in settings.json.
Variables ¶
var ValidConfigKeys = map[string]bool{ "model": true, "apiKey": true, }
ValidConfigKeys are the keys accepted by "config set".
Functions ¶
func MaskAPIKey ¶
MaskAPIKey masks all but the last 4 characters with *.
func Save ¶
func Save(cfg UserConfig) error
Save writes the config file, creating the directory with 0o700 and file with 0o600.
func SaveCommand ¶ added in v0.7.2
SaveCommand upserts a command in .chunk/config.json.
func SaveProjectConfig ¶ added in v0.7.2
func SaveProjectConfig(workDir string, cfg *ProjectConfig) error
SaveProjectConfig writes the config back to .chunk/config.json.
Types ¶
type CircleCIConfig ¶ added in v0.7.2
type CircleCIConfig struct {
OrgID string `json:"orgId,omitempty"`
}
CircleCIConfig holds CircleCI configuration for the project.
type Command ¶ added in v0.7.2
type Command struct {
Name string `json:"name"`
Run string `json:"run"`
Role string `json:"role,omitempty"`
FileExt string `json:"fileExt,omitempty"`
Timeout int `json:"timeout,omitempty"`
Limit int `json:"limit,omitempty"`
Always bool `json:"always,omitempty"`
Staged bool `json:"staged,omitempty"`
}
Command is a single validation command.
type ProjectConfig ¶ added in v0.7.2
type ProjectConfig struct {
Commands []Command `json:"commands,omitempty"`
Triggers map[string][]string `json:"triggers,omitempty"`
Tasks map[string]TaskConfig `json:"tasks,omitempty"`
VCS *VCSConfig `json:"vcs,omitempty"`
CircleCI *CircleCIConfig `json:"circleci,omitempty"`
}
ProjectConfig is the per-repo configuration stored in .chunk/config.json.
func LoadProjectConfig ¶ added in v0.7.2
func LoadProjectConfig(workDir string) (*ProjectConfig, error)
LoadProjectConfig reads .chunk/config.json from workDir.
func (*ProjectConfig) FindCommand ¶ added in v0.7.2
func (c *ProjectConfig) FindCommand(name string) *Command
FindCommand returns the command with the given name, or nil if not found.
func (*ProjectConfig) HasCommands ¶ added in v0.7.2
func (c *ProjectConfig) HasCommands() bool
HasCommands reports whether any commands are configured.
type ResolvedConfig ¶
type ResolvedConfig struct {
APIKey string
APIKeySource string
Model string
ModelSource string
AnalyzeModel string
PromptModel string
}
ResolvedConfig holds the final resolved values with their sources.
func Resolve ¶
func Resolve(flagAPIKey, flagModel string) ResolvedConfig
Resolve computes the final config from flags, env, and file. Priority for API key: flag > env > config file > (none). Priority for model: flag > CODE_REVIEW_CLI_MODEL env > config file > default.
type TaskConfig ¶ added in v0.7.2
type TaskConfig struct {
Instructions string `json:"instructions,omitempty"`
Schema string `json:"schema,omitempty"`
Limit int `json:"limit,omitempty"`
Always bool `json:"always,omitempty"`
Timeout int `json:"timeout,omitempty"`
}
TaskConfig holds task delegation configuration.
type UserConfig ¶
type UserConfig struct {
APIKey string `json:"apiKey,omitempty"`
Model string `json:"model,omitempty"`
}
UserConfig is the on-disk JSON config.
func Load ¶
func Load() (UserConfig, error)
Load reads the config file. Returns empty config if not found.