@alucify/cli 0.6.5 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/cli.js +1590 -1061
  2. package/dist/docs/help/cli/_meta.json +1 -0
  3. package/dist/docs/help/cli/authentication.md +70 -0
  4. package/dist/docs/help/cli/automation.md +72 -0
  5. package/dist/docs/help/cli/commands/_meta.json +1 -0
  6. package/dist/docs/help/cli/commands/add-spec.md +49 -0
  7. package/dist/docs/help/cli/commands/analyze-code.md +54 -0
  8. package/dist/docs/help/cli/commands/analyze-progress.md +73 -0
  9. package/dist/docs/help/cli/commands/analyze-specs.md +60 -0
  10. package/dist/docs/help/cli/commands/capture-intent.md +56 -0
  11. package/dist/docs/help/cli/commands/check.md +49 -0
  12. package/dist/docs/help/cli/commands/context.md +52 -0
  13. package/dist/docs/help/cli/commands/continue.md +40 -0
  14. package/dist/docs/help/cli/commands/enable-disable.md +53 -0
  15. package/dist/docs/help/cli/commands/help.md +30 -0
  16. package/dist/docs/help/cli/commands/mcp-install.md +54 -0
  17. package/dist/docs/help/cli/commands/plan.md +43 -0
  18. package/dist/docs/help/cli/commands/progress.md +58 -0
  19. package/dist/docs/help/cli/commands/status.md +50 -0
  20. package/dist/docs/help/cli/commands/ui.md +50 -0
  21. package/dist/docs/help/cli/commands/usage.md +65 -0
  22. package/dist/docs/help/cli/commands/version.md +66 -0
  23. package/dist/docs/help/cli/installation.md +70 -0
  24. package/dist/docs/help/cli/quickstart.md +75 -0
  25. package/dist/docs/help/cli/ui/_meta.json +1 -0
  26. package/dist/docs/help/cli/ui/ai-coding-risks-tab.md +46 -0
  27. package/dist/docs/help/cli/ui/appgraph-visualizer-tab.md +54 -0
  28. package/dist/docs/help/cli/ui/artifacts-sidebar.md +53 -0
  29. package/dist/docs/help/cli/ui/chat-panel.md +56 -0
  30. package/dist/docs/help/cli/ui/code-analysis-tab.md +36 -0
  31. package/dist/docs/help/cli/ui/dashboard.md +44 -0
  32. package/dist/docs/help/cli/ui/launching.md +46 -0
  33. package/dist/docs/help/cli/ui/requirements-progress-tab.md +49 -0
  34. package/dist/docs/help/cli/ui/settings-tab.md +52 -0
  35. package/dist/docs/help/cli/ui/tech-debt-tab.md +29 -0
  36. package/dist/docs/help/cli/ui/token-usage-tab.md +46 -0
  37. package/dist/docs/help/concepts/_meta.json +1 -0
  38. package/dist/docs/help/concepts/ai-coding-risks.md +50 -0
  39. package/dist/docs/help/concepts/ai-readiness.md +34 -0
  40. package/dist/docs/help/concepts/analysis-modes.md +66 -0
  41. package/dist/docs/help/concepts/appgraph.md +56 -0
  42. package/dist/docs/help/concepts/artifacts-and-specs.md +46 -0
  43. package/dist/docs/help/concepts/authentication-modes.md +68 -0
  44. package/dist/docs/help/concepts/blast-radius.md +37 -0
  45. package/dist/docs/help/concepts/chat-refinement.md +40 -0
  46. package/dist/docs/help/concepts/congruency-coverage-completeness.md +50 -0
  47. package/dist/docs/help/concepts/implementation-progress.md +44 -0
  48. package/dist/docs/help/concepts/intent-capture.md +46 -0
  49. package/dist/docs/help/concepts/tech-debt-analysis.md +65 -0
  50. package/dist/docs/help/concepts/token-usage.md +70 -0
  51. package/dist/docs/help/concepts/versions-and-snapshots.md +57 -0
  52. package/dist/docs/help/concepts/workflow-overview.md +40 -0
  53. package/dist/docs/help/desktop/_meta.json +1 -0
  54. package/dist/docs/help/desktop/installation.md +56 -0
  55. package/dist/docs/help/desktop/keyboard-shortcuts.md +47 -0
  56. package/dist/docs/help/desktop/menu-bar.md +47 -0
  57. package/dist/docs/help/desktop/notifications.md +44 -0
  58. package/dist/docs/help/desktop/quickstart.md +43 -0
  59. package/dist/docs/help/desktop/switching-workspaces.md +39 -0
  60. package/dist/docs/help/desktop/workspace-picker.md +38 -0
  61. package/dist/docs/help/extension/_meta.json +1 -0
  62. package/dist/docs/help/extension/authentication/_meta.json +1 -0
  63. package/dist/docs/help/extension/authentication/api-key-setup.md +47 -0
  64. package/dist/docs/help/extension/authentication/claude-code-setup.md +43 -0
  65. package/dist/docs/help/extension/authentication/signing-in.md +36 -0
  66. package/dist/docs/help/extension/authentication/switching-auth-modes.md +28 -0
  67. package/dist/docs/help/extension/chat/_meta.json +1 -0
  68. package/dist/docs/help/extension/chat/asking-about-your-project.md +39 -0
  69. package/dist/docs/help/extension/code-analysis/_meta.json +1 -0
  70. package/dist/docs/help/extension/code-analysis/analysis-modes.md +63 -0
  71. package/dist/docs/help/extension/code-analysis/running-code-analysis.md +54 -0
  72. package/dist/docs/help/extension/code-analysis/understanding-ai-coding-risks.md +75 -0
  73. package/dist/docs/help/extension/code-analysis/understanding-tech-debt-analysis.md +90 -0
  74. package/dist/docs/help/extension/code-analysis/understanding-the-code-analysis-tab.md +49 -0
  75. package/dist/docs/help/extension/dev-progress/_meta.json +1 -0
  76. package/dist/docs/help/extension/dev-progress/analyzing-commits.md +56 -0
  77. package/dist/docs/help/extension/dev-progress/understanding-the-dev-progress-tab.md +40 -0
  78. package/dist/docs/help/extension/installation.md +34 -0
  79. package/dist/docs/help/extension/intent-capture/_meta.json +1 -0
  80. package/dist/docs/help/extension/intent-capture/enabling-intent-capture.md +40 -0
  81. package/dist/docs/help/extension/intent-capture/understanding-intent-capture.md +40 -0
  82. package/dist/docs/help/extension/quickstart.md +60 -0
  83. package/dist/docs/help/extension/resetting-analysis.md +46 -0
  84. package/dist/docs/help/extension/settings/_meta.json +1 -0
  85. package/dist/docs/help/extension/settings/notification-preferences.md +38 -0
  86. package/dist/docs/help/extension/settings/telemetry.md +45 -0
  87. package/dist/docs/help/extension/spec-analysis/_meta.json +1 -0
  88. package/dist/docs/help/extension/spec-analysis/adding-specs.md +40 -0
  89. package/dist/docs/help/extension/spec-analysis/analyzing-specs.md +60 -0
  90. package/dist/docs/help/extension/spec-analysis/auditing-specs.md +30 -0
  91. package/dist/docs/help/extension/spec-analysis/filtering-and-browsing-specs.md +43 -0
  92. package/dist/docs/help/extension/spec-analysis/generating-specs.md +47 -0
  93. package/dist/docs/help/extension/spec-analysis/refining-specs.md +53 -0
  94. package/dist/docs/help/extension/spec-analysis/understanding-the-spec-analysis-tab.md +55 -0
  95. package/dist/docs/help/extension/token-usage/_meta.json +1 -0
  96. package/dist/docs/help/extension/token-usage/understanding-token-usage.md +64 -0
  97. package/dist/docs/help/extension/token-usage/viewing-token-usage.md +63 -0
  98. package/dist/docs/help/faq.md +128 -0
  99. package/dist/docs/help/getting-started/_meta.json +1 -0
  100. package/dist/docs/help/getting-started/choosing-a-ui.md +60 -0
  101. package/dist/docs/help/getting-started/first-analysis.md +86 -0
  102. package/dist/docs/help/getting-started/installation.md +65 -0
  103. package/dist/docs/help/getting-started/key-concepts.md +73 -0
  104. package/dist/docs/help/getting-started/supported-project-types.md +65 -0
  105. package/dist/docs/help/getting-started/system-requirements.md +61 -0
  106. package/dist/docs/help/integrations/_meta.json +1 -0
  107. package/dist/docs/help/integrations/ci-cd.md +95 -0
  108. package/dist/docs/help/integrations/claude-code-hooks.md +54 -0
  109. package/dist/docs/help/integrations/claude-code.md +123 -0
  110. package/dist/docs/help/integrations/git-hooks.md +64 -0
  111. package/dist/docs/help/mcp-server/_meta.json +1 -0
  112. package/dist/docs/help/mcp-server/quickstart.md +59 -0
  113. package/dist/docs/help/mcp-server/resources/_meta.json +1 -0
  114. package/dist/docs/help/mcp-server/resources/terminology-resource.md +74 -0
  115. package/dist/docs/help/mcp-server/setup.md +75 -0
  116. package/dist/docs/help/mcp-server/tools/_meta.json +1 -0
  117. package/dist/docs/help/mcp-server/tools/coverage-gaps.md +58 -0
  118. package/dist/docs/help/mcp-server/tools/find-similar-context.md +65 -0
  119. package/dist/docs/help/mcp-server/tools/get-analysis.md +54 -0
  120. package/dist/docs/help/mcp-server/tools/get-details.md +48 -0
  121. package/dist/docs/help/mcp-server/tools/impact-analysis.md +49 -0
  122. package/dist/docs/help/mcp-server/tools/implementation-tasks.md +68 -0
  123. package/dist/docs/help/mcp-server/tools/link-node.md +51 -0
  124. package/dist/docs/help/mcp-server/tools/query.md +53 -0
  125. package/dist/docs/help/mcp-server/tools/tools-reference.md +63 -0
  126. package/dist/docs/help/mcp-server/tools/verify-plan.md +82 -0
  127. package/dist/docs/help/mcp-server/tools/version-diff.md +42 -0
  128. package/dist/docs/help/mcp-server/using-with-claude-code.md +72 -0
  129. package/dist/docs/help/reference/_meta.json +1 -0
  130. package/dist/docs/help/reference/alucify-directory.md +86 -0
  131. package/dist/docs/help/reference/file-types-and-formats.md +76 -0
  132. package/dist/docs/help/reference/glossary.md +60 -0
  133. package/dist/docs/help/reference/how-claude-code-integration-works.md +123 -0
  134. package/dist/docs/help/reference/ui-parity-matrix.md +121 -0
  135. package/dist/docs/help/vscode/_meta.json +1 -0
  136. package/dist/docs/help/vscode/advanced/_meta.json +1 -0
  137. package/dist/docs/help/vscode/advanced/congruency-analysis.md +32 -0
  138. package/dist/docs/help/vscode/advanced/coverage-analysis.md +31 -0
  139. package/dist/docs/help/vscode/advanced/developer-mode.md +34 -0
  140. package/dist/docs/help/vscode/advanced/findings-synthesis.md +27 -0
  141. package/dist/docs/help/vscode/advanced/impact-analysis.md +31 -0
  142. package/dist/docs/help/vscode/advanced/reset-extension.md +39 -0
  143. package/dist/docs/help/vscode/appgraph-visualizer/_meta.json +1 -0
  144. package/dist/docs/help/vscode/appgraph-visualizer/filtering-and-search.md +63 -0
  145. package/dist/docs/help/vscode/appgraph-visualizer/navigating-the-graph.md +34 -0
  146. package/dist/docs/help/vscode/appgraph-visualizer/node-details.md +49 -0
  147. package/dist/docs/help/vscode/appgraph-visualizer/opening-the-visualizer.md +33 -0
  148. package/dist/docs/help/vscode/authentication/_meta.json +1 -0
  149. package/dist/docs/help/vscode/authentication/api-key-setup.md +47 -0
  150. package/dist/docs/help/vscode/authentication/claude-code-setup.md +43 -0
  151. package/dist/docs/help/vscode/authentication/signing-in.md +36 -0
  152. package/dist/docs/help/vscode/authentication/switching-auth-modes.md +28 -0
  153. package/dist/docs/help/vscode/chat/_meta.json +1 -0
  154. package/dist/docs/help/vscode/chat/asking-about-your-project.md +39 -0
  155. package/dist/docs/help/vscode/chat/generating-artifacts-in-chat.md +53 -0
  156. package/dist/docs/help/vscode/chat/refining-specs-in-chat.md +47 -0
  157. package/dist/docs/help/vscode/code-analysis/_meta.json +1 -0
  158. package/dist/docs/help/vscode/code-analysis/ai-coding-risks-panel.md +42 -0
  159. package/dist/docs/help/vscode/code-analysis/project-analysis-panel.md +46 -0
  160. package/dist/docs/help/vscode/code-analysis/running-code-analysis.md +54 -0
  161. package/dist/docs/help/vscode/code-analysis/tech-debt-panel.md +27 -0
  162. package/dist/docs/help/vscode/command-palette.md +83 -0
  163. package/dist/docs/help/vscode/dev-progress/_meta.json +1 -0
  164. package/dist/docs/help/vscode/dev-progress/analyzing-commits.md +56 -0
  165. package/dist/docs/help/vscode/dev-progress/progress-panel-actions.md +56 -0
  166. package/dist/docs/help/vscode/dev-progress/understanding-the-dev-progress-tab.md +40 -0
  167. package/dist/docs/help/vscode/installation.md +34 -0
  168. package/dist/docs/help/vscode/intent-capture/_meta.json +1 -0
  169. package/dist/docs/help/vscode/intent-capture/analyzing-intent.md +49 -0
  170. package/dist/docs/help/vscode/intent-capture/enabling-intent-capture.md +40 -0
  171. package/dist/docs/help/vscode/quickstart.md +60 -0
  172. package/dist/docs/help/vscode/resetting-analysis.md +46 -0
  173. package/dist/docs/help/vscode/settings/_meta.json +1 -0
  174. package/dist/docs/help/vscode/settings/advanced-mode.md +53 -0
  175. package/dist/docs/help/vscode/settings/all-settings.md +66 -0
  176. package/dist/docs/help/vscode/settings/auto-analyze-specs.md +43 -0
  177. package/dist/docs/help/vscode/settings/notification-preferences.md +38 -0
  178. package/dist/docs/help/vscode/settings/telemetry.md +45 -0
  179. package/dist/docs/help/vscode/spec-analysis/_meta.json +1 -0
  180. package/dist/docs/help/vscode/spec-analysis/adding-specs.md +40 -0
  181. package/dist/docs/help/vscode/spec-analysis/analyzing-specs.md +60 -0
  182. package/dist/docs/help/vscode/spec-analysis/auditing-specs.md +30 -0
  183. package/dist/docs/help/vscode/spec-analysis/filtering-and-browsing-specs.md +43 -0
  184. package/dist/docs/help/vscode/spec-analysis/generating-specs.md +47 -0
  185. package/dist/docs/help/vscode/spec-analysis/refining-specs.md +53 -0
  186. package/dist/docs/help/vscode/spec-analysis/specifications-panel.md +46 -0
  187. package/dist/docs/help/vscode/status-bar.md +44 -0
  188. package/dist/docs/help/vscode/token-usage/_meta.json +1 -0
  189. package/dist/docs/help/vscode/token-usage/viewing-token-usage.md +63 -0
  190. package/dist/docs/help/vscode/versions/_meta.json +1 -0
  191. package/dist/docs/help/vscode/versions/comparing-versions.md +47 -0
  192. package/dist/docs/help/vscode/versions/deleting-versions.md +44 -0
  193. package/dist/docs/help/vscode/versions/switching-versions.md +43 -0
  194. package/dist/docs/help/vscode/workflow-controls.md +49 -0
  195. package/dist/docs/help/what-is-alucify.md +56 -0
  196. package/dist/mcp-server-vendored.js +28 -28
  197. package/dist/web/app.css +38 -0
  198. package/dist/web/app.js +671 -0
  199. package/dist/web/favicon.png +0 -0
  200. package/dist/web/favicon.svg +7 -0
  201. package/dist/web/index.html +15 -0
  202. package/package.json +1 -1
@@ -0,0 +1,74 @@
1
+ ---
2
+ order: 1
3
+ title: "Terminology Resource"
4
+ description: "The shared glossary that MCP exposes to Claude Code to prevent naming drift."
5
+ ---
6
+
7
+ # Terminology Resource
8
+
9
+ In addition to tools, Alucify's MCP server exposes a **resource** that Claude Code can read: your project's shared terminology glossary.
10
+
11
+ ## What It Is
12
+
13
+ A machine-readable list of the canonical terms, names, and concepts used in your project. It's derived from your [AppGraph](../../concepts/appgraph.md) — every node name, every functional area label, every schema field.
14
+
15
+ ## Why It Matters
16
+
17
+ Terminology drift is one of the top sources of AI coding mistakes. The agent invents a new name (`user_profile`) when your codebase already has one (`UserAccount`) — and now you've got two concepts where there should be one. The terminology resource lets Claude Code see your glossary before generating code or writing docs, so it uses your terms rather than inventing new ones.
18
+
19
+ ## How Claude Code Uses It
20
+
21
+ When a session starts, Claude Code reads the terminology resource as part of its context. You'll see it referenced in the session's resource list. The AI naturally prefers existing terms over new ones when the glossary is available.
22
+
23
+ You can also prompt explicitly:
24
+ > "Check the Alucify terminology before naming the new field."
25
+
26
+ ## Updating the Glossary
27
+
28
+ The glossary is auto-generated from your current AppGraph. To update it:
29
+ - Run any analysis — code, spec, or progress
30
+ - The resource is refreshed on every analysis completion
31
+
32
+ There's no manual "update glossary" step.
33
+
34
+ ## Format
35
+
36
+ The resource content is plain text (structured as an indented outline):
37
+
38
+ ```
39
+ Functional Areas:
40
+ - Authentication
41
+ - SSO
42
+ - Password Reset
43
+ - Payments
44
+ ...
45
+
46
+ Schemas:
47
+ - UserAccount (id, email, created_at)
48
+ - Order (id, user_id, total_cents)
49
+ ...
50
+ ```
51
+
52
+ Claude Code receives this as a single resource body; size scales with your project.
53
+
54
+ ## Toggling the Resource
55
+
56
+ The resource is enabled by default. To disable it (rare — you'd lose terminology grounding):
57
+
58
+ Edit `.mcp.json` in your project root and set:
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "alucify": {
63
+ "env": {
64
+ "ALUCIFY_MCP_TERMINOLOGY": "false"
65
+ }
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## See Also
72
+
73
+ - [`find_similar_context`](../tools/find-similar-context.md) — runtime fuzzy search for near-matches
74
+ - [MCP Server Setup](../setup.md)
@@ -0,0 +1,75 @@
1
+ ---
2
+ order: 2
3
+ title: "Setting Up the MCP Server for Claude Code"
4
+ description: "How to configure the Alucify MCP server so Claude Code can query your project analysis."
5
+ ---
6
+
7
+ # Setting Up the MCP Server for Claude Code
8
+
9
+ There are three ways to set up the MCP server, depending on your needs.
10
+
11
+ ## Option 1: Full Integration (Recommended)
12
+
13
+ ```bash
14
+ alucify enable
15
+ ```
16
+
17
+ This installs:
18
+ - MCP server configuration in `.mcp.json`
19
+ - Claude Code hooks for automatic context injection
20
+ - Project rules in `CLAUDE.md`
21
+ - Git post-commit hook for progress tracking
22
+
23
+ Best for: Teams actively using Alucify for the full workflow.
24
+
25
+ ## Option 2: MCP Server Only (Lightweight)
26
+
27
+ ```bash
28
+ alucify mcp-install
29
+ ```
30
+
31
+ This installs only the MCP server — no hooks, no git integration, no CLAUDE.md changes. A self-contained server file is copied into `.alucify/mcp-server.js` and registered in `.mcp.json`.
32
+
33
+ Optionally add project rules to CLAUDE.md:
34
+
35
+ ```bash
36
+ alucify mcp-install --with-rules
37
+ ```
38
+
39
+ Best for:
40
+ - Read-only access to an existing analysis
41
+ - Teams where one person runs analysis and others just need MCP access
42
+ - The vendored server can be committed to your repo for zero-install team sharing
43
+
44
+ ## Option 3: NPM Package
45
+
46
+ Configure `.mcp.json` manually:
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "alucify": {
52
+ "command": "npx",
53
+ "args": ["@alucify/mcp"]
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ Best for: Manual setup or custom configurations.
60
+
61
+ ## Verifying Setup
62
+
63
+ After setup, start a Claude Code session in your project directory. Ask Claude Code a question about your project (e.g., "What screens exist?"). If the MCP server is working, Claude Code will use the Alucify tools to answer.
64
+
65
+ ## How It Works
66
+
67
+ The MCP server runs as a subprocess communicating with Claude Code via stdio. On each tool call, it reads your latest analysis from `.alucify/` (with 5-second caching for performance). The server is fully read-only — it never modifies your analysis data.
68
+
69
+ ## Removing the MCP Server
70
+
71
+ ```bash
72
+ alucify disable
73
+ ```
74
+
75
+ This removes all integration components but preserves your analysis data in `.alucify/`.
@@ -0,0 +1 @@
1
+ { "title": "Tools", "order": 3, "description": "Reference for all MCP tools available to Claude Code" }
@@ -0,0 +1,58 @@
1
+ ---
2
+ order: 4
3
+ title: "Finding Coverage Gaps"
4
+ description: "How to use the coverage tool to find unimplemented requirements and untested components."
5
+ ---
6
+
7
+ # Finding Coverage Gaps
8
+
9
+ The `get_remaining_work` tool identifies gaps in your project — requirements without implementations, validations without tests, and orphaned components with no cross-type connections.
10
+
11
+ ## What It Does
12
+
13
+ Scans your project analysis to find three types of coverage gaps:
14
+
15
+ 1. **Unimplemented requirements** — Requirements that are still planned or have no implementation status
16
+ 2. **Untested validations** — Acceptance criteria that haven't been verified with tests
17
+ 3. **Orphaned components** — Interfaces, schemas, or logic with no connections to other component types
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Required | Default | Description |
22
+ |-----------|------|----------|---------|-------------|
23
+ | `type` | string | No | `all` | Focus area: `requirements`, `tests`, or `all` |
24
+
25
+ ## What It Returns
26
+
27
+ ### Summary
28
+ - Overall implementation progress percentage
29
+ - Total requirement, validation, and orphaned component counts
30
+
31
+ ### Requirements Section
32
+ - Per-requirement implementation progress (percentage, done/in-progress/total counts)
33
+ - Implementation gap notes for in-progress components — concrete descriptions of what's missing
34
+ - Validation coverage per requirement (tested / total)
35
+ - Sorted by least-complete first, so the most important gaps surface at the top
36
+
37
+ ### Validations Section
38
+ - Total validation count
39
+ - Count that are tested
40
+ - List of untested validations with a summary of their acceptance criteria
41
+
42
+ ### Orphaned Components
43
+ - Lists of interfaces, schemas, and logic components that have no connections to other component types
44
+
45
+ ## Example Use Cases
46
+
47
+ | Question | Parameters |
48
+ |----------|------------|
49
+ | "What requirements haven't been implemented?" | `type: "requirements"` |
50
+ | "What's untested?" | `type: "tests"` |
51
+ | "Show me all coverage gaps" | `type: "all"` (or omit) |
52
+ | "Are there any orphaned components?" | `type: "all"` |
53
+
54
+ ## Notes
55
+
56
+ - Progress is calculated as: `(implemented + in_progress × 0.5) / total`
57
+ - Requirements are sorted by least-complete first to surface the most important gaps
58
+ - Orphaned components are those with no connections to a different component type (e.g., a schema with no connections to any interface or logic)
@@ -0,0 +1,65 @@
1
+ ---
2
+ order: 7
3
+ title: "Finding Similar Concepts"
4
+ description: "How the find_similar_context tool checks for existing terminology in the appgraph."
5
+ ---
6
+
7
+ # Finding Similar Concepts
8
+
9
+ The `find_similar_context` tool searches the appgraph for nodes whose names match a given term. Use it before introducing new domain language in an artifact to check if the concept already exists under a different name.
10
+
11
+ ## What It Does
12
+
13
+ Fuzzy-searches all appgraph node names against your input text using Levenshtein-based string similarity (the same algorithm used during artifact integration). Returns ranked matches above a 0.35 similarity threshold.
14
+
15
+ This prevents the most common congruency issue: terminology drift, where a new artifact calls something "User Profile" when the appgraph already has it as "Account Settings."
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type | Required | Description |
20
+ |-----------|------|----------|-------------|
21
+ | `text` | string | Yes | Candidate term or short phrase to search for |
22
+ | `types` | string[] | No | Filter to specific node types (e.g. `["requirement"]`, `["schema", "interface"]`) |
23
+ | `limit` | number | No | Maximum results to return (default: 5) |
24
+
25
+ ## What It Returns
26
+
27
+ ```json
28
+ {
29
+ "matches": [
30
+ {
31
+ "id": "ns00003",
32
+ "name": "Invoice",
33
+ "type": "schema",
34
+ "similarity": 0.89,
35
+ "summary": "Billing invoice record"
36
+ }
37
+ ]
38
+ }
39
+ ```
40
+
41
+ When no matches meet the threshold:
42
+
43
+ ```json
44
+ {
45
+ "matches": [],
46
+ "no_matches_message": "No similar concepts found; this term is new to the graph."
47
+ }
48
+ ```
49
+
50
+ ## Example Use Cases
51
+
52
+ - **Checking entity naming:** `find_similar_context(text: "user account")` — finds "Account" schema node, confirming the graph calls it "Account" not "User Account"
53
+ - **Checking for duplicate features:** `find_similar_context(text: "export invoices as PDF", types: ["requirement"])` — finds "Export invoices as CSV" story, revealing a sibling feature
54
+ - **Broad terminology check:** `find_similar_context(text: "subscription")` — finds all nodes mentioning subscriptions across types
55
+
56
+ ## Related: Terminology Index Resource
57
+
58
+ The MCP server also exposes an `appgraph://terminology/index` resource — a small JSON document listing the graph's top entity names and existing feature specs. Claude can read this resource for ambient awareness without making individual tool calls. The resource's `usage_hint` field tells Claude when to call `find_similar_context` for deeper lookups.
59
+
60
+ ## Notes
61
+
62
+ - Similarity uses the same Levenshtein-based algorithm as the integration pipeline's `resolveQuickDecisions`, so author-time checks agree with integration-time matching
63
+ - The 0.35 threshold matches `LOW_SIMILARITY_MERGE_THRESHOLD` — below this, matches are too noisy to be useful
64
+ - Read-only — this tool does not modify the appgraph
65
+ - Names are normalized before comparison (lowercased, punctuation removed) so "User-Profile" matches "user profile"
@@ -0,0 +1,54 @@
1
+ ---
2
+ order: 7
3
+ title: "Retrieving Analysis Reports"
4
+ description: "How to use the analysis tool to retrieve congruency, coverage, and quality report summaries."
5
+ ---
6
+
7
+ # Retrieving Analysis Reports
8
+
9
+ The `get_analysis` tool retrieves summaries of your latest analysis reports — congruency, coverage, or quality — along with scores and top issues.
10
+
11
+ ## What It Does
12
+
13
+ Locates the most recent analysis report of the requested type and returns a summary, key scores, and the most important issues found.
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Required | Description |
18
+ |-----------|------|----------|-------------|
19
+ | `report_type` | string | Yes | Type of report: `congruency`, `coverage`, or `quality` |
20
+ | `artifact_name` | string | No | Specific spec name for congruency reports (defaults to the first found) |
21
+
22
+ ## Report Types
23
+
24
+ ### Congruency
25
+ How well a specific spec aligns with your codebase. Returns alignment scores, issues by severity, and the path to the full report.
26
+
27
+ ### Coverage
28
+ Implementation and test coverage across your project. Shows which requirements have implementations and which validations have tests.
29
+
30
+ ### Quality
31
+ A synthesis of findings across all analysis dimensions. Includes priority actions and overall quality assessment.
32
+
33
+ ## What It Returns
34
+
35
+ - **Report existence** — Whether the requested report was found
36
+ - **Summary** — The first ~500 characters of the report
37
+ - **Full report path** — Absolute path to the complete report file for deeper reading
38
+ - **Scores** — Key metric scores from the report
39
+ - **Top issues** — Up to 5 highest-severity issues found
40
+
41
+ ## Example Use Cases
42
+
43
+ | Question | Parameters |
44
+ |----------|------------|
45
+ | "How well does our PRD align with code?" | `report_type: "congruency"` |
46
+ | "What's our test coverage look like?" | `report_type: "coverage"` |
47
+ | "What are the top quality issues?" | `report_type: "quality"` |
48
+ | "Show congruency for api-spec.md" | `report_type: "congruency", artifact_name: "api-spec"` |
49
+
50
+ ## Notes
51
+
52
+ - Returns a graceful "not found" response if the requested report doesn't exist
53
+ - The full report path can be used to read the complete report for more detail
54
+ - Reports are generated during spec analysis — run `analyze-specs` to create them
@@ -0,0 +1,48 @@
1
+ ---
2
+ order: 2
3
+ title: "Getting Detailed Component Info"
4
+ description: "How to retrieve full details for a specific component in your project model."
5
+ ---
6
+
7
+ # Getting Detailed Component Info
8
+
9
+ The `get_context` tool retrieves the full details of a specific component, including its complete description, source references, and connections.
10
+
11
+ ## What It Does
12
+
13
+ Given a component ID, returns all available information about that component — its definition, implementation status, source files, and every other component it connects to.
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Required | Description |
18
+ |-----------|------|----------|-------------|
19
+ | `node_id` | string | Yes | The component ID (e.g., `ni00012`, `ns00003`, `nl00008`, `nr00045`, `nv00023`) |
20
+
21
+ Component IDs are returned by the [query tool](query.md) and other tools. The ID prefix indicates the type:
22
+ - `ni` — Interface
23
+ - `ns` — Schema
24
+ - `nl` — Logic
25
+ - `nr` — Requirement
26
+ - `nv` — Validation
27
+
28
+ ## What It Returns
29
+
30
+ - **All component fields** — Name, description, type, subtype, implementation status
31
+ - **Source references** — Primary source file and additional code references
32
+ - **Grounding information** — How well the component is anchored in specifications
33
+ - **Connected components** — Every component this one connects to, with the relationship type and direction (incoming/outgoing), prioritized by edge type
34
+ - **Type-specific content** — Detailed definitions specific to the component type
35
+ - **Implementation gaps** (requirement nodes only) — Lists unimplemented components, in-progress components with gap notes, and untested validations under this requirement
36
+
37
+ ## Example Use Cases
38
+
39
+ | Question | How Claude Code uses this tool |
40
+ |----------|-------------------------------|
41
+ | "Tell me about the user model" | Queries for "user" → gets ID → calls `get_context` for full details |
42
+ | "What connects to the auth service?" | Gets full node details including all incoming and outgoing connections |
43
+ | "Show me requirement nr00045" | Directly calls `get_context` with the known ID |
44
+
45
+ ## Notes
46
+
47
+ - Use the [query tool](query.md) first to find component IDs, then this tool for full details
48
+ - Returns all connections in both directions (what this component depends on, and what depends on it)
@@ -0,0 +1,49 @@
1
+ ---
2
+ order: 3
3
+ title: "Analyzing Blast Radius from File Changes"
4
+ description: "How to use the impact tool to see which components are affected by file changes."
5
+ ---
6
+
7
+ # Analyzing Blast Radius from File Changes
8
+
9
+ The `trace_dependencies` tool shows the blast radius of file changes — which components are directly affected and what depends on them transitively.
10
+
11
+ ## What It Does
12
+
13
+ Given a list of file paths, finds all project components mapped to those files, then traces outward through dependencies to show the full impact chain (up to 3 hops).
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Required | Description |
18
+ |-----------|------|----------|-------------|
19
+ | `file_paths` | string[] | Yes | File paths relative to your workspace root |
20
+
21
+ ## What It Returns
22
+
23
+ - **Directly affected components** — Components mapped to the changed files, with the reason for the match (source file or code reference)
24
+ - **Blast radius summary** — Counts of direct impacts, transitive impacts, and affected connections
25
+ - `direct` — Components directly mapped to the changed files
26
+ - `transitive` — Components reachable within 3 hops through dependencies
27
+ - `affected_edges` — Total number of connections touching any affected component
28
+
29
+ ## Example Use Cases
30
+
31
+ | Question | Parameters |
32
+ |----------|------------|
33
+ | "What breaks if I change user.ts?" | `file_paths: ["src/models/user.ts"]` |
34
+ | "Impact of my current changes" | `file_paths: ["src/auth.ts", "src/routes/login.ts"]` |
35
+ | "Is it safe to refactor this file?" | `file_paths: ["src/utils/validators.ts"]` |
36
+
37
+ ## How Matching Works
38
+
39
+ The tool matches files to components using both:
40
+ - **Source file** — The primary implementation file of a component
41
+ - **Code references** — Additional files that a component references
42
+
43
+ Path matching is flexible — `src/models/user.ts` will match a component with source file `models/user.ts` and vice versa.
44
+
45
+ ## Notes
46
+
47
+ - Transitive impact uses breadth-first traversal up to 3 hops
48
+ - This is a read-only analysis — no changes are made
49
+ - Use this tool before making cross-cutting changes to understand the full impact chain
@@ -0,0 +1,68 @@
1
+ ---
2
+ order: 5
3
+ title: "Getting Implementation Tasks"
4
+ description: "How to get a per-requirement task list of what needs to be implemented, fixed, or tested."
5
+ ---
6
+
7
+ # Getting Implementation Tasks
8
+
9
+ The `get_implementation_tasks` tool returns a task list for a specific requirement — what components need implementation, which are in-progress with specific gaps, and which validations need tests.
10
+
11
+ ## What It Does
12
+
13
+ Given a requirement ID, returns three categories of work:
14
+
15
+ 1. **Unimplemented components** — Components linked to this requirement that have no implementation yet, with their source files and descriptions
16
+ 2. **In-progress components** — Components with partial implementations, including the specific **implementation gap** describing what's missing (e.g., "has GET handler but missing POST/DELETE branches")
17
+ 3. **Untested validations** — Acceptance criteria under this requirement that don't have test coverage yet, including their Gherkin definitions
18
+
19
+ ## Parameters
20
+
21
+ | Parameter | Type | Required | Description |
22
+ |-----------|------|----------|-------------|
23
+ | `requirement_id` | string | Yes | The requirement node ID (e.g., `nr00012`) |
24
+
25
+ ## What It Returns
26
+
27
+ ```json
28
+ {
29
+ "requirement": "Enforce Delete Permission for Projects & Flows",
30
+ "unimplementedNodes": [
31
+ {
32
+ "id": "nl02136",
33
+ "name": "Delete Permission Enforcement",
34
+ "type": "logic",
35
+ "sourceFile": "src/services/rbac/permissions.py",
36
+ "description": "...",
37
+ "action": "Implement this component"
38
+ }
39
+ ],
40
+ "inProgressNodes": [
41
+ {
42
+ "id": "nl02137",
43
+ "name": "Owner Role Enforcement",
44
+ "type": "logic",
45
+ "sourceFile": "src/models/rbac/model.py",
46
+ "implementationGap": "Missing scope check before mutation",
47
+ "action": "Fix: Missing scope check before mutation"
48
+ }
49
+ ],
50
+ "untestedValidations": [
51
+ {
52
+ "id": "nv00045",
53
+ "name": "AC: Non-owner cannot delete",
54
+ "gherkin": "Given a user with editor role..."
55
+ }
56
+ ]
57
+ }
58
+ ```
59
+
60
+ ## How It's Used
61
+
62
+ The `/alucify-plan` skill calls this tool for every incomplete requirement when building an implementation plan. The gap notes from in-progress components are cited verbatim in the plan, so the coding agent knows exactly what to fix.
63
+
64
+ ## Notes
65
+
66
+ - Returns empty arrays if the requirement is fully implemented and tested
67
+ - Gap notes are produced by the progress analysis classifier — they describe specific missing methods, branches, fields, or checks
68
+ - Use `get_remaining_work` first to find which requirements are incomplete, then this tool for per-requirement detail
@@ -0,0 +1,51 @@
1
+ ---
2
+ order: 8
3
+ title: "Linking Nodes to Files"
4
+ description: "How to link appgraph nodes to their implementation files for progress tracking."
5
+ ---
6
+
7
+ # Linking Nodes to Files
8
+
9
+ The `link_context` tool links an appgraph node to the file that implements it. This is the only MCP tool that modifies the appgraph.
10
+
11
+ ## What It Does
12
+
13
+ Sets the `source_file` and adds to `codeRefs` on the specified node, so Analyze Progress can mechanically match the file to the node in future runs. Without this link, progress tracking relies on LLM-based matching which can miss connections.
14
+
15
+ Linking also promotes the node's implementation status:
16
+ - **Implementation nodes** (interface, schema, logic) with no status or `planned` status are promoted to `in_progress`
17
+ - **Validation nodes** with no status or `planned` status are promoted to `implemented` (linking a test file means the test exists)
18
+ - Nodes that already have a status (`in_progress`, `implemented`) are not changed
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Type | Required | Description |
23
+ |-----------|------|----------|-------------|
24
+ | `node_id` | string | Yes | The appgraph node ID (e.g., `flow:read-permission-enforcement`, `entity:user`) |
25
+ | `file_path` | string | Yes | Relative path to the file that implements this node |
26
+
27
+ ## When to Use It
28
+
29
+ Call this tool **after implementing a node** — right after you create or modify the file that satisfies a spec node. The `/alucify-plan` skill prompts you to do this for every node you implement.
30
+
31
+ ## Example
32
+
33
+ After implementing permission enforcement in `src/services/rbac/permissions.py`:
34
+
35
+ > "Link the read permission enforcement node to its implementation file"
36
+ >
37
+ > Claude calls: `link_context(node_id: "flow:read-permission-enforcement", file_path: "src/services/rbac/permissions.py")`
38
+
39
+ ## What It Returns
40
+
41
+ ```json
42
+ {
43
+ "linked": true,
44
+ "node_id": "flow:read-permission-enforcement",
45
+ "file_path": "src/services/rbac/permissions.py",
46
+ "previous_source_file": null,
47
+ "codeRefs": ["src/services/rbac/permissions.py"]
48
+ }
49
+ ```
50
+
51
+ If the node ID doesn't exist, it returns an error message instead.
@@ -0,0 +1,53 @@
1
+ ---
2
+ order: 1
3
+ title: "Searching Your Project Model"
4
+ description: "How to use the query tool to search for components by type, name, or status."
5
+ ---
6
+
7
+ # Searching Your Project Model
8
+
9
+ The `query_context` tool lets Claude Code search your project for specific components by type, name, status, or subtype.
10
+
11
+ ## What It Does
12
+
13
+ Searches your project analysis and returns compact summaries of matching components — their names, descriptions, implementation status, and source files.
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Required | Default | Description |
18
+ |-----------|------|----------|---------|-------------|
19
+ | `type` | string | No | — | Filter by component type: `interface`, `schema`, `logic`, `requirement`, `validation` |
20
+ | `subtype` | string | No | — | Filter by subtype (e.g., `screen`, `core`, `epic`, `story`) |
21
+ | `name_pattern` | string | No | — | Case-insensitive substring match on component name |
22
+ | `status` | string | No | — | Filter by implementation status: `planned`, `in_progress`, `implemented`, `tested` |
23
+ | `limit` | number | No | 20 | Maximum number of results to return |
24
+
25
+ All filters are combined with AND logic — only components matching all specified criteria are returned.
26
+
27
+ ## What It Returns
28
+
29
+ For each matching component:
30
+ - ID and type
31
+ - Name and description (truncated to 200 characters)
32
+ - Implementation status
33
+ - Implementation gap (for in-progress components — describes what's missing)
34
+ - Source file path
35
+ - Number of connections to other components
36
+
37
+ Results are sorted by number of connections (most connected first).
38
+
39
+ ## Example Use Cases
40
+
41
+ | Question | Parameters |
42
+ |----------|------------|
43
+ | "What screens exist?" | `type: "interface", subtype: "screen"` |
44
+ | "Find anything related to auth" | `name_pattern: "auth"` |
45
+ | "What's still planned?" | `status: "planned"` |
46
+ | "Show me data models" | `type: "schema"` |
47
+ | "What requirements are tested?" | `type: "requirement", status: "tested"` |
48
+
49
+ ## Notes
50
+
51
+ - Claude Code calls this tool automatically when you ask relevant questions
52
+ - This is a read-only operation — it never modifies your analysis
53
+ - The tool queries the latest analysis data (cached for 5 seconds)
@@ -0,0 +1,63 @@
1
+ ---
2
+ order: 1
3
+ title: "Tools Reference"
4
+ description: "Quick reference for every MCP tool Alucify exposes to Claude Code."
5
+ ---
6
+
7
+ # MCP Tools Reference
8
+
9
+ A one-page reference for every tool Alucify's MCP server exposes to Claude Code. Click any tool name for full parameters and examples.
10
+
11
+ ## Querying
12
+
13
+ | Tool | Purpose |
14
+ |---|---|
15
+ | [`query_context`](query.md) | Search nodes by type, subtype, name, status, limit |
16
+ | [`get_context`](get-details.md) | Full details on a single node (by ID) |
17
+ | [`find_similar_context`](find-similar-context.md) | Fuzzy name search (prevents terminology drift) |
18
+
19
+ ## Analysis
20
+
21
+ | Tool | Purpose |
22
+ |---|---|
23
+ | [`trace_dependencies`](impact-analysis.md) | Blast radius — files → affected nodes, 3 hops |
24
+ | [`get_analysis`](get-analysis.md) | Congruency / coverage / quality reports |
25
+ | [`get_remaining_work`](coverage-gaps.md) | Unimplemented requirements, untested validations |
26
+ | [`get_implementation_tasks`](implementation-tasks.md) | Per-requirement task list with gap notes |
27
+
28
+ ## Planning & Validation
29
+
30
+ | Tool | Purpose |
31
+ |---|---|
32
+ | [`verify_plan`](verify-plan.md) | Mechanical checks on a plan (IDs, coverage, drift) |
33
+ | [`diff_context`](version-diff.md) | Diff two AppGraph versions |
34
+
35
+ ## Write (use carefully)
36
+
37
+ | Tool | Purpose |
38
+ |---|---|
39
+ | [`link_context`](link-node.md) | Link a node to an implementation file; promotes status |
40
+
41
+ All tools except `link_context` are read-only. `link_context` writes to the current AppGraph and should be called intentionally — typically when you've just implemented something and want to mark the link.
42
+
43
+ ## Typical Compositions
44
+
45
+ **Understanding impact before a change:**
46
+ 1. `trace_dependencies` on the file(s) you're about to touch
47
+ 2. `get_context` on the returned high-impact nodes
48
+ 3. Proceed with implementation knowing the blast radius
49
+
50
+ **Planning new work:**
51
+ 1. `get_remaining_work` — what's open?
52
+ 2. `get_implementation_tasks` — what does closing each gap look like?
53
+ 3. `verify_plan` — mechanical validation before presenting to the user
54
+
55
+ **Preventing terminology drift:**
56
+ 1. `find_similar_context` on the name you're about to coin
57
+ 2. If a similar node exists, use its exact name rather than creating a duplicate
58
+
59
+ ## See Also
60
+
61
+ - [MCP Server Setup](../setup.md)
62
+ - [Using MCP with Claude Code](../using-with-claude-code.md)
63
+ - [Claude Code Integration](../../integrations/claude-code.md)