feat: Claude Code plugin for local documentation authoring - #74
Conversation
A local agent can verify in ways the Action cannot: run the CLI and compare --help output against docs, build the site, read git history, grep for call sites. The Action can only produce plausible text. This plugin wraps the MCP server and adds an update-docs skill that emphasizes verification (run the tool, diff behavior, build, check samples) rather than just generation. Respects .code-to-docs/style.md and .code-to-docs/ignore so local and CI behavior agree.
|
🤖 Finished Review · ✅ Success · Started 5:58 AM UTC · Completed 6:13 AM UTC Commit: |
ReviewFindingsCritical
High
Medium
Low
Labels: PR introduces a new Claude Code plugin feature with documentation and MCP configuration Next steps:
|
| "mcpServers": { | ||
| "code-to-docs": { | ||
| "command": "uv", | ||
| "args": ["run", "python", "src/mcp_server.py"], |
There was a problem hiding this comment.
[critical] missing-dependency
The MCP server config references src/mcp_server.py, but this file does not exist anywhere in the repository. The plugin is non-functional: launching it will fail with a FileNotFoundError.
Suggested fix: Either (1) add src/mcp_server.py implementing the MCP server (including the find_docs_for_code tool referenced in the skill), or (2) remove the .mcp.json config and document that the MCP server is not yet available.
| - When changing defaults, removing features, or modifying error messages | ||
|
|
||
| ## Steps | ||
|
|
There was a problem hiding this comment.
[medium] nonexistent-api-reference
Step 1 references a find_docs_for_code MCP tool that does not exist anywhere in the codebase. The fallback instruction partially mitigates this.
Suggested fix: Either implement the find_docs_for_code tool, or rewrite step 1 to not reference a specific tool name that does not exist yet.
|
|
||
| ## Configuration | ||
|
|
||
| The plugin respects the same `.code-to-docs/` configuration as the Action: |
There was a problem hiding this comment.
[medium] incorrect-behavior-claim
The README claims the plugin respects .code-to-docs/ignore for file exclusions, but no such feature exists in the codebase.
Suggested fix: Remove the .code-to-docs/ignore reference, or implement the ignore-file feature first.
| follow those conventions. | ||
|
|
||
| 4. **Check ignore list**: If `.code-to-docs/ignore` exists, skip any files that | ||
| match the patterns. |
There was a problem hiding this comment.
[medium] incorrect-behavior-claim
Step 4 instructs users to check .code-to-docs/ignore and skip matching files, but this feature does not exist. The conditional phrasing makes it non-harmful in practice, but it documents a non-existent feature.
Suggested fix: Remove step 4, or implement the .code-to-docs/ignore feature.
| ## Configuration | ||
|
|
||
| The plugin respects the same `.code-to-docs/` configuration as the Action: | ||
|
|
There was a problem hiding this comment.
[low] naming-inconsistency
CLAUDE.md does not mention the .code-to-docs/ configuration directory convention, though it is already used by the Action (in config.py).
Summary
Adds a Claude Code plugin for docs authoring before the PR. New
plugin/directory, nosrc/changes..mcp.json): points to the MCP server insrc/Respects
.code-to-docs/style.mdand.code-to-docs/ignoreso local and CI behavior agree.Test plan
uv run pytest -vpasses (417 tests, no source changes)