initwizard

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultAgent = "claude-code"

DefaultAgent is the harness agent that the wizard bakes into every behavior's default_instruction.agent when the caller does not override Wizard.Agent. It must match a name handled by harnessTypeForAgent in internal/orchestrator/planner.go; empty would synthesize no agent hook and leave new tasks unable to dispatch.

View Source
const DefaultTaskBehavior = "supervisor"

DefaultTaskBehavior is the canonical behavior the wizard names as the project-wide default. It must exist in the generated task_behaviors map. Omitting this from project.yaml triggers a daemon-side deprecation warning even though the daemon currently falls back to "supervisor" — keeping it explicit silences the warning and documents intent.

Variables

This section is empty.

Functions

func ExpandScaffoldTemplate

func ExpandScaffoldTemplate(data ScaffoldTemplateData) (map[string]any, error)

ExpandScaffoldTemplate executes the built-in default_behaviors.tmpl with data and parses the result as a map[string]interface{} representing task_behaviors.

Types

type ScaffoldTemplateData

type ScaffoldTemplateData struct {
	ProjectID   string
	ProjectName string
	Agent       string
}

ScaffoldTemplateData is the data passed to scaffold templates.

type Wizard

type Wizard struct {
	In    io.Reader
	Out   io.Writer
	Agent string
}

Wizard runs the project initialization flow. After the kit/workspace/project reorg, project.yaml is portable: it holds only id / name / worktree / task_behaviors / default_task_behavior. Kit selection has moved to `boid workspace configure`, so the wizard no longer prompts for kits.

Agent is the harness agent name baked into each behavior's default_instruction.agent. Empty falls back to "claude-code" (the only agent that is universally available; codex / opencode require explicit opt-in by the user via direct project.yaml edit or workspace setup).

func (*Wizard) Run

func (w *Wizard) Run(projectDir string) error

Run writes a static project.yaml template into projectDir/.boid/. The only interactive prompt is the project name; everything else (executor / supervisor behaviors, worktree=true) comes from the embedded template.

Jump to

Keyboard shortcuts

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