Documentation
¶
Overview ¶
Package setuptools — chat-driven Onboard + Init MCP tools.
Today's CLI surface (`clawtool onboard`, `clawtool init`) requires an operator at a terminal. When clawtool runs as a Claude Code plugin (or any MCP host), the calling AI can't drive that flow because there's no MCP tool exposing it.
This package adds three tools so an AI session can drive onboarding + init from chat:
- OnboardStatus — read-only probe of repo state.
- InitApply — dispatches into the same setup.Apply machinery `clawtool init` uses.
- OnboardWizard — non-interactive subset of `clawtool onboard`: persists telemetry preference + agent-family default + the onboarded marker.
Package name `setuptools` (not `setup`) avoids the clash with internal/setup which both files import — the recipe registry lives there and we delegate Apply / Detect / Categories to it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterAutonomousRun ¶ added in v0.22.72
RegisterAutonomousRun wires the AutonomousRun MCP tool to s. Mirror of RegisterOnboardStatus / RegisterInitApply.
func RegisterFanout ¶ added in v0.22.85
RegisterFanout wires the Fanout MCP tool to s. Mirror of RegisterAutonomousRun; same shape so the manifest entry is a minor variant of AutonomousRun's.
func RegisterInitApply ¶
RegisterInitApply wires the InitApply MCP tool to s. Mirror of RegisterOnboardStatus.
func RegisterOnboardStatus ¶
RegisterOnboardStatus wires the OnboardStatus MCP tool to s. Called from internal/tools/core/manifest.go via the registry's Register fn so the surface-drift test sees the new spec automatically.
func RegisterOnboardWizard ¶
RegisterOnboardWizard wires the OnboardWizard MCP tool to s.
Types ¶
type AutonomousDispatcher ¶ added in v0.22.72
type AutonomousDispatcher interface {
Dispatch(ctx context.Context, prompt string) (AutonomousTick, error)
}
AutonomousDispatcher is the seam runAutonomousRun closes over. One method, exactly the shape the parallel CLI branch's Dispatcher uses, so the merge swaps the local definition for the canonical one without touching call sites or tests.
type AutonomousTick ¶ added in v0.22.72
type AutonomousTick struct {
Summary string `json:"summary"`
FilesChanged []string `json:"files_changed,omitempty"`
NextSteps []string `json:"next_steps,omitempty"`
Done bool `json:"done"`
}
AutonomousTick is the per-iteration result a dispatcher returns. Field names track the parallel CLI branch's tick struct so the rebase is mechanical (`{ Summary, FilesChanged, NextSteps, Done }`). Don't rename — the wire format is shared.