Add a dedicated pyro host surface for supported chat hosts so Claude Code, Codex, and OpenCode users can connect or repair the canonical MCP setup without hand-writing raw commands or config edits. Implement the shared host helper layer and wire it through the CLI with connect, print-config, doctor, and repair, all generated from the same canonical pyro mcp serve command shape and project-source flags. Update the docs, public contract, examples, changelog, and roadmap so the helper flow becomes the primary onramp while raw host-specific commands remain as reference material. Harden the verification path that this milestone exposed: temp git repos in tests now disable commit signing, socket-based port tests skip cleanly when the sandbox forbids those primitives, and make test still uses multiple cores by default but caps xdist workers to a stable value so make check stays fast and deterministic here. Validation: - uv lock - UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make check - UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make dist-check
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
# `4.2.0` Host Bootstrap And Repair
|
|
|
|
Status: Done
|
|
|
|
## Goal
|
|
|
|
Make supported chat hosts feel one-command to connect and easy to repair when a
|
|
local config drifts or the product changes shape.
|
|
|
|
## Public API Changes
|
|
|
|
The CLI should grow a small host-helper surface for the supported chat hosts:
|
|
|
|
- `pyro host connect claude-code`
|
|
- `pyro host connect codex`
|
|
- `pyro host print-config opencode`
|
|
- `pyro host doctor`
|
|
- `pyro host repair HOST`
|
|
|
|
The exact names can still move, but the product needs a first-class bootstrap
|
|
and repair path for Claude Code, Codex, and OpenCode.
|
|
|
|
## Implementation Boundaries
|
|
|
|
- host helpers should wrap the same `pyro mcp serve` entrypoint rather than
|
|
introduce per-host runtime behavior
|
|
- config changes should remain inspectable and predictable
|
|
- support both installed-package and `uvx`-style usage where that materially
|
|
reduces friction
|
|
- keep the host helper story narrow to the current supported hosts
|
|
|
|
## Non-Goals
|
|
|
|
- no GUI installer or onboarding wizard
|
|
- no attempt to support every possible MCP-capable editor or chat shell
|
|
- no hidden network service or account-based control plane
|
|
|
|
## Acceptance Scenarios
|
|
|
|
- a new Claude Code or Codex user can connect `pyro` with one command
|
|
- an OpenCode user can print or materialize a correct config without hand-writing
|
|
JSON
|
|
- a user with a stale or broken local host config can run one repair or doctor
|
|
flow instead of debugging MCP setup manually
|
|
|
|
## Required Repo Updates
|
|
|
|
- new host-helper docs and examples for all supported chat hosts
|
|
- README, install docs, and integrations docs updated to prefer the helper
|
|
flows when available
|
|
- help text updated with exact connect and repair commands
|
|
- runnable verification or smoke coverage that proves the shipped host-helper
|
|
examples stay current
|