config

package
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package config provides default configuration handling.

Package config provides configuration initialization helpers.

Package config provides configuration loading helpers.

Package config provides repository migration helpers for durable layout updates.

Package config defines the configuration model for Governator v2.

Package config provides workspace configuration and reset helpers.

Index

Constants

View Source
const (
	CLICodex  = "codex"
	CLIClaude = "claude"
	CLIGemini = "gemini"
)

Built-in CLI names

View Source
const DefaultReasoningEffort = "medium"

Variables

This section is empty.

Functions

func ApplyInitOverrides

func ApplyInitOverrides(repoRoot string, overrides InitOverrides) error

ApplyInitOverrides updates the config.json file with values from command-line flags.

func ApplyRepoMigrations added in v1.0.4

func ApplyRepoMigrations(repoRoot string, opts InitOptions) error

ApplyRepoMigrations applies idempotent durable migrations for existing repositories.

func BuiltInCommand

func BuiltInCommand(cli string) ([]string, bool)

BuiltInCommand returns the command template for a built-in CLI.

func InitFullLayout

func InitFullLayout(repoRoot string, opts InitOptions) error

InitFullLayout creates the complete v2 directory structure and default files. It is idempotent and will not overwrite existing files.

func InitRepoConfig

func InitRepoConfig(repoRoot string, opts InitOptions) error

InitRepoConfig creates the repository config directory and writes a minimal config file if absent. It does not overwrite existing configuration files.

func IsValidCLI

func IsValidCLI(cli string) bool

IsValidCLI returns true if the CLI name is a known built-in.

func PendingRepoMigrations added in v1.0.4

func PendingRepoMigrations(repoRoot string) ([]string, error)

PendingRepoMigrations returns repo migration IDs that have not yet been marked complete.

func ResetExecutionTasks added in v1.0.7

func ResetExecutionTasks(repoRoot string, opts ResetExecutionTasksOptions) error

ResetExecutionTasks resets all non-backlog/non-merged execution tasks to backlog and clears transient runtime state.

func StampExistingMigrations added in v1.0.6

func StampExistingMigrations(repoRoot string, opts InitOptions) error

StampExistingMigrations marks all currently-known migrations as complete without running them. Call this during init so that migrations predating a fresh project are never surfaced as pending.

Types

type BranchConfig

type BranchConfig struct {
	Base string `json:"base"`
}

BranchConfig describes how branches should be created for tasks.

type ConcurrencyConfig

type ConcurrencyConfig struct {
	Global      int            `json:"global"`
	DefaultRole int            `json:"default_role"`
	Roles       map[string]int `json:"roles"`
}

ConcurrencyConfig defines limits on worker concurrency.

type Config

type Config struct {
	Workers         WorkersConfig         `json:"workers"`
	Concurrency     ConcurrencyConfig     `json:"concurrency"`
	Timeouts        TimeoutsConfig        `json:"timeouts"`
	Retries         RetriesConfig         `json:"retries"`
	Branches        BranchConfig          `json:"branches"`
	ReasoningEffort ReasoningEffortConfig `json:"reasoning_effort"`
}

Config defines the full configuration surface for Governator v2.

func ApplyDefaults

func ApplyDefaults(cfg Config, warn func(string)) Config

ApplyDefaults fills missing or invalid values with documented defaults.

func Defaults

func Defaults() Config

Defaults returns the documented configuration defaults.

Defaults: - workers.cli.default: "codex" - workers.cli.roles: {} - workers.commands.default: null (uses built-in CLI command) - workers.commands.roles: {} - concurrency.global: 1 - concurrency.default_role: 1 - concurrency.roles: {} - timeouts.worker_seconds: 900 - retries.max_attempts: 2

func Load

func Load(repoRoot string, cliOverrides map[string]any, warn func(string)) (Config, error)

Load resolves configuration from user defaults, repo overrides, and CLI overrides.

type InitOptions

type InitOptions struct {
	Verbose bool
	Writer  io.Writer
}

InitOptions configures init-time behaviors such as verbose logging.

type InitOverrides

type InitOverrides struct {
	Agent           string // workers.cli.default
	Concurrency     int    // concurrency.global and concurrency.default_role
	ReasoningEffort string // reasoning_effort.default
	Branch          string // branches.base
	Timeout         int    // timeouts.worker_seconds
}

InitOverrides contains configuration values to override during initialization.

type ReasoningEffortConfig

type ReasoningEffortConfig struct {
	Default string            `json:"default"`
	Roles   map[string]string `json:"roles"`
}

ReasoningEffortConfig captures the default reasoning effort and role overrides.

func (ReasoningEffortConfig) LevelForRole

func (cfg ReasoningEffortConfig) LevelForRole(role string) string

LevelForRole returns the reasoning effort for the supplied role.

type RepoMigrationInfo added in v1.0.5

type RepoMigrationInfo struct {
	ID          string
	Destructive bool
}

RepoMigrationInfo describes a pending repo migration and whether it is destructive.

func PendingRepoMigrationInfo added in v1.0.5

func PendingRepoMigrationInfo(repoRoot string) ([]RepoMigrationInfo, error)

PendingRepoMigrationInfo returns pending migration metadata for confirmation flows.

type ResetExecutionTasksOptions added in v1.0.7

type ResetExecutionTasksOptions struct {
	ClearTriageState bool
}

ResetExecutionTasksOptions controls reset behavior for execution task state.

type RetriesConfig

type RetriesConfig struct {
	MaxAttempts int `json:"max_attempts"`
}

RetriesConfig defines retry limits.

type TimeoutsConfig

type TimeoutsConfig struct {
	WorkerSeconds int `json:"worker_seconds"`
}

TimeoutsConfig defines timeout settings in seconds.

type WorkerCLI

type WorkerCLI struct {
	Default string            `json:"default"` // "codex", "claude", or "gemini"
	Roles   map[string]string `json:"roles"`   // per-role CLI overrides
}

WorkerCLI defines which built-in CLI tool to use for workers.

type WorkerCommands

type WorkerCommands struct {
	Default []string            `json:"default"`
	Roles   map[string][]string `json:"roles"`
}

WorkerCommands defines command templates for worker execution.

type WorkersConfig

type WorkersConfig struct {
	CLI      WorkerCLI      `json:"cli"`
	Commands WorkerCommands `json:"commands"`
}

WorkersConfig captures worker execution settings.

Jump to

Keyboard shortcuts

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