living-documentation 7.31.0 → 7.32.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/README.md +30 -2
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +294 -12
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/documents.d.ts +9 -0
- package/dist/src/mcp/tools/documents.d.ts.map +1 -1
- package/dist/src/mcp/tools/documents.js +37 -0
- package/dist/src/mcp/tools/documents.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
# Living Documentation
|
|
2
2
|
|
|
3
3
|
A CLI tool that serves a local Markdown documentation viewer in your browser.
|
|
4
|
-
`NASHTAZ DOO`
|
|
5
4
|
No cloud, no database, no build step — just point it at a folder where you add your project's folder documentation composed of `.md` files (ADR : Architecture Decision Records, generally).
|
|
6
5
|
|
|
7
6
|

|
|
8
7
|

|
|
9
8
|

|
|
10
9
|
|
|
10
|
+
## Use cases
|
|
11
|
+
|
|
12
|
+
### 1. AI-Assisted Living Documentation — the primary use case
|
|
13
|
+
|
|
14
|
+
The tool ships with a built-in **MCP server**, so any coding agent that speaks MCP (Claude Desktop, Claude Code, Cursor…) can co-maintain your project documentation as it codes:
|
|
15
|
+
|
|
16
|
+
- **One ADR per feature, automatically.** Tell your agent *"feature done"* / *"feature terminée"* and it invokes the `create-adr` MCP prompt: it searches for any ADR to supersede, writes the new one with a normalized frontmatter (`**date:**`, `**status: To be validated**`, `**description:**`, `**tags:**`), and binds the source files it just touched to the ADR via metadata.
|
|
17
|
+
- **Drift, made visible.** Each ADR stores SHA-256 hashes of the source files it describes. When the code changes, the **reliability gauge** in the doc header drops from green to red. `list_documents_below_accuracy` lets the agent batch-audit which ADRs have fallen below 80% reliability.
|
|
18
|
+
- **Audit on demand.** Ask your agent *"audit the docs"* / *"vérifie la fiabilité de la doc"* and it invokes the `audit-doc-drift` prompt: for each drifting ADR, it reads the doc and the attached source files, then either re-baselines the hashes (description still correct) or rewrites the body and re-baselines (description out of sync). Major redesigns are surfaced back to you for a fresh `create-adr` — you stay in control of structural changes.
|
|
19
|
+
- **`To be validated` by default.** New ADRs land in a review state — *you* promote them to `Accepted`. The agent never promotes on your behalf.
|
|
20
|
+
- **Diagrams that don't lie.** Context / container / UML / flow / ERD generation is gated by server-side guardrails: diagrams are *derived* from the documents, never invented.
|
|
21
|
+
|
|
22
|
+
Setup is two lines of JSON — see **[MCP server](#mcp-server-model-context-protocol)** below.
|
|
23
|
+
|
|
24
|
+
### 2. Standalone — a note-taking hub for the new-gen developer
|
|
25
|
+
|
|
26
|
+
No AI required. Run it solo as your personal docs hub for **project meetings, architecture decisions, feature plans, dev journals, ADRs you write yourself** — all kept as Markdown on disk, git-friendly, no vendor lock-in. The full toolbox (inline editor, image paste, file attachments, built-in diagram editor, word cloud, annotations, full-text search, PDF / Notion / Confluence export…) is detailed in the **Features** section below.
|
|
27
|
+
|
|
28
|
+
The two modes are not exclusive: take notes solo as your week unfolds, then let your coding agent record the ADR when the feature actually lands.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
11
32
|
## Features
|
|
12
33
|
|
|
13
34
|
### Reliability gauge — keep your docs honest
|
|
@@ -344,6 +365,7 @@ A `GET http://localhost:4321/mcp` returns a JSON summary of available tools for
|
|
|
344
365
|
| `list_documents` | List all documents with their id, title, category and folder |
|
|
345
366
|
| `read_document` | Read the raw Markdown content of a document by its id |
|
|
346
367
|
| `create_document` | Create a new Markdown document (filename generated from the configured pattern) |
|
|
368
|
+
| `update_document` | Overwrite the Markdown content of an existing doc by id — used for drift correction (Scenario B) and supersede (Scenario A) |
|
|
347
369
|
| `list_diagrams` | List all saved diagrams with their id and title |
|
|
348
370
|
| `read_diagram` | Read the nodes and edges of a diagram (same shape as `create_diagram` input) |
|
|
349
371
|
| `create_diagram` | Create or overwrite a diagram from nodes and edges (shapes, colors, labels) |
|
|
@@ -353,9 +375,15 @@ A `GET http://localhost:4321/mcp` returns a JSON summary of available tools for
|
|
|
353
375
|
| `list_metadata` | List the source-file bindings of every doc |
|
|
354
376
|
| `get_accuracy` | Get the reliability report of a doc (per-entry status + ratio) — detect drift |
|
|
355
377
|
| `add_metadata` | Bind a source file to a doc (stores the SHA-256 hash) |
|
|
378
|
+
| `remove_metadata` | Detach a source file from a doc (idempotent) — used for renames / deletes |
|
|
356
379
|
| `refresh_metadata` | Re-hash all bindings for a doc — re-baseline after the doc has been rewritten |
|
|
380
|
+
| `list_documents_below_accuracy` | List up to 10 ADRs whose reliability < 80%, sorted most-degraded first — entry point for batch drift audit |
|
|
381
|
+
|
|
382
|
+
Prompts:
|
|
357
383
|
|
|
358
|
-
|
|
384
|
+
- **`create-adr`** — primary feature-completion prompt (Scenario A): search for an ADR to supersede, write a new ADR at `status: To be validated` with the project frontmatter, and bind the source files via `add_metadata` (god files excluded). See **[Use cases → AI-Assisted](#1-ai-assisted-living-documentation--the-primary-use-case)** above.
|
|
385
|
+
- **`audit-doc-drift`** — primary documentation-audit prompt (Scenario B): list every ADR below 80% reliability and bring each one back in sync — either re-baseline as-is (description still correct) or rewrite then re-baseline (description out of sync). Renames / deletes are surfaced back to you for confirmation.
|
|
386
|
+
- Diagram-creation templates: `generate-context-diagram` (default), `generate-container-diagram`, `generate-uml-diagram`, `update-diagram-from-docs`, `generate-screen-guide`, `flow`, `erd`.
|
|
359
387
|
|
|
360
388
|
### Installation — Claude Desktop
|
|
361
389
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AA83CpD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BlD"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -24,6 +24,76 @@ Documents are authoritative. Diagrams are derived views and must not introduce
|
|
|
24
24
|
information that is absent from the documents. If a diagram needs a concept
|
|
25
25
|
that isn't documented yet, create or update the document first.
|
|
26
26
|
|
|
27
|
+
## Feature workflow — ADRs are how the documentation grows
|
|
28
|
+
When a coding agent implements or modifies a feature on this project, the
|
|
29
|
+
feature is **not done** until an ADR (Architecture Decision Record) has been
|
|
30
|
+
created (or an existing one superseded) and bound to the source files it
|
|
31
|
+
covers. This is what keeps the documentation alive.
|
|
32
|
+
|
|
33
|
+
### Mandatory steps after finishing a feature
|
|
34
|
+
1. \`list_documents\` — get the inventory.
|
|
35
|
+
2. Shortlist ADRs whose title / category looks topically related to the
|
|
36
|
+
feature, then \`read_document\` their frontmatter (\`description\`,
|
|
37
|
+
\`tags\`) to confirm.
|
|
38
|
+
3. **Supersede check** — if an existing ADR is **made obsolete** by the new
|
|
39
|
+
feature, use \`update_document(id, ...)\` to flip its \`**status:**\` to
|
|
40
|
+
\`SuperSeeded\` and add a one-line pointer to the new ADR (do **not** call
|
|
41
|
+
\`create_document\` — it does not overwrite and will reject a colliding
|
|
42
|
+
filename).
|
|
43
|
+
4. \`create_document\` for the new ADR with the **mandatory frontmatter**
|
|
44
|
+
below at \`status: To be validated\`.
|
|
45
|
+
5. \`add_metadata\` for **each source file** that materially carries the
|
|
46
|
+
feature's logic — never god files (see \`add_metadata\`).
|
|
47
|
+
|
|
48
|
+
### Mandatory ADR frontmatter
|
|
49
|
+
Every ADR document body starts with:
|
|
50
|
+
|
|
51
|
+
\`\`\`
|
|
52
|
+
---
|
|
53
|
+
**date:** YYYY-MM-DD
|
|
54
|
+
**status:** To be validated
|
|
55
|
+
**description:** One dense, technical sentence — what the decision does, not why.
|
|
56
|
+
**tags:** 5–10 specific tags mixing concepts, technologies, and key symbol names
|
|
57
|
+
---
|
|
58
|
+
\`\`\`
|
|
59
|
+
|
|
60
|
+
Rules:
|
|
61
|
+
- \`status:\` is **always** \`To be validated\` at creation. Only the human
|
|
62
|
+
owner promotes to \`Accepted\`. The status has **no effect** on how the LLM
|
|
63
|
+
treats the ADR — only \`SuperSeeded\` is filtered downstream.
|
|
64
|
+
- \`description:\` stays factual and short — one sentence. The "why" goes in
|
|
65
|
+
the body.
|
|
66
|
+
- \`tags:\` are the primary search signal. Mix library names (\`stripe\`,
|
|
67
|
+
\`amplify\`), domain concepts (\`workflow\`, \`moderation\`), and symbol
|
|
68
|
+
names (\`useAdScheduler\`, \`presigned-url\`).
|
|
69
|
+
- \`category\` argument: domain bucket in the filename pattern, uppercase,
|
|
70
|
+
e.g. \`SERVICES CLOUD\`, \`INTEGRATION\`, \`ALGORITHMES\`.
|
|
71
|
+
- \`folder\` argument: \`adrs\` (or the project's ADR sub-folder).
|
|
72
|
+
|
|
73
|
+
## Markdown conventions for documents written via this MCP
|
|
74
|
+
|
|
75
|
+
Standard CommonMark + GitHub-flavored Markdown is supported as-is (lists, code
|
|
76
|
+
blocks, tables, blockquotes, \`<details>/<summary>\`, etc.). Use vanilla syntax
|
|
77
|
+
for those — there is no need to align table columns visually.
|
|
78
|
+
|
|
79
|
+
The viewer recognises four project-specific link patterns. Use them whenever
|
|
80
|
+
they apply, otherwise the cross-reference is invisible to the reader:
|
|
81
|
+
|
|
82
|
+
- **Cross-document link** — \`[label](?doc=<encodedId>)\` (use the \`id\` returned
|
|
83
|
+
by \`list_documents\` verbatim; it is already URL-encoded). Add \`#heading-slug\`
|
|
84
|
+
to jump to a heading inside the target doc.
|
|
85
|
+
- **Diagram link** (C4 drill-down or ADR → diagram pointer) —
|
|
86
|
+
\`[label](/diagram?id=<diagramId>)\`.
|
|
87
|
+
- **File attachment** — \`[name](./files/<filename>)\` where \`<filename>\` is what
|
|
88
|
+
\`POST /api/files/upload\` returned. The viewer auto-styles these as a purple
|
|
89
|
+
pill with a paperclip glyph; do not add the glyph yourself.
|
|
90
|
+
- **In-doc anchor** — \`[label](#heading-slug)\` where \`heading-slug\` is the
|
|
91
|
+
lowercased + dash-joined version of the heading text (auto-generated).
|
|
92
|
+
|
|
93
|
+
ASCII trees inside a fenced code block render with their box-drawing characters
|
|
94
|
+
preserved (\`├──\`, \`└──\`, \`│ \`). Prefer this over nested bullet lists when
|
|
95
|
+
describing a folder layout or a hierarchy in an ADR.
|
|
96
|
+
|
|
27
97
|
## Default diagram scope
|
|
28
98
|
- When documenting the project big picture, generate a **context diagram**.
|
|
29
99
|
- Do NOT generate container diagrams, component diagrams, or UML diagrams
|
|
@@ -173,17 +243,22 @@ Tools:
|
|
|
173
243
|
metadata are excluded. Use this instead of looping
|
|
174
244
|
\`list_documents\` + \`get_accuracy\`.
|
|
175
245
|
|
|
176
|
-
Recommended workflow to keep docs accurate:
|
|
246
|
+
Recommended workflow to keep docs accurate (single-doc):
|
|
177
247
|
1. \`list_documents\` → pick a doc.
|
|
178
248
|
2. \`get_accuracy\` → if accuracy < 1, the doc is drifting.
|
|
179
249
|
3. \`read_document\` and \`read_source_file\` on the \`modified\` entries.
|
|
180
|
-
4.
|
|
250
|
+
4. Decide: is the doc still factually correct, or out of sync with the code?
|
|
251
|
+
- **Still correct** → skip to step 5 (cosmetic code change, no doc rewrite).
|
|
252
|
+
- **Out of sync** → update the doc with \`update_document(id, content)\`.
|
|
181
253
|
5. \`refresh_metadata\` to re-baseline the hashes.
|
|
182
254
|
|
|
183
|
-
Bulk audit workflow
|
|
255
|
+
Bulk audit workflow (Scenario B — invoke prompt \`audit-doc-drift\` for the
|
|
256
|
+
full template):
|
|
184
257
|
1. \`list_documents_below_accuracy\` → batch of up to 10 most-degraded docs.
|
|
185
|
-
2. For each item: \`read_document\` + \`read_source_file\`
|
|
186
|
-
|
|
258
|
+
2. For each item: \`get_accuracy\` + \`read_document\` + \`read_source_file\`
|
|
259
|
+
on \`modified\` entries → decide:
|
|
260
|
+
- **Description still holds** → \`refresh_metadata\` (re-baseline as-is).
|
|
261
|
+
- **Description out of sync** → \`update_document\` → \`refresh_metadata\`.
|
|
187
262
|
3. Re-call \`list_documents_below_accuracy\` until \`totalBelowThreshold\`
|
|
188
263
|
reaches 0 or the remaining items are intentionally drifting.
|
|
189
264
|
`;
|
|
@@ -244,21 +319,46 @@ const CREATE_DIAGRAM_DESCRIPTION = [
|
|
|
244
319
|
GUIDE_HINT,
|
|
245
320
|
].join('\n');
|
|
246
321
|
const CREATE_DOCUMENT_DESCRIPTION = [
|
|
247
|
-
'Create a new Markdown document. The filename is generated automatically from the configured pattern (date + category + title slug). Pass `content` as full Markdown; omit to create an empty stub.',
|
|
322
|
+
'Create a **new** Markdown document. The filename is generated automatically from the configured pattern (date + category + title slug). Pass `content` as full Markdown; omit to create an empty stub. To **modify an existing document** (correct drift, flip `**status:**` to `SuperSeeded`, edit body), use `update_document(id, content)` instead — `create_document` will refuse with `A document with this name already exists` if the target filename collides.',
|
|
248
323
|
'',
|
|
249
|
-
'##
|
|
250
|
-
'
|
|
324
|
+
'## Primary use case — ADRs (Architecture Decision Records)',
|
|
325
|
+
'On this project, the dominant use of `create_document` is to record an ADR every time a coding agent implements or modifies a feature. The full workflow is described in `get_server_guide` ("Feature workflow"). In short:',
|
|
326
|
+
'',
|
|
327
|
+
'1. **Supersede check first.** `list_documents` → shortlist ADRs whose title/category overlaps the feature → `read_document` to confirm. If one is obsoleted, overwrite it with `status: SuperSeeded` + a one-line pointer to the new ADR.',
|
|
328
|
+
'2. **Create the new ADR** with the mandatory frontmatter (below).',
|
|
329
|
+
'3. **Bind the source files** with `add_metadata` (see that tool for the god-files exclusion list). Without this, the ADR escapes drift detection.',
|
|
330
|
+
'',
|
|
331
|
+
'## Mandatory ADR frontmatter',
|
|
332
|
+
'Every ADR body starts with these four fields. They drive search, audit, and lifecycle:',
|
|
251
333
|
'',
|
|
252
|
-
'
|
|
334
|
+
'```',
|
|
335
|
+
'---',
|
|
336
|
+
'**date:** YYYY-MM-DD',
|
|
337
|
+
'**status:** To be validated',
|
|
338
|
+
'**description:** One dense, technical sentence — what the decision does, not why.',
|
|
339
|
+
'**tags:** 5–10 specific tags mixing concepts, technologies, and key symbol names',
|
|
340
|
+
'---',
|
|
341
|
+
'```',
|
|
342
|
+
'',
|
|
343
|
+
'- `status:` is **always** `To be validated` at creation. Only the human owner promotes to `Accepted`. The status has **no effect** on how the LLM treats the ADR — only `SuperSeeded` is filtered out downstream.',
|
|
344
|
+
'- `description:` stays factual and short — one sentence. The "why" goes in the body.',
|
|
345
|
+
'- `tags:` are the primary search signal. Be specific.',
|
|
346
|
+
'- `category` is the domain bucket in the filename pattern, uppercase (e.g. `SERVICES CLOUD`, `INTEGRATION`, `ALGORITHMES`).',
|
|
347
|
+
'- `folder` should be `adrs` (or the project ADR sub-folder).',
|
|
348
|
+
'',
|
|
349
|
+
'## Worked ADR example',
|
|
253
350
|
'```json',
|
|
254
351
|
'{',
|
|
255
|
-
' "title": "
|
|
256
|
-
' "category": "
|
|
352
|
+
' "title": "ajout ressource storage s3",',
|
|
353
|
+
' "category": "SERVICES CLOUD",',
|
|
257
354
|
' "folder": "adrs",',
|
|
258
|
-
' "content": "
|
|
355
|
+
' "content": "---\\n**date:** 2026-04-27\\n**status:** To be validated\\n**description:** Ajout du module S3 Storage via Amplify Gen 2 — bucket nommé via CDK override, CORS configuré, pas de mode hors-ligne\\n**tags:** s3, storage, amplify, CDK, bucket, CORS, cloud\\n---\\n\\n# Ajout ressource storage S3\\n\\n## Contexte\\n...\\n\\n## Décision\\n...\\n\\n## Conséquences\\n..."',
|
|
259
356
|
'}',
|
|
260
357
|
'```',
|
|
261
358
|
'',
|
|
359
|
+
'## Source-of-truth contract',
|
|
360
|
+
'Documents are the source of truth. Diagrams are derived views. If a diagram needs a concept that isn\'t documented, create or update the document first (here) before calling `create_diagram`.',
|
|
361
|
+
'',
|
|
262
362
|
GUIDE_HINT,
|
|
263
363
|
].join('\n');
|
|
264
364
|
const TOOLS = [
|
|
@@ -283,6 +383,32 @@ const TOOLS = [
|
|
|
283
383
|
required: ['id'],
|
|
284
384
|
},
|
|
285
385
|
},
|
|
386
|
+
{
|
|
387
|
+
name: 'update_document',
|
|
388
|
+
description: [
|
|
389
|
+
'Overwrite the Markdown content of an existing document by its id. Use this whenever you need to modify a doc in place — e.g. correcting drift detected by `get_accuracy` (Scenario B audit), or flipping `**status:**` to `SuperSeeded` after a feature has obsoleted a prior ADR (Scenario A supersede).',
|
|
390
|
+
'',
|
|
391
|
+
'## Workflow',
|
|
392
|
+
'1. `read_document(id)` to load the current Markdown.',
|
|
393
|
+
'2. Compose the new full content in your reasoning (fix description, body, flip status, etc.).',
|
|
394
|
+
'3. `update_document(id, content)` with the **full** new Markdown body — the file is overwritten exactly with this string.',
|
|
395
|
+
'4. `refresh_metadata(id)` once the doc is back in sync with the source files (re-baselines the SHA-256 hashes).',
|
|
396
|
+
'',
|
|
397
|
+
'The filename, id, date, category, and folder are NOT changed by this call — content-only update. To rename or recategorise, create a new doc with `create_document` and (optionally) supersede the old one via this tool.',
|
|
398
|
+
'',
|
|
399
|
+
'Returns `{ success, id, bytes }`.',
|
|
400
|
+
'',
|
|
401
|
+
GUIDE_HINT,
|
|
402
|
+
].join('\n'),
|
|
403
|
+
inputSchema: {
|
|
404
|
+
type: 'object',
|
|
405
|
+
properties: {
|
|
406
|
+
id: { type: 'string', description: 'Document id as returned by list_documents' },
|
|
407
|
+
content: { type: 'string', description: 'Full Markdown content (frontmatter + body) — the file is overwritten with exactly this string. Must be non-empty.' },
|
|
408
|
+
},
|
|
409
|
+
required: ['id', 'content'],
|
|
410
|
+
},
|
|
411
|
+
},
|
|
286
412
|
{
|
|
287
413
|
name: 'create_document',
|
|
288
414
|
description: CREATE_DOCUMENT_DESCRIPTION,
|
|
@@ -456,6 +582,19 @@ const TOOLS = [
|
|
|
456
582
|
'',
|
|
457
583
|
'If the document already has an entry for that path, its hash is updated.',
|
|
458
584
|
'',
|
|
585
|
+
'## Call this after every `create_document` for an ADR',
|
|
586
|
+
'Each ADR must be bound to the source files it materially describes. Without this binding, the ADR escapes drift detection (`get_accuracy`, `list_documents_below_accuracy`) and the documentation stops being "living".',
|
|
587
|
+
'',
|
|
588
|
+
'## What to attach — and what NOT to attach',
|
|
589
|
+
'Attach: every source file whose **logic** is the subject of the ADR (component, hook, service, route, schema, infra config that this decision created or changed).',
|
|
590
|
+
'',
|
|
591
|
+
'Do **NOT** attach god files / god objects — files that change for nearly every feature and would produce false-positive drift signals across many ADRs:',
|
|
592
|
+
'- Lock and manifest files: `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `tsconfig.json`, `requirements.txt`, `Cargo.lock`, `go.sum`, `pyproject.toml` (when it tracks dependencies).',
|
|
593
|
+
'- Central re-export / barrel files (`index.ts` that just re-exports), root routers, root stores, top-level app entry files — unless the ADR is specifically about that file.',
|
|
594
|
+
'- Auto-generated files (build outputs, OpenAPI clients, schema codegen).',
|
|
595
|
+
'',
|
|
596
|
+
'**Rule of thumb**: if a routine modification of the file would NOT reflect a semantic change of the feature this ADR describes, do not attach it.',
|
|
597
|
+
'',
|
|
459
598
|
'Returns only the added entry and aggregate totals. Use `list_metadata` to retrieve the full list.',
|
|
460
599
|
].join('\n'),
|
|
461
600
|
inputSchema: {
|
|
@@ -508,6 +647,18 @@ const TOOLS = [
|
|
|
508
647
|
// calls. Layout work (positions, types, colors) happens on the caller's side —
|
|
509
648
|
// zero tokens consumed by the server.
|
|
510
649
|
const PROMPTS = [
|
|
650
|
+
{
|
|
651
|
+
name: 'audit-doc-drift',
|
|
652
|
+
description: 'Audit drifting documentation: list every ADR with reliability < 80%, verify whether the description still matches the attached source code, then either re-baseline the hashes (description still correct) or rewrite the ADR body and re-baseline (description out of sync). Auto-invoke when the user asks to audit / refresh / review drifting docs ("audite la doc", "vérifie la fiabilité de la doc", "fais le tour des ADR qui ne sont plus à jour", "review doc drift").',
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
name: 'create-adr',
|
|
656
|
+
description: 'Record an ADR (Architecture Decision Record) for a feature you just implemented or modified. Auto-invoke when the user signals a feature is done ("feature terminée", "j\'ai fini cette fonctionnalité"), or proactively at the end of a coding task. Walks through: search for ADRs to supersede, write the new ADR with the mandatory frontmatter at status `To be validated`, attach source files via `add_metadata` (god files excluded).',
|
|
657
|
+
arguments: [
|
|
658
|
+
{ name: 'featureSummary', description: 'One-line description of the feature/decision being recorded. Example: "Ajout du module S3 Storage via Amplify Gen 2".', required: false },
|
|
659
|
+
{ name: 'modifiedFiles', description: 'Comma-separated list of source files materially modified or created by this feature (relative to sourceRoot). Used to seed the metadata bindings; god files should already be filtered out by the caller.', required: false },
|
|
660
|
+
],
|
|
661
|
+
},
|
|
511
662
|
{
|
|
512
663
|
name: 'generate-context-diagram',
|
|
513
664
|
description: 'DEFAULT. Generate a C4 System Context diagram — one system in the center, surrounding users and external systems. Safe to auto-invoke when the user asks for "a diagram", "the big picture", or "documentation".',
|
|
@@ -609,6 +760,135 @@ Clicking a linked node in the editor navigates directly to the child diagram.
|
|
|
609
760
|
`.trim();
|
|
610
761
|
function buildPromptTemplate(name, args) {
|
|
611
762
|
switch (name) {
|
|
763
|
+
case 'audit-doc-drift':
|
|
764
|
+
return `
|
|
765
|
+
You are about to **audit the documentation for drift between ADRs and the source code they describe**, and bring every drifting ADR back in sync.
|
|
766
|
+
|
|
767
|
+
## Step 1 — Inventory drifting ADRs
|
|
768
|
+
|
|
769
|
+
Call \`list_documents_below_accuracy\`. It returns up to 10 ADRs whose reliability is below 80%, sorted most-degraded first, plus a \`totalBelowThreshold\` counter (\`SuperSeeded\` docs and docs without metadata are excluded automatically).
|
|
770
|
+
|
|
771
|
+
If the result is empty, tell the user *"All documents are above the 80% reliability threshold — nothing to audit."* and stop.
|
|
772
|
+
|
|
773
|
+
## Step 2 — Audit each ADR in the batch
|
|
774
|
+
|
|
775
|
+
For each ADR returned, in order:
|
|
776
|
+
|
|
777
|
+
1. \`get_accuracy(id)\` — read the per-entry breakdown (\`unchanged\` / \`modified\` / \`missing\`).
|
|
778
|
+
2. \`read_document(id)\` — load the ADR's current Markdown (frontmatter + body).
|
|
779
|
+
3. For every entry whose status is \`modified\`: \`read_source_file(path)\` — load the current code.
|
|
780
|
+
4. **Compare and decide.** The ADR's \`**description:**\` field claims a technical fact about the code, and the body (Contexte / Décision / Conséquences) describes how the code behaves. Are they still accurate against the current code, or have they fallen out of sync?
|
|
781
|
+
|
|
782
|
+
### Outcome A — The ADR is still accurate
|
|
783
|
+
The code changes were cosmetic (renames, formatting, refactors that don't affect documented behavior).
|
|
784
|
+
|
|
785
|
+
→ Call \`refresh_metadata(id)\` to re-baseline the hashes against the current files.
|
|
786
|
+
|
|
787
|
+
Tell the user: *"\`<title>\` — accuracy was X%, but the description still holds. Re-baselined."*
|
|
788
|
+
|
|
789
|
+
### Outcome B — The ADR is out of sync
|
|
790
|
+
The description and/or body no longer match what the code does.
|
|
791
|
+
|
|
792
|
+
1. Compose the corrected Markdown:
|
|
793
|
+
- Update \`**description:**\` if its technical sentence is wrong.
|
|
794
|
+
- Update the body sections to reflect the current behavior.
|
|
795
|
+
- Add new entries to \`**tags:**\` if new concepts/symbols appeared in the code.
|
|
796
|
+
- **Do NOT change \`**status:**\`** — auditing is not superseding. If you believe the change is structural enough to warrant a brand-new ADR with a different design altogether, stop and tell the user — they will trigger \`create-adr\` instead.
|
|
797
|
+
2. Call \`update_document(id, content)\` with the **full** corrected Markdown.
|
|
798
|
+
3. Call \`refresh_metadata(id)\` once the doc is updated.
|
|
799
|
+
|
|
800
|
+
Tell the user: *"\`<title>\` — description was out of sync. Updated body and re-baselined. Diff summary: <one line>."*
|
|
801
|
+
|
|
802
|
+
### Outcome C — Source files are missing
|
|
803
|
+
\`get_accuracy\` flags entries as \`missing\` (the source file no longer exists).
|
|
804
|
+
|
|
805
|
+
Do **not** auto-remove the metadata entry. The file may have been **renamed** (the user should run \`add_metadata\` for the new path then \`remove_metadata\` for the old one) or genuinely **deleted** (\`remove_metadata\`). Surface the situation to the user and wait for instruction.
|
|
806
|
+
|
|
807
|
+
## Step 3 — Loop until done
|
|
808
|
+
|
|
809
|
+
After processing the batch, call \`list_documents_below_accuracy\` again. If \`totalBelowThreshold\` > 0 **and** the new batch makes progress (different docs or fewer docs), continue from Step 2.
|
|
810
|
+
|
|
811
|
+
If the same docs come back unchanged, the remaining drift is intentional or blocked by Outcome C — stop and report.
|
|
812
|
+
|
|
813
|
+
## Step 4 — Final report
|
|
814
|
+
|
|
815
|
+
Summarise to the user:
|
|
816
|
+
- N ADRs audited.
|
|
817
|
+
- N re-baselined as-is (Outcome A — description was correct).
|
|
818
|
+
- N rewritten and re-baselined (Outcome B — content corrected). Include the list with one-line diff summaries.
|
|
819
|
+
- N flagged for user input (Outcome C — missing source files, or structural change requiring \`create-adr\`).
|
|
820
|
+
- Final \`totalBelowThreshold\` after the audit.
|
|
821
|
+
`.trim();
|
|
822
|
+
case 'create-adr': {
|
|
823
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
824
|
+
const featureLine = args.featureSummary
|
|
825
|
+
? `The user described this feature as: **${args.featureSummary}**.`
|
|
826
|
+
: 'Identify in one sentence what was implemented or changed — that sentence becomes the ADR `description:`.';
|
|
827
|
+
const filesLine = args.modifiedFiles
|
|
828
|
+
? `Files reported as modified by this feature: \`${args.modifiedFiles}\`. Verify each one is non-god before attaching.`
|
|
829
|
+
: 'Determine which source files materially carry this feature\'s logic (component, hook, service, route, schema, infra config). Exclude god files.';
|
|
830
|
+
return `
|
|
831
|
+
You are about to record an **ADR (Architecture Decision Record)** for a feature that has just been implemented or modified.
|
|
832
|
+
|
|
833
|
+
${featureLine}
|
|
834
|
+
|
|
835
|
+
## Step 1 — Search for an ADR to supersede
|
|
836
|
+
|
|
837
|
+
1. Call \`list_documents\`.
|
|
838
|
+
2. Shortlist ADRs whose title or category looks topically related to the feature (cheap — just title + category strings).
|
|
839
|
+
3. \`read_document\` on the shortlisted ADRs and inspect their frontmatter (\`description\`, \`tags\`).
|
|
840
|
+
4. If an existing ADR is **made obsolete** by this feature:
|
|
841
|
+
- \`read_document(id)\` to load its current Markdown.
|
|
842
|
+
- Modify only the frontmatter: flip \`**status:**\` to \`SuperSeeded\` and add a one-line pointer just under the frontmatter (e.g. \`> Superseded by: <new ADR title>\`). Keep the body intact — supersede is a status flip, not a delete.
|
|
843
|
+
- \`update_document(id, content)\` with the modified Markdown. Do **not** use \`create_document\` for this — it does not overwrite and will reject a colliding filename.
|
|
844
|
+
5. If no ADR is superseded, proceed.
|
|
845
|
+
|
|
846
|
+
## Step 2 — Write the new ADR
|
|
847
|
+
|
|
848
|
+
Mandatory frontmatter at the very top of \`content\`:
|
|
849
|
+
|
|
850
|
+
\`\`\`
|
|
851
|
+
---
|
|
852
|
+
**date:** ${today}
|
|
853
|
+
**status:** To be validated
|
|
854
|
+
**description:** One dense, technical sentence — what the decision does, not why.
|
|
855
|
+
**tags:** 5–10 specific tags mixing concepts, technologies, and key symbol names
|
|
856
|
+
---
|
|
857
|
+
\`\`\`
|
|
858
|
+
|
|
859
|
+
Rules (re-stated, do not skip):
|
|
860
|
+
- \`status:\` is **always** \`To be validated\`. The human owner promotes to \`Accepted\` later — you do not.
|
|
861
|
+
- \`description:\` is one sentence, factual, technical. The "why" goes in the body.
|
|
862
|
+
- \`tags:\` are the primary search signal. Be specific: library names (\`stripe\`, \`amplify\`), domain concepts (\`workflow\`, \`moderation\`), symbol names where relevant (\`useAdScheduler\`, \`presigned-url\`).
|
|
863
|
+
- Body sections (suggested): \`## Contexte\`, \`## Décision\`, \`## Conséquences\`.
|
|
864
|
+
|
|
865
|
+
Call \`create_document\` with:
|
|
866
|
+
- \`title\` — short, lowercase, becomes the filename slug (e.g. \`ajout ressource storage s3\`).
|
|
867
|
+
- \`category\` — domain bucket in the filename pattern, **uppercase**, e.g. \`SERVICES CLOUD\`, \`INTEGRATION\`, \`ALGORITHMES\`.
|
|
868
|
+
- \`folder: "adrs"\` (or the project's ADR sub-folder).
|
|
869
|
+
- \`content\` — frontmatter + body.
|
|
870
|
+
|
|
871
|
+
## Step 3 — Bind the source files
|
|
872
|
+
|
|
873
|
+
For **each** source file that materially carries the feature's logic, call \`add_metadata(<new ADR id>, <relative path>)\`.
|
|
874
|
+
|
|
875
|
+
${filesLine}
|
|
876
|
+
|
|
877
|
+
**Do NOT attach god files** — they would produce false-positive drift signals across many ADRs. Excluded by default:
|
|
878
|
+
- Lock and manifest files: \`package.json\`, \`package-lock.json\`, \`yarn.lock\`, \`pnpm-lock.yaml\`, \`tsconfig.json\`, \`requirements.txt\`, \`Cargo.lock\`, \`go.sum\`.
|
|
879
|
+
- Central re-export / barrel files, root routers, root stores, top-level app entry files (unless the ADR is about that file).
|
|
880
|
+
- Auto-generated files (build outputs, codegen).
|
|
881
|
+
|
|
882
|
+
Rule of thumb: if a routine modification of the file would NOT reflect a semantic change of *this* feature, do not attach it.
|
|
883
|
+
|
|
884
|
+
## Step 4 — Report
|
|
885
|
+
|
|
886
|
+
Tell the user:
|
|
887
|
+
- The id and title of the new ADR (status \`To be validated\`, awaiting their review).
|
|
888
|
+
- Whether any prior ADR was superseded — and which.
|
|
889
|
+
- The list of source files attached as metadata.
|
|
890
|
+
`.trim();
|
|
891
|
+
}
|
|
612
892
|
case 'generate-context-diagram':
|
|
613
893
|
return `
|
|
614
894
|
${PREAMBLE}
|
|
@@ -1051,6 +1331,8 @@ function createMcpServer(docsPath) {
|
|
|
1051
1331
|
return (0, documents_1.toolReadDocument)(docsPath, args);
|
|
1052
1332
|
case 'create_document':
|
|
1053
1333
|
return (0, documents_1.toolCreateDocument)(docsPath, args);
|
|
1334
|
+
case 'update_document':
|
|
1335
|
+
return (0, documents_1.toolUpdateDocument)(docsPath, args);
|
|
1054
1336
|
case 'list_diagrams':
|
|
1055
1337
|
return (0, diagrams_1.toolListDiagrams)(docsPath);
|
|
1056
1338
|
case 'read_diagram':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,15 @@ export declare function toolReadDocument(docsPath: string, args: {
|
|
|
20
20
|
text: string;
|
|
21
21
|
}[];
|
|
22
22
|
};
|
|
23
|
+
export declare function toolUpdateDocument(docsPath: string, args: {
|
|
24
|
+
id: string;
|
|
25
|
+
content: string;
|
|
26
|
+
}): {
|
|
27
|
+
content: {
|
|
28
|
+
type: "text";
|
|
29
|
+
text: string;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
23
32
|
export declare function toolCreateDocument(docsPath: string, args: {
|
|
24
33
|
title: string;
|
|
25
34
|
category: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CASnF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM;;;;;EAGjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAsBtE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;EAiCA"}
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CASnF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM;;;;;EAGjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAsBtE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;EAmCzF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;EAiCA"}
|
|
@@ -7,6 +7,7 @@ exports.listAllDocuments = listAllDocuments;
|
|
|
7
7
|
exports.resolveDocFilePath = resolveDocFilePath;
|
|
8
8
|
exports.toolListDocuments = toolListDocuments;
|
|
9
9
|
exports.toolReadDocument = toolReadDocument;
|
|
10
|
+
exports.toolUpdateDocument = toolUpdateDocument;
|
|
10
11
|
exports.toolCreateDocument = toolCreateDocument;
|
|
11
12
|
const fs_1 = __importDefault(require("fs"));
|
|
12
13
|
const path_1 = __importDefault(require("path"));
|
|
@@ -111,6 +112,42 @@ function toolReadDocument(docsPath, args) {
|
|
|
111
112
|
const content = fs_1.default.readFileSync(filePath, 'utf-8');
|
|
112
113
|
return { content: [{ type: 'text', text: content }] };
|
|
113
114
|
}
|
|
115
|
+
function toolUpdateDocument(docsPath, args) {
|
|
116
|
+
if (!args || typeof args.id !== 'string' || !args.id) {
|
|
117
|
+
throw new Error("Missing required parameter 'id'");
|
|
118
|
+
}
|
|
119
|
+
if (typeof args.content !== 'string' || !args.content) {
|
|
120
|
+
throw new Error("Missing required parameter 'content' (must be non-empty)");
|
|
121
|
+
}
|
|
122
|
+
const { extraFiles = [] } = (0, config_1.readConfig)(docsPath);
|
|
123
|
+
const decoded = decodeURIComponent(args.id);
|
|
124
|
+
let filePath;
|
|
125
|
+
if (path_1.default.isAbsolute(decoded)) {
|
|
126
|
+
const fp = decoded + '.md';
|
|
127
|
+
if (!extraFiles.includes(fp))
|
|
128
|
+
throw new Error('Access denied: not an allowed extra file');
|
|
129
|
+
filePath = fp;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const resolved = safeResolve(docsPath, decoded + '.md');
|
|
133
|
+
if (!resolved)
|
|
134
|
+
throw new Error('Access denied: path traversal attempt');
|
|
135
|
+
filePath = resolved;
|
|
136
|
+
}
|
|
137
|
+
if (!fs_1.default.existsSync(filePath))
|
|
138
|
+
throw new Error(`Document not found: ${args.id}`);
|
|
139
|
+
fs_1.default.writeFileSync(filePath, args.content, 'utf-8');
|
|
140
|
+
return {
|
|
141
|
+
content: [{
|
|
142
|
+
type: 'text',
|
|
143
|
+
text: JSON.stringify({
|
|
144
|
+
success: true,
|
|
145
|
+
id: args.id,
|
|
146
|
+
bytes: Buffer.byteLength(args.content, 'utf-8'),
|
|
147
|
+
}, null, 2),
|
|
148
|
+
}],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
114
151
|
function toolCreateDocument(docsPath, args) {
|
|
115
152
|
const { filenamePattern, port } = (0, config_1.readConfig)(docsPath);
|
|
116
153
|
const filename = buildFilename(filenamePattern, args.title, args.category || 'General');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":";;;;;AA4CA,4CA+BC;AAED,gDASC;AAED,8CAGC;AAED,4CAsBC;AAED,gDAsCC;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":"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"}
|