Documentation
¶
Index ¶
Constants ¶
const ( PersonaMinimal = "minimal" // MVP, prototype - ship fast, iterate later PersonaBalanced = "balanced" // Pragmatic defaults - essential quality PersonaProduction = "production" // Enterprise-grade - comprehensive, scalable )
Persona constants define implementation styles
const ( ModeCreate = "create" // Create a new codebase from scratch (default) ModeModify = "modify" // Modify an existing codebase )
Mode constants define execution modes
Variables ¶
var ValidModes = []string{ModeCreate, ModeModify}
ValidModes lists all valid mode values
var ValidPersonas = []string{PersonaMinimal, PersonaBalanced, PersonaProduction}
ValidPersonas lists all valid persona values
Functions ¶
func IsValidPersona ¶
IsValidPersona checks if a persona string is valid
Types ¶
type AgentConfig ¶
type AgentConfig struct {
Prompt string `yaml:"prompt"` // Inline prompt (takes precedence)
PromptFile string `yaml:"prompt_file"` // Path to prompt template file
Output string `yaml:"output"`
DependsOn []string `yaml:"depends_on"`
}
AgentConfig represents a single agent's configuration
type ArchitecturePreferences ¶
type ArchitecturePreferences = types.ArchitecturePreferences
Type aliases for backward compatibility and convenience These reference the canonical types in the types package
func DefaultPreferences ¶
func DefaultPreferences() ArchitecturePreferences
DefaultPreferences returns the default architecture preferences These are neutral defaults that work for most projects
type Config ¶
type Config struct {
OutputDir string `yaml:"output_dir"`
Timeout int `yaml:"timeout"`
Persona string `yaml:"persona"` // Implementation style: minimal, balanced, production
Stack TechStack `yaml:"stack"` // Technology stack preferences
Preferences ArchitecturePreferences `yaml:"preferences"` // Architectural style preferences
ResumeMode bool `yaml:"-"` // Set via CLI flag, not config file
ForceMode bool `yaml:"-"` // Set via CLI flag, not config file
Agents map[string]AgentConfig `yaml:"agents"`
// Mode-specific configuration for existing codebase modifications
Mode string `yaml:"mode"` // "create" (default) or "modify"
TargetCodebase string `yaml:"target_codebase"` // Path to existing codebase (required for modify mode)
InputFiles []string `yaml:"input_files"` // Multiple input files (TRD, requirements, etc.)
SpecsOutputDir string `yaml:"specs_output_dir"` // Directory for spec outputs (default: output_dir)
// Post-processing options
PostProcessing PostProcessingConfig `yaml:"post_processing"`
}
Config represents the pagent configuration
func Default ¶
func Default() *Config
Default returns the default configuration Prompts are loaded from embedded templates (internal/prompt/templates/) Users can override by specifying prompt_file or inline prompt in config
func (*Config) ApplyEnvOverrides ¶
func (c *Config) ApplyEnvOverrides()
ApplyEnvOverrides applies environment variable overrides to config
func (*Config) GetAgentNames ¶
GetAgentNames returns sorted list of agent names
func (*Config) GetDependencies ¶
GetDependencies returns the dependencies for an agent
func (*Config) GetEffectiveCodeOutputDir ¶
GetEffectiveCodeOutputDir returns the directory where code should be written In modify mode, this is the target codebase; in create mode, it's output_dir/code
func (*Config) GetEffectiveSpecsOutputDir ¶
GetEffectiveSpecsOutputDir returns the directory where specs should be written
func (*Config) IsModifyMode ¶
IsModifyMode returns true if the config is set to modify an existing codebase
type PostProcessingConfig ¶
type PostProcessingConfig struct {
GenerateDiffSummary bool `yaml:"generate_diff_summary"` // Generate git diff summary
GeneratePRDescription bool `yaml:"generate_pr_description"` // Generate PR description from changes
ValidationCommands []string `yaml:"validation_commands"` // Custom commands to run after implementation
}
PostProcessingConfig contains options for post-execution actions
type TechStack ¶
Type aliases for backward compatibility and convenience These reference the canonical types in the types package
func DefaultStack ¶
func DefaultStack() TechStack
DefaultStack returns the default technology stack preferences These are widely-used, well-documented technologies