Add opinionated MCP modes for workspace workflows
Introduce explicit repro-fix, inspect, cold-start, and review-eval modes across the MCP server, CLI, and host helpers, with canonical mode-to-tool mappings, narrowed schemas, and mode-specific tool descriptions on top of the existing workspace runtime. Reposition the docs, host onramps, and use-case recipes so named modes are the primary user-facing startup story while the generic no-mode workspace-core path remains the escape hatch, and update the shared smoke runner to validate repro-fix and cold-start through mode-backed servers. Validation: UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache uv run pytest --no-cov tests/test_api.py tests/test_server.py tests/test_host_helpers.py tests/test_public_contract.py tests/test_cli.py tests/test_workspace_use_case_smokes.py; UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make check; UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make dist-check; real guest-backed make smoke-repro-fix-loop smoke-cold-start-validation outside the sandbox.
This commit is contained in:
parent
dc86d84e96
commit
d0cf6d8f21
33 changed files with 1034 additions and 274 deletions
|
|
@ -1,18 +1,22 @@
|
|||
# Claude Code MCP Setup
|
||||
|
||||
Recommended profile: `workspace-core`.
|
||||
Recommended modes:
|
||||
|
||||
- `cold-start`
|
||||
- `review-eval`
|
||||
|
||||
Preferred helper flow:
|
||||
|
||||
```bash
|
||||
pyro host connect claude-code
|
||||
pyro host doctor
|
||||
pyro host connect claude-code --mode cold-start
|
||||
pyro host connect claude-code --mode review-eval
|
||||
pyro host doctor --mode cold-start
|
||||
```
|
||||
|
||||
Package without install:
|
||||
|
||||
```bash
|
||||
claude mcp add pyro -- uvx --from pyro-mcp pyro mcp serve
|
||||
claude mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --mode cold-start
|
||||
claude mcp list
|
||||
```
|
||||
|
||||
|
|
@ -22,7 +26,7 @@ from the current checkout automatically.
|
|||
Already installed:
|
||||
|
||||
```bash
|
||||
claude mcp add pyro -- pyro mcp serve
|
||||
claude mcp add pyro -- pyro mcp serve --mode cold-start
|
||||
claude mcp list
|
||||
```
|
||||
|
||||
|
|
@ -30,14 +34,14 @@ If Claude Code launches the server from an unexpected cwd, pin the project
|
|||
explicitly:
|
||||
|
||||
```bash
|
||||
pyro host connect claude-code --project-path /abs/path/to/repo
|
||||
claude mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --project-path /abs/path/to/repo
|
||||
pyro host connect claude-code --mode cold-start --project-path /abs/path/to/repo
|
||||
claude mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --mode cold-start --project-path /abs/path/to/repo
|
||||
```
|
||||
|
||||
If the local config drifts later:
|
||||
|
||||
```bash
|
||||
pyro host repair claude-code
|
||||
pyro host repair claude-code --mode cold-start
|
||||
```
|
||||
|
||||
Move to `workspace-full` only when the chat truly needs shells, services,
|
||||
|
|
|
|||
|
|
@ -1,18 +1,22 @@
|
|||
# Codex MCP Setup
|
||||
|
||||
Recommended profile: `workspace-core`.
|
||||
Recommended modes:
|
||||
|
||||
- `repro-fix`
|
||||
- `inspect`
|
||||
|
||||
Preferred helper flow:
|
||||
|
||||
```bash
|
||||
pyro host connect codex
|
||||
pyro host doctor
|
||||
pyro host connect codex --mode repro-fix
|
||||
pyro host connect codex --mode inspect
|
||||
pyro host doctor --mode repro-fix
|
||||
```
|
||||
|
||||
Package without install:
|
||||
|
||||
```bash
|
||||
codex mcp add pyro -- uvx --from pyro-mcp pyro mcp serve
|
||||
codex mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --mode repro-fix
|
||||
codex mcp list
|
||||
```
|
||||
|
||||
|
|
@ -22,7 +26,7 @@ from the current checkout automatically.
|
|||
Already installed:
|
||||
|
||||
```bash
|
||||
codex mcp add pyro -- pyro mcp serve
|
||||
codex mcp add pyro -- pyro mcp serve --mode repro-fix
|
||||
codex mcp list
|
||||
```
|
||||
|
||||
|
|
@ -30,14 +34,14 @@ If Codex launches the server from an unexpected cwd, pin the project
|
|||
explicitly:
|
||||
|
||||
```bash
|
||||
pyro host connect codex --project-path /abs/path/to/repo
|
||||
codex mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --project-path /abs/path/to/repo
|
||||
pyro host connect codex --mode repro-fix --project-path /abs/path/to/repo
|
||||
codex mcp add pyro -- uvx --from pyro-mcp pyro mcp serve --mode repro-fix --project-path /abs/path/to/repo
|
||||
```
|
||||
|
||||
If the local config drifts later:
|
||||
|
||||
```bash
|
||||
pyro host repair codex
|
||||
pyro host repair codex --mode repro-fix
|
||||
```
|
||||
|
||||
Move to `workspace-full` only when the chat truly needs shells, services,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
# MCP Client Config Example
|
||||
|
||||
Default for most chat hosts in `4.x`: `workspace-core`.
|
||||
Recommended named modes for most chat hosts in `4.x`:
|
||||
|
||||
- `repro-fix`
|
||||
- `inspect`
|
||||
- `cold-start`
|
||||
- `review-eval`
|
||||
|
||||
Use the host-specific examples first when they apply:
|
||||
|
||||
|
|
@ -10,14 +15,16 @@ Use the host-specific examples first when they apply:
|
|||
|
||||
Preferred repair/bootstrap helpers:
|
||||
|
||||
- `pyro host connect claude-code`
|
||||
- `pyro host connect codex`
|
||||
- `pyro host print-config opencode`
|
||||
- `pyro host doctor`
|
||||
- `pyro host repair opencode`
|
||||
- `pyro host connect codex --mode repro-fix`
|
||||
- `pyro host connect codex --mode inspect`
|
||||
- `pyro host connect claude-code --mode cold-start`
|
||||
- `pyro host connect claude-code --mode review-eval`
|
||||
- `pyro host print-config opencode --mode repro-fix`
|
||||
- `pyro host doctor --mode repro-fix`
|
||||
- `pyro host repair opencode --mode repro-fix`
|
||||
|
||||
Use this generic config only when the host expects a plain `mcpServers` JSON
|
||||
shape.
|
||||
shape or when the named modes are too narrow for the workflow.
|
||||
|
||||
`pyro-mcp` is intended to be exposed to LLM clients through the public `pyro` CLI.
|
||||
|
||||
|
|
@ -28,7 +35,7 @@ Generic stdio MCP configuration using `uvx`:
|
|||
"mcpServers": {
|
||||
"pyro": {
|
||||
"command": "uvx",
|
||||
"args": ["--from", "pyro-mcp", "pyro", "mcp", "serve"]
|
||||
"args": ["--from", "pyro-mcp", "pyro", "mcp", "serve", "--mode", "repro-fix"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -41,7 +48,7 @@ If `pyro-mcp` is already installed locally, the same server can be configured wi
|
|||
"mcpServers": {
|
||||
"pyro": {
|
||||
"command": "pyro",
|
||||
"args": ["mcp", "serve"]
|
||||
"args": ["mcp", "serve", "--mode", "repro-fix"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -51,15 +58,18 @@ If the host does not preserve the server working directory and you want the
|
|||
first `workspace_create` to start from a specific checkout, add
|
||||
`"--project-path", "/abs/path/to/repo"` after `"serve"` in the same args list.
|
||||
|
||||
Profile progression:
|
||||
Mode progression:
|
||||
|
||||
- `workspace-core`: the default and recommended first persistent chat profile
|
||||
- `vm-run`: expose only `vm_run`
|
||||
- `repro-fix`: patch, rerun, diff, export, reset
|
||||
- `inspect`: narrow offline-by-default inspection
|
||||
- `cold-start`: validation plus service readiness
|
||||
- `review-eval`: shell and snapshot-driven review
|
||||
- generic no-mode path: the fallback when the named mode is too narrow
|
||||
- `workspace-full`: explicit advanced opt-in for shells, services, snapshots, secrets, network policy, and disk tools
|
||||
|
||||
Primary profile for most agents:
|
||||
Primary mode for most agents:
|
||||
|
||||
- `workspace-core`
|
||||
- `repro-fix`
|
||||
|
||||
Use lifecycle tools only when the agent needs persistent VM state across multiple tool calls.
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"pyro": {
|
||||
"type": "local",
|
||||
"enabled": true,
|
||||
"command": ["uvx", "--from", "pyro-mcp", "pyro", "mcp", "serve"]
|
||||
"command": ["uvx", "--from", "pyro-mcp", "pyro", "mcp", "serve", "--mode", "repro-fix"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue