From 40e4ed5f6f44ea29ef4cede3b245b219a440ead4 Mon Sep 17 00:00:00 2001 From: Rongzhi Chen Date: Sun, 25 Oct 2026 16:32:45 -0400 Subject: [PATCH 1/2] fix: align MCP documentation checks and README counts --- README.md | 6 +++--- tests/mcp_docs.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6fed66b4f..afb5f4ace 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ established relationships that could lead to false positives. AxiomCode Graph is two parts. The **engine** (`@axiomcode/code-graph` on npm) parses a repository and builds its graph; it also provides the `axiomcode` command and an MCP server. The **plugin** (`plugins/axiomcode/`) is the -agent-facing frontend: a skill, four MCP tools, and hooks. Install the engine first. +agent-facing frontend: a skill, five MCP tools, and hooks. Install the engine first. Requirements: **Node ≥ 22.13** and **Python 3** (`python3`, or `python` / `py` on Windows). On Windows, also [Git for Windows](https://git-scm.com/download/win): the CLI runs under its bash. The engine ships as a prebuilt @@ -139,7 +139,7 @@ your platform. No Soufflé and no compiler are needed, with one exception: > `sudo apt install build-essential python3`. The full `node:*` Docker images already include them. Before every release, the exact packages that ship are installed without Soufflé and run end to end (every CLI verb, -five languages) on macOS arm64 and x64, Linux x64 and arm64, and Windows x64. Check an install with +six language engines, including HTML/CSS) on macOS arm64 and x64, Linux x64 and arm64, and Windows x64. Check an install with `axiomcode --version`. ### Installation @@ -259,7 +259,7 @@ looked up again in the graph before you see it; the `verified:` line is that che ### Support for agents -Every agent below gets the four MCP tools and the skill; the hooks, which keep the graph current and report what an +Every agent below gets the five MCP tools and the skill; the hooks, which keep the graph current and report what an edit breaks, run where the last column says so. No hook annotates the agent's own reads and searches. | Agent | Hooks | diff --git a/tests/mcp_docs.py b/tests/mcp_docs.py index 900924811..42a40d23d 100644 --- a/tests/mcp_docs.py +++ b/tests/mcp_docs.py @@ -26,7 +26,7 @@ [os.path.join(ROOT, 'plugins', 'axiomcode', 'AGENTS.md')] + \ sorted(glob.glob(os.path.join(ROOT, 'plugins', 'axiomcode', 'rules', '*.mdc'))) -VERB = r'(find|impact|path|tests)' +VERB = r'(context|impact|link|path|tests)' # a tool named: a call `impact(`, the Claude Code name mcp__plugin_axiomcode_axiomcode__impact, MCP `impact`, or a command # in backticks (`axiomcode impact x`); `path:line: …` is an answer's shape, not the tool MENTION = re.compile(r'`(?:axiomcode )?' + VERB + r'(?:[ \t][^`\n]*)?`|\bmcp__plugin_axiomcode_axiomcode__' + VERB + r'\b' @@ -130,7 +130,7 @@ def controls(tools): got = len(mismatches(documented(text), fake, 'control')) if got != want: bad.append(f"control {text!r}: {got} mismatch(es), want {want}") - if set(tools) != {'impact', 'path', 'tests'}: + if set(tools) != {'context', 'impact', 'link', 'path', 'tests'}: bad.append(f"the server listed {sorted(tools)}; the MCP tools were not read") return bad From a962c8c8b98950f93c455b45ca6f973f5e5b6645 Mon Sep 17 00:00:00 2001 From: Rongzhi Chen Date: Sun, 25 Oct 2026 16:35:53 -0400 Subject: [PATCH 2/2] chore: bump version to 0.2.1 --- gemini-extension.json | 2 +- package.json | 12 ++++++------ plugins/axiomcode/.claude-plugin/plugin.json | 2 +- plugins/axiomcode/.codex-plugin/plugin.json | 2 +- plugins/axiomcode/.cursor-plugin/plugin.json | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gemini-extension.json b/gemini-extension.json index 4a44f6eae..dad925927 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -1,6 +1,6 @@ { "name": "axiomcode", - "version": "0.2.0", + "version": "0.2.1", "description": "Ask your repository how its code connects: who calls this, what breaks if I change it, which tests an edit reaches, how A reaches B. Answers come from a resolved call graph and are verified against it; nothing is guessed.", "contextFileName": "plugins/axiomcode/AGENTS.md", "mcpServers": { diff --git a/package.json b/package.json index eac44e3dc..17f29b528 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@axiomcode/code-graph", - "version": "0.2.0", + "version": "0.2.1", "description": "AxiomCode Graph: a resolved call graph of your codebase grounded in formal methods, so you and your coding agents can see who calls what, what a change breaks, and which tests it reaches.", "repository": { "type": "git", @@ -31,11 +31,11 @@ ], "license": "FSL-1.1-Apache-2.0", "optionalDependencies": { - "@axiomcode/engine-darwin-arm64": "0.2.0", - "@axiomcode/engine-darwin-x64": "0.2.0", - "@axiomcode/engine-linux-x64": "0.2.0", - "@axiomcode/engine-linux-arm64": "0.2.0", - "@axiomcode/engine-win32-x64": "0.2.0" + "@axiomcode/engine-darwin-arm64": "0.2.1", + "@axiomcode/engine-darwin-x64": "0.2.1", + "@axiomcode/engine-linux-x64": "0.2.1", + "@axiomcode/engine-linux-arm64": "0.2.1", + "@axiomcode/engine-win32-x64": "0.2.1" }, "bin": { "axiomcode": "bin/axiomcode.js" diff --git a/plugins/axiomcode/.claude-plugin/plugin.json b/plugins/axiomcode/.claude-plugin/plugin.json index 917704f8c..7e4ba77b7 100644 --- a/plugins/axiomcode/.claude-plugin/plugin.json +++ b/plugins/axiomcode/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "axiomcode", "description": "Ask your repository how its code connects: who calls this, what breaks if I change it, which tests an edit reaches, how A reaches B. Answers come from a resolved call graph and are verified against it; nothing is guessed.", - "version": "0.2.0", + "version": "0.2.1", "author": { "name": "AxiomCode" } diff --git a/plugins/axiomcode/.codex-plugin/plugin.json b/plugins/axiomcode/.codex-plugin/plugin.json index 82d1aa414..f7780f510 100644 --- a/plugins/axiomcode/.codex-plugin/plugin.json +++ b/plugins/axiomcode/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "axiomcode", - "version": "0.2.0", + "version": "0.2.1", "description": "Ask your repository how its code connects: who calls this, what breaks if I change it, which tests an edit reaches, how A reaches B. Answers come from a resolved call graph and are verified against it; nothing is guessed.", "author": { "name": "AxiomCode", "url": "https://github.com/AxiomCodeAI/axiomcodegraph" }, "homepage": "https://github.com/AxiomCodeAI/axiomcodegraph", diff --git a/plugins/axiomcode/.cursor-plugin/plugin.json b/plugins/axiomcode/.cursor-plugin/plugin.json index 06402050e..ce3908644 100644 --- a/plugins/axiomcode/.cursor-plugin/plugin.json +++ b/plugins/axiomcode/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "axiomcode", - "version": "0.2.0", + "version": "0.2.1", "description": "Ask your repository how its code connects: who calls this, what breaks if I change it, which tests an edit reaches, how A reaches B. Answers come from a resolved call graph and are verified against it; nothing is guessed. Java, TypeScript, Python, JavaScript.", "author": { "name": "AxiomCode" }, "homepage": "https://github.com/AxiomCodeAI/axiomcodegraph",