Make repo-root chat startup native by letting MCP servers carry a default project source for workspace creation. When a chat host starts from a Git checkout, workspace_create can now omit seed_path and inherit the server startup source; explicit --project-path and clean-clone --repo-url/--repo-ref paths are supported as fallbacks. Add project startup resolution and materialization, surface origin_kind/origin_ref in workspace_seed, update chat-host docs and the repro/fix smoke to use project-aware workspace creation, and switch dist-check to uv run pyro so verification stays stable after uv reinstalls. Validated with uv lock, focused startup/server/CLI pytest coverage, UV_CACHE_DIR=.uv-cache make check, UV_CACHE_DIR=.uv-cache make dist-check, and real guest-backed smokes for both explicit project_path and bare repo-root auto-detection.
2.1 KiB
2.1 KiB
4.1.0 Project-Aware Chat Startup
Status: Done
Goal
Make "current repo to disposable sandbox" the default story for the narrowed chat-host user, without requiring manual workspace seeding choreography first.
Public API Changes
The chat entrypoint should gain one documented project-aware startup path:
pyro mcp serveshould accept an explicit local project source, such as the current checkout- the product path should optionally support a clean-clone source, such as a repo URL, when the user is not starting from a local checkout
- the first useful chat turn should not depend on manually teaching
workspace create ... --seed-path ...before the host can do real work
Exact flag names can still change, but the product needs one obvious "use this repo" path and one obvious "start from that repo" path.
Implementation Boundaries
- keep host crossing explicit; do not silently mutate the user's checkout
- prefer local checkout seeding first, because that is the most natural daily chat path
- preserve existing explicit sync, export, diff, and reset primitives rather than inventing a hidden live-sync layer
- keep the startup story compatible with the existing
workspace-coreproduct path
Non-Goals
- no generic SCM integration platform
- no background multi-repo workspace manager
- no always-on bidirectional live sync between host checkout and guest
Acceptance Scenarios
- from a repo root, a user can connect Claude Code, Codex, or OpenCode and the first workspace starts from that repo without extra terminal choreography
- from outside a repo checkout, a user can still start from a documented clean source such as a repo URL
- the README and install docs can teach a repo-aware chat flow before the manual terminal workspace flow
Required Repo Updates
- README, install docs, first-run docs, integrations docs, and public contract updated to show the repo-aware chat startup path
- help text updated so the repo-aware startup path is visible from
pyroandpyro mcp serve --help - at least one recipe and one real smoke scenario updated to validate the new startup story