@aidemd-mcp/server 0.2.3 → 0.3.0
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.
- package/.aide/docs/.aide +2 -0
- package/.aide/docs/plan.aide +2 -0
- package/.aide/intent.aide +2 -0
- package/.aide/plan.aide +91 -160
- package/.aide/readme.aide +338 -0
- package/.aide/todo.aide +26 -35
- package/.claude/.aide +4 -4
- package/.claude/agents/aide/aide-explorer.md +63 -0
- package/.claude/agents/aide/aide-spec-writer.md +2 -0
- package/.claude/skills/brain/.aide +4 -2
- package/.claude/skills/brain/plan.aide +2 -0
- package/README.md +142 -31
- package/dist/cli/App/index.js +22 -13
- package/dist/cli/DetailPanel/index.d.ts +8 -4
- package/dist/cli/DetailPanel/index.js +24 -4
- package/dist/cli/DetailPanel/renderPlanDetail/index.d.ts +20 -0
- package/dist/cli/DetailPanel/renderPlanDetail/index.js +30 -0
- package/dist/cli/DetailPanel/renderPlanDetail/parsePlanItems/index.d.ts +32 -0
- package/dist/cli/DetailPanel/renderPlanDetail/parsePlanItems/index.js +80 -0
- package/dist/cli/DetailPanel/renderTodoDetail/index.d.ts +17 -0
- package/dist/cli/DetailPanel/renderTodoDetail/index.js +19 -0
- package/dist/cli/DetailPanel/renderTodoDetail/parseTodoItems/index.d.ts +26 -0
- package/dist/cli/DetailPanel/renderTodoDetail/parseTodoItems/index.js +48 -0
- package/dist/cli/TreePanel/index.js +36 -8
- package/dist/tools/discover/buildAncestorChain/index.js +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/util/scan/index.d.ts +3 -1
- package/dist/util/scan/index.js +38 -1
- package/package.json +1 -1
package/.aide/docs/.aide
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
scope: .aide/docs
|
|
3
|
+
description: >
|
|
4
|
+
Spec for the canonical AIDE methodology docs — governs adding the References section so synthesis agents leave auditable breadcrumb trails.
|
|
3
5
|
status: aligned
|
|
4
6
|
intent: >
|
|
5
7
|
Add a References section to the AIDE spec template and methodology so the
|
package/.aide/docs/plan.aide
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
+
description: >
|
|
3
|
+
Plan to add the References body section to the AIDE template, spec doc, and synthesis agent instructions.
|
|
2
4
|
intent: >
|
|
3
5
|
Add a References section to the AIDE methodology so the synthesis agent
|
|
4
6
|
leaves a traceable breadcrumb trail of which brain notes informed each
|
package/.aide/intent.aide
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
scope: .
|
|
3
|
+
description: >
|
|
4
|
+
Canonical home of the AIDE methodology and the MCP server that delivers it — single source of truth for every downstream host project.
|
|
3
5
|
intent: >
|
|
4
6
|
This repository is the canonical home of the AIDE methodology — Autonomous
|
|
5
7
|
Intent-Driven Engineering, with a deliberate second reading as AI Domain
|
package/.aide/plan.aide
CHANGED
|
@@ -1,169 +1,100 @@
|
|
|
1
1
|
---
|
|
2
|
+
description: >
|
|
3
|
+
Plan to rewrite README.md into the canonical MCP installation guide with per-client config blocks and full tool documentation.
|
|
2
4
|
intent: >
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
re-alignment document, and discover tags including [plan].
|
|
5
|
+
Rewrite README.md to match the readme.aide spec — quick-install via
|
|
6
|
+
npx @aidemd-mcp/server init as recommended primary path, per-client manual
|
|
7
|
+
config blocks as fallback, full tool parameter documentation, badges,
|
|
8
|
+
features list, post-install block, and npm-safe rendering throughout.
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
## Plan
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
`{ canonical: "plan-aide", hostFilename: "plan-aide.md" }` and
|
|
83
|
-
`{ canonical: "todo-aide", hostFilename: "todo-aide.md" }`.
|
|
84
|
-
These go after the existing `automated-qa` entry and before the closing
|
|
85
|
-
bracket. Keep insertion order matching the hub index reading order.
|
|
86
|
-
|
|
87
|
-
- [x] **Step 6 — src/tools/init/scaffoldCommands/index.ts: add synthesize command
|
|
88
|
-
and /aide orchestrator.**
|
|
89
|
-
6a. COMMANDS array (lines 30-37): add the synthesize phase command entry:
|
|
90
|
-
`{ canonical: "commands/aide/synthesize", hostPath: "aide/synthesize.md", displayName: "aide:synthesize" }`.
|
|
91
|
-
Insert it between the `spec` entry and the `plan` entry to match pipeline
|
|
92
|
-
order: research, spec, synthesize, plan, build, qa, fix.
|
|
93
|
-
6b. Add the `/aide` orchestrator command entry:
|
|
94
|
-
`{ canonical: "commands/aide/aide", hostPath: "aide.md", displayName: "aide" }`.
|
|
95
|
-
**Important**: the orchestrator's `hostPath` is `"aide.md"` (at the command
|
|
96
|
-
directory root), NOT `"aide/aide.md"` (inside the subfolder). It is a peer
|
|
97
|
-
of the `aide/` subfolder. Place it as the first entry in the COMMANDS array
|
|
98
|
-
so it is installed and reported before the seven phase commands.
|
|
99
|
-
6c. Update the JSDoc comment on lines 9-25: change "six AIDE pipeline slash
|
|
100
|
-
commands" to "seven AIDE pipeline phase commands plus the /aide orchestrator
|
|
101
|
-
entry point". Explain that the orchestrator is installed as `aide.md` at
|
|
102
|
-
the command directory root (a peer of `aide/`), while phase commands go
|
|
103
|
-
inside `aide/`. Update any references to "six" or "six-phase cap" to
|
|
104
|
-
reflect the new count.
|
|
105
|
-
|
|
106
|
-
- [x] **Step 7 — src/index.ts: update stale tool description strings.**
|
|
107
|
-
7a. `aide_discover` description (lines 34-35): where it lists file types,
|
|
108
|
-
add the plan.aide type. The current text lists four types (.aide, intent.aide,
|
|
109
|
-
research.aide, todo.aide). Add between research.aide and todo.aide:
|
|
110
|
-
`- plan.aide -- Architect's implementation plan. Checkboxed steps for the implementor.`
|
|
111
|
-
Also update the count text from "File types:" (which implies four) to
|
|
112
|
-
explicitly name all five. Update the description of todo.aide from
|
|
113
|
-
"QA checklist. Issues found by audit agents." to
|
|
114
|
-
"QA re-alignment document. Captures where implementation drifted from intent."
|
|
115
|
-
7b. `aide_read` description (line 50): change the parenthetical
|
|
116
|
-
`(intent/research/todo)` to `(intent/research/plan/todo)`.
|
|
117
|
-
7c. `aide_scaffold` description (lines 64-65): add `plan` to the Types list.
|
|
118
|
-
Add a line: `- plan -- Architect's implementation plan (no naming interaction
|
|
119
|
-
with intent/research)`. Also update the todo description from
|
|
120
|
-
"QA checklist for audit agents" to
|
|
121
|
-
"QA re-alignment document for QA agents".
|
|
122
|
-
Update the Zod enum in the inputSchema (line 75) from
|
|
123
|
-
`["intent", "research", "both", "todo"]` to
|
|
124
|
-
`["intent", "research", "both", "todo", "plan"]`.
|
|
125
|
-
7d. `aide_init` description (lines 98-99): update the text that says
|
|
126
|
-
"scaffolds slash commands for every pipeline phase (research, spec, plan,
|
|
127
|
-
build, QA, fix)" to include synthesize:
|
|
128
|
-
"scaffolds slash commands for every pipeline phase (research, spec,
|
|
129
|
-
synthesize, plan, build, QA, fix) plus the /aide orchestrator entry point".
|
|
130
|
-
Also ensure the methodology doc hub description mentions "seven canonical
|
|
131
|
-
methodology docs" (not five or six). Update "six pipeline slash commands"
|
|
132
|
-
references to "seven pipeline phase commands plus the /aide orchestrator".
|
|
13
|
+
### 1. Write the complete README.md
|
|
14
|
+
|
|
15
|
+
Read: `coding-playbook/foundations/conventions`
|
|
16
|
+
|
|
17
|
+
This is a single-file documentation rewrite. The entire README is one cohesive
|
|
18
|
+
document where every section references and flows into the next. It cannot be
|
|
19
|
+
split across agents — section order, cross-references, and consistent voice
|
|
20
|
+
require a single pass. The implementor writes the full file using the structure
|
|
21
|
+
below, sourced entirely from the spec and the tool definitions in source.
|
|
22
|
+
|
|
23
|
+
**Read before writing:**
|
|
24
|
+
- The full spec at `.aide/readme.aide` (strategy, good/bad examples, all conventions)
|
|
25
|
+
- The tool definitions in `src/index.ts` lines 46-167 (exact parameter names, types, required/optional, enum values, descriptions)
|
|
26
|
+
- The current `README.md` (to understand what exists and what must change)
|
|
27
|
+
|
|
28
|
+
**Section order** (canonical MCP README order per spec):
|
|
29
|
+
|
|
30
|
+
- [x] 1a. **H1 + badges + description.** H1 is `# @aidemd-mcp/server`. Badges on the next line: npm version badge linking to npmjs.com/package/@aidemd-mcp/server, MIT license badge linking to opensource.org/licenses/MIT. Use shields.io badge URLs from the spec's good example. Description paragraph below badges — names the value (intent-driven specs next to code), not the mechanism (teaching). Must work as npm subtitle.
|
|
31
|
+
|
|
32
|
+
- [x] 1b. **Features bullet list.** H2 `## Features`. Three to five bullets naming capabilities from the user's perspective. No "What is AIDE?" explainer, no file-type table. Capabilities to highlight: project-wide spec discovery with progressive disclosure tree, one-command project bootstrap (`aide_init`), automatic naming convention enforcement, health-check validation for spec hygiene, upgrade drift detection for methodology artifacts. Keep each bullet to one line.
|
|
33
|
+
|
|
34
|
+
- [x] 1c. **Installation section with quick-install primary path and per-client manual fallback.** H2 `## Installation`.
|
|
35
|
+
|
|
36
|
+
**Quick Start (recommended) — lead the section with this.** Open with an H3 `### Quick Start (Claude Code)`. One sentence explaining this is the fastest path: a single npx command that wires everything up. Show the command in a bash code block:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
npx @aidemd-mcp/server init
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Below the code block, add a brief explanation of what the command does (three bullet points):
|
|
43
|
+
- Merges the AIDE MCP server entry into `.mcp.json` (creates or skips if already present)
|
|
44
|
+
- Writes the `/aide:init` slash command to `.claude/commands/aide/init.md` (skips if exists)
|
|
45
|
+
- Writes the `aide-tree` launcher to `.aide/bin/aide-tree.mjs` (skips if exists)
|
|
46
|
+
|
|
47
|
+
End with a one-liner: "All operations are idempotent — safe to re-run at any time." Then a transition sentence: "After running, open Claude Code and run `/aide:init` to complete setup."
|
|
48
|
+
|
|
49
|
+
**Manual Configuration (other clients or manual setup) — follows the quick-start.** Add an H3 `### Manual Configuration`. Open with a one-sentence intro: "If you use a client other than Claude Code, or prefer to configure manually, add the server entry to your client's MCP config file." Then one H4 per client, each with a copy-pasteable config block. Every block uses `npx -y @aidemd-mcp/server@latest`. Clients to cover in this order:
|
|
50
|
+
|
|
51
|
+
- **Claude Code** (H4) — CLI command (`claude mcp add aide npx -- -y @aidemd-mcp/server@latest`) plus `.mcp.json` JSON block with `"mcpServers"` root key. Note that the Quick Start command above handles this automatically.
|
|
52
|
+
- **Claude Desktop** (H4) — JSON block with `"mcpServers"` root key. Show both macOS (`~/Library/Application Support/Claude/claude_desktop_config.json`) and Windows (`%APPDATA%\Claude\claude_desktop_config.json`) config file paths above the block. Add a `> [!NOTE]` callout about PATH: Claude Desktop does not inherit the terminal PATH, so nvm/Homebrew users must use `which npx` to find the absolute path and replace `"npx"` with it. Add a one-line note that Claude Desktop requires a full quit-and-reopen after config changes.
|
|
53
|
+
- **Cursor** (H4) — JSON block with `"mcpServers"` root key. Note config file path (`~/.cursor/mcp.json`).
|
|
54
|
+
- **VS Code / Copilot** (H4) — JSON block with `"servers"` root key (NOT `"mcpServers"`). Note config file path (`.vscode/mcp.json`).
|
|
55
|
+
- **Windsurf** (H4) — JSON block with `"mcpServers"` root key. Note config file path (`~/.windsurf/mcp.json`).
|
|
56
|
+
|
|
57
|
+
All JSON blocks show the same server entry structure: `"command": "npx"`, `"args": ["-y", "@aidemd-mcp/server@latest"]`.
|
|
58
|
+
|
|
59
|
+
- [x] 1d. **Tools section with full parameter documentation.** H2 `## Tools`. One H3 per tool in lifecycle order: `aide_discover`, `aide_read`, `aide_scaffold`, `aide_validate`, `aide_init`, `aide_upgrade`. Each tool gets:
|
|
60
|
+
- Imperative one-sentence description (condensed from the tool `description` in `src/index.ts`)
|
|
61
|
+
- `**Inputs:**` bulleted list with backtick param name, (type), optional/required marker, and description
|
|
62
|
+
- Source all parameter details exactly from `inputSchema` in `src/index.ts` — do not invent parameters or omit any
|
|
63
|
+
|
|
64
|
+
Tool parameters to document (extracted from `src/index.ts`):
|
|
65
|
+
- `aide_discover`: `path` (string, optional) — subdirectory to drill into
|
|
66
|
+
- `aide_read`: `path` (string, required) — path to the .aide file
|
|
67
|
+
- `aide_scaffold`: `directory` (string, required), `type` (string, required — enum: intent, research, both, todo, plan)
|
|
68
|
+
- `aide_validate`: `path` (string, optional) — subdirectory to validate
|
|
69
|
+
- `aide_init`: `framework` (string, optional — enum: claude, cursor, windsurf, copilot), `path` (string, optional), `category` (string, optional — enum: framework, methodology, commands, agents, skills, mcp, brain, ide), `brainPath` (string, optional)
|
|
70
|
+
- `aide_upgrade`: `framework` (string, optional — enum: claude, cursor, windsurf, copilot), `path` (string, optional), `category` (string, optional — enum: pointer-stub, methodology-docs, version-metadata, commands, agents, skills, mcp, ide)
|
|
71
|
+
|
|
72
|
+
- [x] 1e. **Getting Started (post-install) block.** H2 `## Getting Started`. Short block telling the developer to run `aide_init` after adding the server, then try a concrete action. Use the spec's good example as the baseline.
|
|
73
|
+
|
|
74
|
+
- [x] 1f. **Development section.** H2 `## Development`. Three commands in a single code block: `npm install`, `npm run build`, `npm test`. Nothing else.
|
|
75
|
+
|
|
76
|
+
- [x] 1g. **License line.** H2 `## License`. One line: `MIT` — linked to the LICENSE file using an absolute GitHub URL (`https://github.com/aidemd-mcp/server/blob/main/LICENSE`).
|
|
77
|
+
|
|
78
|
+
**Rendering rules** (apply throughout all sections):
|
|
79
|
+
- No `<details>`/`<summary>` tags anywhere
|
|
80
|
+
- All cross-repo links use absolute GitHub URLs (base: `https://github.com/aidemd-mcp/server`)
|
|
81
|
+
- `> [!NOTE]` callouts are acceptable (degrade to blockquotes on npm)
|
|
82
|
+
- No relative links to files within the repo
|
|
133
83
|
|
|
134
84
|
## Decisions
|
|
135
85
|
|
|
136
|
-
**
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
**PLAN_TEMPLATE follows the plan.aide spec format, not the intent template format.**
|
|
152
|
-
The plan.aide canonical spec defines frontmatter with `intent` only, plus
|
|
153
|
-
`## Plan` and `## Decisions` body sections. The scaffold template mirrors this
|
|
154
|
-
structure with empty placeholders, same as the TODO_TEMPLATE mirrors the todo
|
|
155
|
-
format.
|
|
156
|
-
|
|
157
|
-
**No changes to aide_validate or aide_read.** Both tools work off the
|
|
158
|
-
AideFileType union and classifyFile, which are being updated in steps 1-2.
|
|
159
|
-
They will automatically handle plan.aide files once the type system includes
|
|
160
|
-
"plan". No tool-specific changes needed.
|
|
161
|
-
|
|
162
|
-
**The "commands/aide/aide" canonical name uses `aide` as both namespace and
|
|
163
|
-
basename.** This looks redundant but is mechanically correct: the canonical
|
|
164
|
-
name prefix `commands/aide/` means "lives under .claude/commands/aide/" in
|
|
165
|
-
the repo, and `aide` is the bare filename. The hostPath `aide.md` (without
|
|
166
|
-
the `aide/` prefix) is what places it at the command directory root on the
|
|
167
|
-
host side. The asymmetry between canonical path and host path is intentional
|
|
168
|
-
— the canonical source lives inside the aide/ folder in the repo, but the
|
|
169
|
-
host install places it as a peer of that folder.
|
|
86
|
+
1. **Single step with lettered sub-steps.** The README is one file where every section depends on the overall structure, voice, and cross-references. Splitting into multiple agents would create inconsistency in tone, duplicate header work, or miss section flow. Lettered sub-steps let one agent write top-to-bottom while the plan still specifies each section's requirements independently.
|
|
87
|
+
|
|
88
|
+
2. **No deep playbook dive for documentation.** The coding playbook governs code conventions, not prose documentation. The `foundations/conventions` note is included in the Read list for general naming/style awareness, but the spec itself (`readme.aide`) is the authoritative source for every README decision — section order, badge selection, config block format, tool documentation format, rendering constraints. The spec's strategy section is unusually detailed and research-backed; the plan defers to it entirely.
|
|
89
|
+
|
|
90
|
+
3. **Parameters sourced from `src/index.ts`, not current README.** The current README has incomplete and outdated parameter lists (missing `plan` type in scaffold enum, missing `aide_upgrade` tool entirely, missing `category`/`brainPath` params on `aide_init`). The plan instructs the implementor to source all parameters from the `inputSchema` definitions in `src/index.ts` lines 46-167, which are the canonical source of truth.
|
|
91
|
+
|
|
92
|
+
4. **VS Code uses `"servers"` root key.** Per the spec's research, VS Code/Copilot uses `"servers"` not `"mcpServers"`. This is the number one silent failure mode for cross-client config blocks. The plan calls this out explicitly.
|
|
93
|
+
|
|
94
|
+
5. **`@latest` pinning in all config blocks.** Bare package names serve stale cached versions. Every config block uses `@aidemd-mcp/server@latest` with the `-y` flag to prevent npx from hanging in non-interactive contexts like Claude Desktop's process spawner.
|
|
95
|
+
|
|
96
|
+
6. **PATH callout as `> [!NOTE]`, not `<details>`.** The spec requires the PATH troubleshooting to be visible on both GitHub and npm. GitHub `> [!NOTE]` renders as a styled callout and degrades to a plain blockquote on npm — both are readable. `<details>` would hide it on npm.
|
|
97
|
+
|
|
98
|
+
7. **Quick-install command leads the Installation section.** `npx @aidemd-mcp/server init` is the recommended primary path because it eliminates three manual steps (MCP config, slash command, aide-tree) with a single idempotent command. It is scoped to Claude Code users — the primary audience per the spec's v1 scope note. The per-client manual config blocks move under a "Manual Configuration" H3 as the fallback for non-Claude-Code clients or users who prefer manual setup. This preserves all existing installation guidance while reducing time-to-value for the majority audience.
|
|
99
|
+
|
|
100
|
+
8. **H3/H4 nesting for Installation.** Quick Start and Manual Configuration are H3s under the Installation H2. Individual clients under Manual Configuration are H4s. This keeps the Installation section scannable — a user on Claude Code sees the quick-start immediately and never needs to scroll past five client blocks. A user on Cursor jumps to Manual Configuration and finds their H4.
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
---
|
|
2
|
+
scope: README.md
|
|
3
|
+
description: >
|
|
4
|
+
Spec for the @aidemd-mcp/server README — the primary conversion surface
|
|
5
|
+
on GitHub and npm that must turn visitors into installed users.
|
|
6
|
+
intent: >
|
|
7
|
+
The README is the single document that serves both GitHub repository
|
|
8
|
+
visitors and npm package page visitors. Its job is to convert a developer
|
|
9
|
+
who has heard of AIDE or stumbled on the package into an active user who
|
|
10
|
+
has the MCP server running in their IDE within five minutes. It must
|
|
11
|
+
communicate what the server does, how to install it in every supported
|
|
12
|
+
client, and what tools it provides — in that order, with no friction
|
|
13
|
+
that sends the visitor elsewhere for answers. The README is not a
|
|
14
|
+
methodology tutorial or a marketing page; it is a self-contained
|
|
15
|
+
installation guide with enough context to justify the install.
|
|
16
|
+
outcomes:
|
|
17
|
+
desired:
|
|
18
|
+
- A developer on any supported MCP client (Claude Code, Claude Desktop,
|
|
19
|
+
Cursor, VS Code / Copilot, Windsurf) finds a copy-pasteable config
|
|
20
|
+
block for their specific client, with the correct JSON root key, the
|
|
21
|
+
correct config file path, and @latest version pinning — no translation
|
|
22
|
+
from another client's example required.
|
|
23
|
+
- The tools section documents every tool with full parameter lists in
|
|
24
|
+
the canonical MCP README format (H3 per tool, imperative description,
|
|
25
|
+
bulleted Inputs with name/type/optional markers), so a developer
|
|
26
|
+
evaluating the server knows exactly what capabilities they get before
|
|
27
|
+
installing.
|
|
28
|
+
- A developer who has never heard of AIDE understands what the server
|
|
29
|
+
does and why it matters within the first two sentences — the title
|
|
30
|
+
line and description paragraph carry the pitch, not a separate
|
|
31
|
+
"What is AIDE?" explainer section.
|
|
32
|
+
- The README renders correctly on both GitHub and the npm package page,
|
|
33
|
+
avoiding constructs that break on npm (details/summary for critical
|
|
34
|
+
content, relative links, hover-only interactions).
|
|
35
|
+
- A post-install "what happens next" block gives the developer a
|
|
36
|
+
concrete first action to take inside their agent, closing the gap
|
|
37
|
+
between install and first value.
|
|
38
|
+
undesired:
|
|
39
|
+
- "A config block that shows one client's format and expects users of
|
|
40
|
+
other clients to translate — the #1 documented friction source in
|
|
41
|
+
MCP server READMEs (mcp-readme-conventions research)."
|
|
42
|
+
- A tool list without parameter documentation, forcing the developer
|
|
43
|
+
to install the server just to discover what inputs each tool accepts.
|
|
44
|
+
- A README that teaches the full AIDE methodology instead of focusing
|
|
45
|
+
on what the MCP server does and how to install it. The methodology
|
|
46
|
+
docs are delivered by aide_init; the README's job is to get the user
|
|
47
|
+
to that point, not to replace it.
|
|
48
|
+
- Content hidden inside details/summary tags that renders on GitHub
|
|
49
|
+
but is invisible or broken on the npm package page.
|
|
50
|
+
- A config block using a bare package name without @latest, which
|
|
51
|
+
silently serves a stale cached version to users who have previously
|
|
52
|
+
installed any version.
|
|
53
|
+
- "A PATH-troubleshooting gap: omitting the nvm/Homebrew PATH failure
|
|
54
|
+
mode for Claude Desktop, which is the single most common MCP install
|
|
55
|
+
failure and silently loses users who blame themselves and give up."
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Context
|
|
59
|
+
|
|
60
|
+
The README serves two overlapping audiences arriving from two surfaces.
|
|
61
|
+
GitHub visitors are evaluating whether to adopt the tool — they scan the
|
|
62
|
+
repo, read the README top-to-bottom, and decide. npm visitors land on the
|
|
63
|
+
package page after finding `@aidemd-mcp/server` in search results or a
|
|
64
|
+
link — they see the README rendered by npm's markdown engine, which
|
|
65
|
+
supports less than GitHub (no collapsible details for critical content, no
|
|
66
|
+
relative links, degraded callout styling). Both audiences need the same
|
|
67
|
+
core information: what the server does, how to install it in their specific
|
|
68
|
+
client, and what tools it provides. Neither audience wants a methodology
|
|
69
|
+
tutorial — that is what `aide_init` delivers after the install.
|
|
70
|
+
|
|
71
|
+
The MCP ecosystem has a specific install friction profile. Each client
|
|
72
|
+
stores its config in a different file at a different path, and VS Code
|
|
73
|
+
uses a different JSON root key (`"servers"`) than every other client
|
|
74
|
+
(`"mcpServers"`). Users who copy a config block for the wrong client get
|
|
75
|
+
a silent failure. Claude Desktop has an additional failure mode: it does
|
|
76
|
+
not inherit the terminal's PATH, so users with nvm or Homebrew Node
|
|
77
|
+
installations get "command not found" errors that are never explained in
|
|
78
|
+
most MCP server READMEs. These are the documented friction points the
|
|
79
|
+
README must address head-on.
|
|
80
|
+
|
|
81
|
+
The server currently ships six tools (`aide_discover`, `aide_read`,
|
|
82
|
+
`aide_scaffold`, `aide_validate`, `aide_init`, `aide_upgrade`) plus a
|
|
83
|
+
`plan.aide` file type. With six tools, full parameter documentation is
|
|
84
|
+
feasible and preferred over a summary list — the tool count is small
|
|
85
|
+
enough that every parameter can be documented without the README becoming
|
|
86
|
+
unwieldy. This is the recommendation from the tool documentation research
|
|
87
|
+
for servers with ten or fewer tools.
|
|
88
|
+
|
|
89
|
+
## Strategy
|
|
90
|
+
|
|
91
|
+
**Lead with a one-line description that names the value, not the
|
|
92
|
+
mechanism.** The H1 title is the package name; the line immediately below
|
|
93
|
+
it says what the server does for the developer, not how it works
|
|
94
|
+
internally. The current README opens with "MCP server that teaches any
|
|
95
|
+
agent the AIDE methodology" — this is close but should be tightened to
|
|
96
|
+
name the outcome (intent-driven specs next to code) rather than the
|
|
97
|
+
mechanism (teaching). The description must work as the npm package
|
|
98
|
+
subtitle, which is the only text a developer sees in search results
|
|
99
|
+
before clicking through (npm badge research).
|
|
100
|
+
|
|
101
|
+
**Badges signal legitimacy and version currency.** Place npm version and
|
|
102
|
+
MIT license badges immediately below the H1, before the description. Add
|
|
103
|
+
npm weekly downloads once the package has meaningful traction. Skip CI/build
|
|
104
|
+
badges — no MCP server README in the research corpus uses them, and the
|
|
105
|
+
audience does not expect them. A Smithery registry badge is worth adding
|
|
106
|
+
once the package is listed there, as it is a recognized quality signal in
|
|
107
|
+
the MCP ecosystem (mcp-readme-npm-badges research).
|
|
108
|
+
|
|
109
|
+
**Use a brief features bullet list, not a "What is AIDE?" section.** The
|
|
110
|
+
current README has a "What is AIDE?" section with a file-type table that
|
|
111
|
+
front-loads methodology detail before the install instructions. This
|
|
112
|
+
violates the canonical MCP README section order, which puts features
|
|
113
|
+
(brief) before installation (detailed). Replace the explainer with a
|
|
114
|
+
three-to-five-bullet feature list that names capabilities from the user's
|
|
115
|
+
perspective: project-wide spec discovery, one-command bootstrap, naming
|
|
116
|
+
convention enforcement, health-check validation, upgrade drift detection.
|
|
117
|
+
The file-type table belongs in the methodology docs that `aide_init`
|
|
118
|
+
installs, not in the README (mcp-readme-conventions research, section
|
|
119
|
+
order finding).
|
|
120
|
+
|
|
121
|
+
**Show a separate config block per client, not one block with a
|
|
122
|
+
footnote.** Use Pattern A from the conventions research: one H3 per
|
|
123
|
+
client under the Installation H2, each with its own copy-pasteable JSON
|
|
124
|
+
block showing the correct root key, the correct config file path, and
|
|
125
|
+
`@latest` version pinning. The clients to cover are Claude Code (CLI
|
|
126
|
+
command and .mcp.json), Claude Desktop (Mac and Windows paths), Cursor,
|
|
127
|
+
VS Code / Copilot (noting the `"servers"` root key difference), and
|
|
128
|
+
Windsurf. This is the largest section of the README and the most visited
|
|
129
|
+
— every character must be copy-pasteable without modification
|
|
130
|
+
(mcp-readme-config-blocks research, multi-client presentation finding).
|
|
131
|
+
|
|
132
|
+
**Pin to `@latest` in all config blocks.** Use `npx -y
|
|
133
|
+
@aidemd-mcp/server@latest` rather than a bare package name. The bare name
|
|
134
|
+
uses a locally cached version if one exists; `@latest` forces a fresh
|
|
135
|
+
resolution. This is the convention in community MCP servers and
|
|
136
|
+
communicates intent explicitly. Users who want reproducibility can pin in
|
|
137
|
+
their own config (mcp-readme-config-blocks research, version pinning
|
|
138
|
+
finding).
|
|
139
|
+
|
|
140
|
+
**Include the `-y` flag in npx args.** All official MCP server READMEs
|
|
141
|
+
use `npx -y` to auto-confirm the package install prompt. Omitting `-y`
|
|
142
|
+
causes npx to hang waiting for confirmation in non-interactive contexts
|
|
143
|
+
like Claude Desktop's process spawner, which is a silent install failure
|
|
144
|
+
(mcp-readme-conventions research).
|
|
145
|
+
|
|
146
|
+
**Add a PATH troubleshooting callout in the Claude Desktop section.**
|
|
147
|
+
Claude Desktop does not inherit the terminal PATH — users with
|
|
148
|
+
nvm/Homebrew Node hit "command not found: npx" and silently churn. A
|
|
149
|
+
blockquote callout (which degrades to a plain blockquote on npm — acceptable)
|
|
150
|
+
naming the problem and the fix (use `which npx` to find the absolute path)
|
|
151
|
+
addresses the single most common MCP install failure
|
|
152
|
+
(mcp-readme-config-blocks research, PATH problem finding; install-cta-mechanics
|
|
153
|
+
research, friction map finding).
|
|
154
|
+
|
|
155
|
+
**Note the Claude Desktop restart requirement.** Claude Desktop requires
|
|
156
|
+
a full quit-and-reopen for config changes to take effect. This is the #2
|
|
157
|
+
documented failure mode. A one-line note in the Claude Desktop section
|
|
158
|
+
prevents it (mcp-readme-config-blocks research, reload requirement finding).
|
|
159
|
+
|
|
160
|
+
**Document every tool with full parameters in the canonical format.** Use
|
|
161
|
+
H3 per tool inside a Tools H2. Each tool gets an imperative one-sentence
|
|
162
|
+
description and an Inputs bullet list with backtick name, (type, optional)
|
|
163
|
+
markers, and a description. Six tools is well within the feasibility
|
|
164
|
+
threshold for full documentation. Group by lifecycle phase if it helps
|
|
165
|
+
scanning: discover and read (navigation), scaffold and validate
|
|
166
|
+
(authoring), init and upgrade (project setup). Include the `plan.aide`
|
|
167
|
+
file type in the tool documentation for `aide_scaffold` since it was added
|
|
168
|
+
after the current README was written (mcp-readme-tool-documentation
|
|
169
|
+
research, canonical format finding).
|
|
170
|
+
|
|
171
|
+
**Add a post-install "try it" block.** After the Tools section, include a
|
|
172
|
+
short block that tells the developer what to do after installing: "Run
|
|
173
|
+
`aide_init` in your agent to bootstrap the AIDE methodology into your
|
|
174
|
+
project, then try `/aide` to start the pipeline." This closes the
|
|
175
|
+
install-to-value gap that silently loses users in dev-tool landings
|
|
176
|
+
(install-cta-mechanics research, post-install hand-off finding).
|
|
177
|
+
|
|
178
|
+
**Keep the Development section minimal.** Three commands (install, build,
|
|
179
|
+
test) in a code block. No contributing guide, no changelog — those belong
|
|
180
|
+
in separate files if needed. The README is for users, not contributors
|
|
181
|
+
(mcp-readme-conventions research, building section finding).
|
|
182
|
+
|
|
183
|
+
**Use absolute URLs for any cross-repo links.** Relative links work on
|
|
184
|
+
GitHub but break on the npm package page. Any link to files within the
|
|
185
|
+
repo (LICENSE, methodology docs) must use the full GitHub URL
|
|
186
|
+
(mcp-readme-npm-badges research, npm rendering finding).
|
|
187
|
+
|
|
188
|
+
**Avoid details/summary tags for any content a visitor needs to see.**
|
|
189
|
+
They are broken on npm. Use flat sections instead. The `> [!NOTE]`
|
|
190
|
+
callout syntax is acceptable — it renders as a styled callout on GitHub
|
|
191
|
+
and degrades to a readable blockquote on npm (mcp-readme-npm-badges
|
|
192
|
+
research, npm rendering finding).
|
|
193
|
+
|
|
194
|
+
## Good examples
|
|
195
|
+
|
|
196
|
+
A strong opening that names the value:
|
|
197
|
+
|
|
198
|
+
> # @aidemd-mcp/server
|
|
199
|
+
>
|
|
200
|
+
> [](https://www.npmjs.com/package/@aidemd-mcp/server)
|
|
201
|
+
> [](https://opensource.org/licenses/MIT)
|
|
202
|
+
>
|
|
203
|
+
> MCP server that brings intent-driven development to any AI-powered IDE.
|
|
204
|
+
> Manage `.aide` spec files that live next to your code — the domain context
|
|
205
|
+
> that architects plan from, implementors build from, and QA validates against.
|
|
206
|
+
|
|
207
|
+
A per-client config block that eliminates translation friction:
|
|
208
|
+
|
|
209
|
+
> ### Claude Code
|
|
210
|
+
>
|
|
211
|
+
> ```bash
|
|
212
|
+
> claude mcp add aide npx -- -y @aidemd-mcp/server@latest
|
|
213
|
+
> ```
|
|
214
|
+
>
|
|
215
|
+
> Or add to your project's `.mcp.json`:
|
|
216
|
+
>
|
|
217
|
+
> ```json
|
|
218
|
+
> {
|
|
219
|
+
> "mcpServers": {
|
|
220
|
+
> "aide": {
|
|
221
|
+
> "command": "npx",
|
|
222
|
+
> "args": ["-y", "@aidemd-mcp/server@latest"]
|
|
223
|
+
> }
|
|
224
|
+
> }
|
|
225
|
+
> }
|
|
226
|
+
> ```
|
|
227
|
+
>
|
|
228
|
+
> ### VS Code / Copilot
|
|
229
|
+
>
|
|
230
|
+
> Add to `.vscode/mcp.json`:
|
|
231
|
+
>
|
|
232
|
+
> ```json
|
|
233
|
+
> {
|
|
234
|
+
> "servers": {
|
|
235
|
+
> "aide": {
|
|
236
|
+
> "command": "npx",
|
|
237
|
+
> "args": ["-y", "@aidemd-mcp/server@latest"]
|
|
238
|
+
> }
|
|
239
|
+
> }
|
|
240
|
+
> }
|
|
241
|
+
> ```
|
|
242
|
+
|
|
243
|
+
A tool documented in the canonical format:
|
|
244
|
+
|
|
245
|
+
> ### aide_discover
|
|
246
|
+
>
|
|
247
|
+
> Scan the project for `.aide` spec files and return a progressive disclosure
|
|
248
|
+
> tree map showing each spec's type, location, and summary.
|
|
249
|
+
>
|
|
250
|
+
> **Inputs:**
|
|
251
|
+
> - `path` (string, optional): Subdirectory to drill into. When provided,
|
|
252
|
+
> opens with the ancestor chain — the cascading intent lineage from root
|
|
253
|
+
> to target — followed by the detailed subtree. When omitted, returns a
|
|
254
|
+
> project-wide map.
|
|
255
|
+
|
|
256
|
+
A post-install block that bridges install to first value:
|
|
257
|
+
|
|
258
|
+
> ## Getting Started
|
|
259
|
+
>
|
|
260
|
+
> After adding the server to your MCP client, ask your agent to run
|
|
261
|
+
> `aide_init` to bootstrap the AIDE methodology into your project. This
|
|
262
|
+
> installs the methodology docs, scaffolds pipeline commands, and wires
|
|
263
|
+
> everything up.
|
|
264
|
+
>
|
|
265
|
+
> Then try: "Scaffold an intent spec for my authentication module" — the
|
|
266
|
+
> agent will use `aide_discover` to map your project and `aide_scaffold`
|
|
267
|
+
> to create the spec in the right place with the right naming conventions.
|
|
268
|
+
|
|
269
|
+
## Bad examples
|
|
270
|
+
|
|
271
|
+
A README that opens with a methodology explainer before the install block:
|
|
272
|
+
|
|
273
|
+
> ## What is AIDE?
|
|
274
|
+
>
|
|
275
|
+
> AIDE (Autonomous Intent-Driven Engineering) is a methodology that puts
|
|
276
|
+
> intent at the center of everything. It uses a three-layer model...
|
|
277
|
+
> [300 words of methodology detail]
|
|
278
|
+
>
|
|
279
|
+
> ## Installation
|
|
280
|
+
> ...
|
|
281
|
+
|
|
282
|
+
The visitor wanted to install, not to study. The methodology detail
|
|
283
|
+
belongs in the docs that `aide_init` delivers, not in the README that
|
|
284
|
+
must convince the visitor to install. By the time they reach the config
|
|
285
|
+
block, they have either scrolled past or left.
|
|
286
|
+
|
|
287
|
+
A single config block labeled "Add to your MCP client config" with the
|
|
288
|
+
`mcpServers` root key and no per-client guidance:
|
|
289
|
+
|
|
290
|
+
> ```json
|
|
291
|
+
> {
|
|
292
|
+
> "mcpServers": {
|
|
293
|
+
> "aide": {
|
|
294
|
+
> "command": "npx",
|
|
295
|
+
> "args": ["@aidemd-mcp/server"]
|
|
296
|
+
> }
|
|
297
|
+
> }
|
|
298
|
+
> }
|
|
299
|
+
> ```
|
|
300
|
+
|
|
301
|
+
A VS Code user pastes this into `.vscode/mcp.json`, where the root key
|
|
302
|
+
should be `"servers"`, not `"mcpServers"`. The server silently fails to
|
|
303
|
+
load. The user assumes the package is broken and moves on. Meanwhile, the
|
|
304
|
+
`-y` flag is missing, so Claude Desktop users get a hung npx prompt they
|
|
305
|
+
never see. Two silent failures from one config block.
|
|
306
|
+
|
|
307
|
+
A tool list without parameters:
|
|
308
|
+
|
|
309
|
+
> - **aide_discover** — Scans for .aide files
|
|
310
|
+
> - **aide_scaffold** — Creates new .aide files
|
|
311
|
+
> - **aide_validate** — Validates .aide files
|
|
312
|
+
|
|
313
|
+
The developer evaluating this server cannot tell what inputs each tool
|
|
314
|
+
accepts, whether paths are required or optional, or what the `type`
|
|
315
|
+
enum values are for scaffold. They must install the server and call the
|
|
316
|
+
tools to find out. A developer comparing this against another MCP server
|
|
317
|
+
that documents its parameters fully will choose the documented one.
|
|
318
|
+
|
|
319
|
+
A README that uses `<details>` tags to collapse the per-client config
|
|
320
|
+
blocks:
|
|
321
|
+
|
|
322
|
+
> <details>
|
|
323
|
+
> <summary>Claude Desktop</summary>
|
|
324
|
+
> [config block]
|
|
325
|
+
> </details>
|
|
326
|
+
|
|
327
|
+
On the npm package page, the details/summary tags are broken — the
|
|
328
|
+
content is either always expanded or invisible depending on npm's
|
|
329
|
+
renderer version. The most-visited section of the README is now
|
|
330
|
+
inaccessible on one of the two primary surfaces the README serves.
|
|
331
|
+
|
|
332
|
+
## References
|
|
333
|
+
|
|
334
|
+
- `research/mcp-readme/mcp-readme-conventions` -- Canonical section order (title, badges, features, install, tools, dev, license) and the Pattern A multi-client presentation finding that drives the per-client config block strategy.
|
|
335
|
+
- `research/mcp-readme/mcp-readme-config-blocks` -- The `mcpServers` vs `"servers"` root key difference, `@latest` version pinning recommendation, PATH troubleshooting requirement for Claude Desktop, and the restart-after-config-change requirement.
|
|
336
|
+
- `research/mcp-readme/mcp-readme-tool-documentation` -- The canonical tool documentation format (H3 per tool, imperative description, bulleted Inputs), the full-documentation recommendation for servers with fewer than 10 tools, and the tool annotations pattern.
|
|
337
|
+
- `research/mcp-readme/mcp-readme-npm-badges` -- Badge placement convention (below H1, before description), recommended badge stack (version + license minimum), npm rendering constraints (no details/summary, absolute URLs required, callout degradation acceptable).
|
|
338
|
+
- `research/aidemd-dev/install-cta-mechanics` -- The MCP install friction map (config location confusion, reload requirement, PATH inheritance failure, cross-client ambiguity), the post-install "try it" block pattern from Stripe/shadcn precedent, and the v1 scope note confirming Claude Code as primary target.
|