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.
Package setuptools — `PeerList` MCP tool.
Today's MCP surface lets a calling agent dispatch / send messages (PeerSend, SendMessage, AutonomousRun) but has no way to *discover* what BIAM peers are currently registered. The CLI verb `clawtool peer list` covers the operator path; this tool covers the chat-driven path so an in-context agent can answer "what other Claude Code / Codex / Gemini sessions are reachable right now" without shelling out.
Read-only. Talks to the local daemon via daemon.HTTPRequest — same auth + 5s timeout + XDG state path the rest of the peer surface uses. The handler does no filtering itself; everything is forwarded as a query param so the daemon's a2a.Registry.List is the single source of truth.
Index ¶
- func RegisterAutonomousRun(s *server.MCPServer)
- func RegisterFanout(s *server.MCPServer)
- func RegisterInitApply(s *server.MCPServer)
- func RegisterOnboardStatus(s *server.MCPServer)
- func RegisterOnboardWizard(s *server.MCPServer)
- func RegisterPeerList(s *server.MCPServer)
- type AutonomousDispatcher
- type AutonomousTick
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.
func RegisterPeerList ¶ added in v0.22.94
RegisterPeerList wires the PeerList MCP tool to s. Mirrors RegisterOnboardStatus's shape so the manifest row is a one-liner.
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.