diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index ec8c7dc..4e29d19 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,2 +1,3 @@ +{"id":"py-code-mode-0c9","title":"Fix MCP install commands to consistently use --base flag","status":"closed","priority":1,"issue_type":"bug","created_at":"2026-01-02T13:10:43.012292-08:00","created_by":"actae0n","updated_at":"2026-01-02T13:11:47.455148-08:00","closed_at":"2026-01-02T13:11:47.455148-08:00","close_reason":"Fixed: README.md, getting-started.md, dependencies.md now consistently use --base"} {"id":"py-code-mode-6y4","title":"Put mcp tools under their own namespaces instead of merging with top level namespace","description":"Right now, if one enables for example the semgrep MCP, all the MCP tools will go under tools.* namespace; they will not be grouped like tools.semgrep.*; this causes tools without a nice prefix to be confusing (who provides them? what are they for?)","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-02T01:44:05.333773-08:00","created_by":"actae0n","updated_at":"2026-01-02T02:37:35.39444-08:00","closed_at":"2026-01-02T02:37:35.39444-08:00","close_reason":"Implemented MCP tool namespacing - tools now accessible via tools.namespace.tool_name pattern"} {"id":"py-code-mode-y1l","title":"Session API ergonomics: convenience constructors","description":"Improve Session API ergonomics with convenience constructors (from_base, subprocess, inprocess). Make storage param required. Re-export executor types at top level. PR #53.","status":"closed","priority":0,"issue_type":"task","created_at":"2026-01-02T13:04:00.716049-08:00","created_by":"actae0n","updated_at":"2026-01-02T13:04:14.004424-08:00","closed_at":"2026-01-02T13:04:14.004424-08:00","close_reason":"Closed"} diff --git a/README.md b/README.md index b68fabd..31aa414 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ See [Session API](./docs/session-api.md) and [Executors](./docs/executors.md) fo **Also ships as an MCP server for Claude Code:** ```bash -claude mcp add py-code-mode -- uvx --from git+https://github.com/xpcmdshell/py-code-mode.git@v0.9.0 py-code-mode-mcp +claude mcp add py-code-mode -- uvx --from git+https://github.com/xpcmdshell/py-code-mode.git@v0.9.0 py-code-mode-mcp --base ~/.code-mode ``` ## Features diff --git a/docs/dependencies.md b/docs/dependencies.md index d56d8e3..7fba9e7 100644 --- a/docs/dependencies.md +++ b/docs/dependencies.md @@ -94,10 +94,10 @@ When using py-code-mode as an MCP server, dependency tools are available: ```bash # Start with runtime deps enabled (default) -py-code-mode-mcp --storage ~/.code-mode +py-code-mode-mcp --base ~/.code-mode # Start with runtime deps disabled -py-code-mode-mcp --storage ~/.code-mode --no-runtime-deps +py-code-mode-mcp --base ~/.code-mode --no-runtime-deps ``` **Available MCP tools:** diff --git a/docs/getting-started.md b/docs/getting-started.md index cd075a6..016d878 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -17,7 +17,7 @@ uv add git+https://github.com/xpcmdshell/py-code-mode.git@v0.9.0 ```bash claude mcp add -s user py-code-mode \ -- uvx --from git+https://github.com/xpcmdshell/py-code-mode.git@v0.9.0 \ - py-code-mode-mcp --storage ~/.code-mode + py-code-mode-mcp --base ~/.code-mode ``` **Project-scoped installation** (only in the current project): @@ -25,7 +25,7 @@ claude mcp add -s user py-code-mode \ ```bash claude mcp add -s project py-code-mode \ -- uvx --from git+https://github.com/xpcmdshell/py-code-mode.git@v0.9.0 \ - py-code-mode-mcp --storage ./.code-mode + py-code-mode-mcp --base ./.code-mode ``` > **Note:** Without `-s user` or `-s project`, `claude mcp add` defaults to project scope based on your current directory. If you install from `~` without a scope flag, the server only works in that directory. @@ -36,7 +36,7 @@ claude mcp add -s project py-code-mode \ claude mcp list ``` -The storage directory will contain `skills/` and `artifacts/` subdirectories. +The base directory will contain `skills/`, `artifacts/`, and optionally `tools/` subdirectories. ## Your First Session