@thedecipherist/mdd 1.6.5 → 1.6.7
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 +4 -3
- package/commands/mdd-bug.md +250 -0
- package/commands/mdd-build.md +4 -0
- package/commands/mdd-manual.md +169 -63
- package/commands/mdd.md +3 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +3 -2
- package/dist/install.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# MDD - Manual-Driven Development for Claude Code
|
|
6
6
|
|
|
7
|
-
> **One command. Twenty-
|
|
7
|
+
> **One command. Twenty-five modes. Complete feature lifecycle from documentation to verified deployment.**
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://thedecipherist.github.io/mdd">
|
|
@@ -42,7 +42,7 @@ Then in Claude Code:
|
|
|
42
42
|
- [How It Works](#how-it-works)
|
|
43
43
|
- [Installation](#installation)
|
|
44
44
|
- [Quick Start](#quick-start)
|
|
45
|
-
- [All
|
|
45
|
+
- [All 26 Modes at a Glance](#all-26-modes-at-a-glance)
|
|
46
46
|
- [Build Mode - Feature Development](#build-mode--feature-development)
|
|
47
47
|
- [Audit Mode - Code Review](#audit-mode--code-review)
|
|
48
48
|
- [Status & Notes](#status--notes)
|
|
@@ -236,10 +236,11 @@ Every feature doc and ops runbook has a `tags:` field (4–8 domain-concept keyw
|
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
239
|
-
## All
|
|
239
|
+
## All 26 Modes at a Glance
|
|
240
240
|
|
|
241
241
|
```
|
|
242
242
|
/mdd <feature description> Build Mode - Document, plan, and implement
|
|
243
|
+
/mdd bug <description> Bug Mode - Fix bugs tracked in feature docs
|
|
243
244
|
/mdd manual [--force] Manual Mode - Generate a print-ready user manual
|
|
244
245
|
/mdd audit [section] Audit Mode - Scan code for violations and drift
|
|
245
246
|
/mdd status Overview: docs, tests, audit state, initiatives
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
## BUG MODE
|
|
2
|
+
|
|
3
|
+
**Trigger:** `/mdd bug <description>`
|
|
4
|
+
|
|
5
|
+
The user is reporting a bug in an existing feature. Do NOT create a new feature doc.
|
|
6
|
+
Instead: scan existing docs to identify which feature(s) own the broken behavior,
|
|
7
|
+
document the bug in those docs, fix it, and mark it complete.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
### Phase B0 — Parse
|
|
12
|
+
|
|
13
|
+
Extract the bug description from `$ARGUMENTS` by stripping the leading `bug ` prefix.
|
|
14
|
+
Store as `$BUG_DESC`.
|
|
15
|
+
|
|
16
|
+
If `$BUG_DESC` is empty after stripping, ask the user:
|
|
17
|
+
> "What is the bug? Describe what's broken and where you'd expect it to work correctly."
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
### Phase B1 — Triage
|
|
22
|
+
|
|
23
|
+
Read the frontmatter of every file in `.mdd/docs/` (excluding `archive/` subdirectory).
|
|
24
|
+
Do **not** read doc bodies during triage — frontmatter only. You need: `id`, `title`, `tags`, `source_files`.
|
|
25
|
+
|
|
26
|
+
**Scoring algorithm** — for each doc, compute a match score against `$BUG_DESC`:
|
|
27
|
+
|
|
28
|
+
1. Tokenize `$BUG_DESC` into significant words (strip: a, an, the, is, it, in, on, for, and, or, to, with, that, this, when, after, before, not, can, can't, doesn't, won't, fails, fail, fix, bug, issue, broken, error)
|
|
29
|
+
2. For each remaining word `W`:
|
|
30
|
+
- If `W` appears in the doc's `tags` list (case-insensitive) → +2
|
|
31
|
+
- If `W` appears in the doc's `title` (case-insensitive) → +1.5
|
|
32
|
+
- If `W` appears in any `source_files` entry (file name only, not path) → +1
|
|
33
|
+
3. Round score to 1 decimal place
|
|
34
|
+
4. Threshold: score ≥ 2.0 qualifies as a candidate
|
|
35
|
+
|
|
36
|
+
Sort candidates descending by score.
|
|
37
|
+
|
|
38
|
+
**If zero docs score ≥ 2.0**, display:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
🔍 No feature docs matched: "<$BUG_DESC>"
|
|
42
|
+
|
|
43
|
+
This could mean:
|
|
44
|
+
- The bug is in undocumented code (run /mdd reverse-engineer first to document it)
|
|
45
|
+
- The description uses different words than the feature tags (try feature names or file names)
|
|
46
|
+
- This is a new undocumented area (use /mdd <description> to create a feature doc first)
|
|
47
|
+
|
|
48
|
+
Documented features:
|
|
49
|
+
<list all feature IDs and titles from .mdd/docs/>
|
|
50
|
+
|
|
51
|
+
Run /mdd status to see the full project overview.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**STOP — do not proceed past Phase B1 without at least one confirmed related doc.**
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Phase B2 — Confirm Related Docs
|
|
59
|
+
|
|
60
|
+
Present the triage results and ask the user to confirm which docs the bug relates to.
|
|
61
|
+
Always show the full doc list so the user can add docs that scored below the threshold.
|
|
62
|
+
|
|
63
|
+
Ask via AskUserQuestion with `multiSelect: true`:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Question: "Which feature docs does this bug relate to?"
|
|
67
|
+
|
|
68
|
+
Header: "Related docs"
|
|
69
|
+
|
|
70
|
+
Show as options:
|
|
71
|
+
- Top candidates (score ≥ 2.0): label = "<id> — <title> (score: N)", description = "Matched on: <which tags/title words matched>"
|
|
72
|
+
- Remaining docs (score < 2.0): label = "<id> — <title>", description = "Low match — include if relevant"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Require at least one selection. If the user selects none, ask again.
|
|
76
|
+
|
|
77
|
+
Store the confirmed list as `$RELATED_DOCS`.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Phase B3 — Document the Bug
|
|
82
|
+
|
|
83
|
+
For each doc in `$RELATED_DOCS`:
|
|
84
|
+
|
|
85
|
+
1. Read the full doc file
|
|
86
|
+
2. Generate the next bug ID for this doc:
|
|
87
|
+
- If a `## Bugs` section exists: find the highest existing B-number and increment by 1
|
|
88
|
+
- If no `## Bugs` section exists: start at B1
|
|
89
|
+
3. Create the bug entry row:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
| B<N> | <$BUG_DESC> | Open | - | <today YYYY-MM-DD> | - |
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
4. **If `## Bugs` section already exists** in the doc:
|
|
96
|
+
- Append the new row to the existing table
|
|
97
|
+
- Do not modify any existing rows
|
|
98
|
+
|
|
99
|
+
5. **If `## Bugs` section does not exist** in the doc:
|
|
100
|
+
- Insert the entire section after `## Known Issues` (if present), or after the last `##` section if not
|
|
101
|
+
- Never insert before `## Purpose`, `## Architecture`, `## Business Rules`, or `## Data Model`
|
|
102
|
+
- Use this format:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
## Bugs
|
|
106
|
+
|
|
107
|
+
| ID | Description | Status | Fixed In | Reported | Fixed |
|
|
108
|
+
|----|-------------|--------|----------|----------|-------|
|
|
109
|
+
| B1 | <$BUG_DESC> | Open | - | <today> | - |
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
6. **If the bug spans multiple docs**: each doc gets its own entry with the same description and its own sequential B-ID. Entries are independent per-doc — they are not cross-referenced at this stage.
|
|
113
|
+
|
|
114
|
+
After updating all related docs, tell the user:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
📝 Bug documented in <N> feature doc(s):
|
|
118
|
+
<id> → B<N> added (<title>)
|
|
119
|
+
...
|
|
120
|
+
|
|
121
|
+
Status: Open — ready to fix.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Store the bug IDs per doc as `$BUG_IDS` (map of doc-id → B-number) for use in Phase B5.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Phase B4 — Fix
|
|
129
|
+
|
|
130
|
+
Ask the user via AskUserQuestion how to proceed with the fix:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Question: "How do you want to fix this bug?"
|
|
134
|
+
|
|
135
|
+
Options:
|
|
136
|
+
(a) Lightweight — identify affected files, fix, verify, done
|
|
137
|
+
description: Best for focused, well-understood bugs. No test scaffolding.
|
|
138
|
+
(b) Full MDD process — test skeletons, red gate, green gate
|
|
139
|
+
description: Best for complex bugs or regression prevention. Follows BUILD MODE phases 4-7.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### Path A — Lightweight Fix
|
|
143
|
+
|
|
144
|
+
1. **Identify affected files:** Read `source_files` from each doc in `$RELATED_DOCS`. Also grep the `src/` directory for symbols mentioned in `$BUG_DESC`:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
grep -r "<keyword>" src/ --include="*.ts" --include="*.tsx" -l
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
2. **Read each candidate file** to understand the current behavior.
|
|
151
|
+
|
|
152
|
+
3. **Diagnose:** Before writing any fix, state:
|
|
153
|
+
- What the code currently does
|
|
154
|
+
- Why that causes the reported bug
|
|
155
|
+
- What change will fix it
|
|
156
|
+
- What could break as a side effect
|
|
157
|
+
|
|
158
|
+
4. **Fix:** Make the minimal targeted change. Do not refactor surrounding code.
|
|
159
|
+
|
|
160
|
+
5. **Verify:** Run the project's typecheck and test commands:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
pnpm typecheck
|
|
164
|
+
pnpm test:unit # if a test runner is configured
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
If no test runner: run the compiled CLI or relevant command to confirm the fix works.
|
|
168
|
+
|
|
169
|
+
6. **Report verification result:**
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
✅ Fix verified:
|
|
173
|
+
Changed: <file>:<line> — <one-line description of change>
|
|
174
|
+
Typecheck: clean
|
|
175
|
+
Tests: <N>/<N> passing OR Manual verification: confirmed
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
7. Proceed to Phase B5.
|
|
179
|
+
|
|
180
|
+
#### Path B — Full MDD Process
|
|
181
|
+
|
|
182
|
+
Follow **mdd-build.md Phases 4 through 7** for the fix. Treat the related feature docs as the documentation — skip Phase 3 (no new doc). Skip Phase 1 and 2 entirely.
|
|
183
|
+
|
|
184
|
+
Specifically:
|
|
185
|
+
- **Phase 4** (test skeletons): write failing tests that reproduce the bug
|
|
186
|
+
- **Phase 4b** (red gate): confirm all new tests fail before fixing
|
|
187
|
+
- **Phase 5** (build plan): plan the fix blocks
|
|
188
|
+
- **Phase 6** (implement): fix the bug, run green gate per block
|
|
189
|
+
- **Phase 7** (verify + report): integration verification, completion signal
|
|
190
|
+
|
|
191
|
+
At the end of Phase 7, return here to Phase B5 to mark the bug complete in the docs.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### Phase B5 — Mark Complete
|
|
196
|
+
|
|
197
|
+
After the fix is verified (via either Path A or Path B), update every doc in `$RELATED_DOCS`:
|
|
198
|
+
|
|
199
|
+
For each doc, find the bug entry created in Phase B3 (use `$BUG_IDS` to find the right B-number):
|
|
200
|
+
|
|
201
|
+
1. Change `Open` → `Completed` in the Status column
|
|
202
|
+
2. Fill in `Fixed In` with `<file>:<line>` of the primary fix location
|
|
203
|
+
- If the fix spans multiple files, use the file where the root cause was addressed
|
|
204
|
+
- For docs where the fix was in a different feature's files: use `see <other-doc-id>:B<N>` instead
|
|
205
|
+
3. Fill in the Fixed date column with today's date
|
|
206
|
+
|
|
207
|
+
**Example — before:**
|
|
208
|
+
```
|
|
209
|
+
| B2 | Users can't log in after password reset | Open | - | 2026-05-17 | - |
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Example — after:**
|
|
213
|
+
```
|
|
214
|
+
| B2 | Users can't log in after password reset | Completed | src/auth.ts:142 | 2026-05-17 | 2026-05-17 |
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
After updating all docs, regenerate `.mdd/connections.md` using the same logic as BUILD MODE Phase 7c:
|
|
218
|
+
- Read all `.mdd/docs/*.md` frontmatter only
|
|
219
|
+
- Rebuild path tree, Mermaid graph, source file overlap, warnings
|
|
220
|
+
- Write to `.mdd/connections.md`
|
|
221
|
+
|
|
222
|
+
Display the completion signal:
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
✅ Bug fixed and documented:
|
|
226
|
+
|
|
227
|
+
Bug: <$BUG_DESC>
|
|
228
|
+
Fixed in: <file>:<line>
|
|
229
|
+
|
|
230
|
+
Docs updated:
|
|
231
|
+
<id> B<N> Completed (<title>)
|
|
232
|
+
...
|
|
233
|
+
|
|
234
|
+
Connections: .mdd/connections.md updated
|
|
235
|
+
|
|
236
|
+
Branch: <current branch>
|
|
237
|
+
Ready for review — run `git diff main...HEAD` to see all changes.
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Then ask the user via AskUserQuestion:
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
Question: "Ready to commit?"
|
|
244
|
+
Options:
|
|
245
|
+
(a) Commit & merge to main
|
|
246
|
+
(b) Commit only — stay on this branch
|
|
247
|
+
(c) Skip — I'll handle git manually
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Follow the same commit/merge logic as BUILD MODE Phase 7d.
|
package/commands/mdd-build.md
CHANGED
|
@@ -239,6 +239,10 @@ known_issues: []
|
|
|
239
239
|
## Known Issues
|
|
240
240
|
|
|
241
241
|
<Empty for new features. Will be populated by future audits.>
|
|
242
|
+
|
|
243
|
+
## Bugs
|
|
244
|
+
|
|
245
|
+
(none yet — populated by /mdd bug when issues are reported)
|
|
242
246
|
```
|
|
243
247
|
|
|
244
248
|
**CRITICAL:** This documentation is the source of truth. Everything that follows is generated FROM this doc. Take time to make it complete and accurate.
|
package/commands/mdd-manual.md
CHANGED
|
@@ -6,6 +6,10 @@ Generates a comprehensive, print-ready user manual at `.mdd/manual/manual.md` fr
|
|
|
6
6
|
MDD feature docs and ops runbooks. Uses content hashes to detect what changed since the
|
|
7
7
|
last run — only stale sections are regenerated.
|
|
8
8
|
|
|
9
|
+
Sections are written to disk **immediately after each generation batch completes** — never
|
|
10
|
+
held in memory until the end. This means compaction mid-run loses at most one batch of
|
|
11
|
+
sections, and the next run can resume from the saved state.
|
|
12
|
+
|
|
9
13
|
---
|
|
10
14
|
|
|
11
15
|
### Phase M1 — Scope & Hash Check
|
|
@@ -15,7 +19,7 @@ last run — only stale sections are regenerated.
|
|
|
15
19
|
Check `.mdd/docs/`. If it contains zero `.md` files:
|
|
16
20
|
```
|
|
17
21
|
⚠️ No feature docs found.
|
|
18
|
-
Run /mdd <feature> to create your first
|
|
22
|
+
Run /mdd <feature> to create your first doc, then re-run /mdd manual.
|
|
19
23
|
```
|
|
20
24
|
Stop here.
|
|
21
25
|
|
|
@@ -74,7 +78,79 @@ Stop here.
|
|
|
74
78
|
|
|
75
79
|
---
|
|
76
80
|
|
|
77
|
-
### Phase M2 —
|
|
81
|
+
### Phase M2 — Skeleton Init (before generating any sections)
|
|
82
|
+
|
|
83
|
+
Before generating any sections, ensure `manual.md` is in a writable state on disk.
|
|
84
|
+
This protects against compaction — each section written to disk is durable.
|
|
85
|
+
|
|
86
|
+
**Step 1 — Ensure output directory exists**
|
|
87
|
+
```bash
|
|
88
|
+
mkdir -p .mdd/manual
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Step 2 — Load existing manual or build skeleton**
|
|
92
|
+
|
|
93
|
+
Read `.mdd/manual/manual.md` if it exists. Identify the preface: everything before the
|
|
94
|
+
first `<!-- mdd-section: -->` marker. If the file is new, generate a default preface
|
|
95
|
+
(see Phase M3 Step 2 below for the preface format) and write the skeleton immediately:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
# <Project Name> — User Manual
|
|
99
|
+
|
|
100
|
+
> <tagline>
|
|
101
|
+
|
|
102
|
+
**Version:** <version>
|
|
103
|
+
**Generated:** <date>
|
|
104
|
+
|
|
105
|
+
<overview paragraphs>
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Table of Contents
|
|
110
|
+
<!-- toc -->
|
|
111
|
+
(regenerated on completion)
|
|
112
|
+
<!-- /toc -->
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Overview
|
|
117
|
+
|
|
118
|
+
<overview content>
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Features
|
|
123
|
+
|
|
124
|
+
(sections generating — re-run /mdd manual if interrupted)
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Operations
|
|
129
|
+
|
|
130
|
+
(sections generating — re-run /mdd manual if interrupted)
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Command Reference
|
|
135
|
+
|
|
136
|
+
(regenerated on completion)
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Write this skeleton to `.mdd/manual/manual.md` now, before any agents are launched.
|
|
142
|
+
This ensures the file exists on disk even if compaction occurs mid-generation.
|
|
143
|
+
|
|
144
|
+
**Step 3 — Remove deleted sections**
|
|
145
|
+
|
|
146
|
+
For each doc classified as `deleted`: find and remove the entire
|
|
147
|
+
`<!-- mdd-section: <id> -->` … `<!-- /mdd-section: <id> -->` block (including
|
|
148
|
+
surrounding blank lines) from the current manual.md on disk. Write the file after
|
|
149
|
+
each removal.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### Phase M3 — Section Generation (incremental, batch-by-batch)
|
|
78
154
|
|
|
79
155
|
For each `changed` or `new` doc, generate a user-friendly manual section. The section
|
|
80
156
|
must be readable by someone who has never seen the source code — focus on WHAT the
|
|
@@ -133,11 +209,37 @@ For ops runbooks, use a condensed format:
|
|
|
133
209
|
<!-- /mdd-section: ops/<slug> -->
|
|
134
210
|
```
|
|
135
211
|
|
|
136
|
-
**Parallelism:**
|
|
137
|
-
|
|
138
|
-
-
|
|
139
|
-
|
|
140
|
-
|
|
212
|
+
**Parallelism and incremental writing — CRITICAL:**
|
|
213
|
+
|
|
214
|
+
- **1–4 changed docs** → generate sequentially in main conversation. After EACH section
|
|
215
|
+
is generated, immediately patch it into `manual.md` on disk (see patching rules below)
|
|
216
|
+
before generating the next section.
|
|
217
|
+
|
|
218
|
+
- **5+ changed docs** → split into batches of up to 8. For each batch:
|
|
219
|
+
1. Launch one `general-purpose` agent per doc in the batch (all agents in the batch
|
|
220
|
+
run concurrently). Each agent receives: the full doc content, the section structure
|
|
221
|
+
template above, and the output section id.
|
|
222
|
+
2. **Wait for ALL agents in this batch to complete.**
|
|
223
|
+
3. Immediately patch ALL returned sections into `manual.md` on disk (one Write call
|
|
224
|
+
per section, or one Write call with all sections patched at once).
|
|
225
|
+
4. Report progress: ` ✓ Batch <N>/<total> written to disk (<M> sections)`
|
|
226
|
+
5. Then launch the next batch.
|
|
227
|
+
|
|
228
|
+
**Never hold results across batches.** Each batch's sections must be on disk before
|
|
229
|
+
the next batch starts. Compaction mid-batch loses at most 8 sections; those will be
|
|
230
|
+
regenerated on the next `/mdd manual` run (their hashes won't be in `.hashes.json`
|
|
231
|
+
since that's only written at the very end).
|
|
232
|
+
|
|
233
|
+
**Section patching rules (applied after each batch or each sequential section):**
|
|
234
|
+
|
|
235
|
+
For each returned section:
|
|
236
|
+
- Find the `<!-- mdd-section: <id> -->` … `<!-- /mdd-section: <id> -->` block in the
|
|
237
|
+
current `manual.md`.
|
|
238
|
+
- If found: replace the entire block with the new section.
|
|
239
|
+
- If not found (new doc): append the section after the last `<!-- /mdd-section: -->` tag
|
|
240
|
+
in the Features chapter (or Operations chapter for ops runbooks). If neither marker
|
|
241
|
+
exists yet, append after the `## Features` or `## Operations` heading.
|
|
242
|
+
- Write `manual.md` to disk after each patch.
|
|
141
243
|
|
|
142
244
|
**Reading source files during generation:**
|
|
143
245
|
When the feature doc lists `source_files`, read those files briefly to verify the section
|
|
@@ -147,59 +249,33 @@ section header.
|
|
|
147
249
|
|
|
148
250
|
---
|
|
149
251
|
|
|
150
|
-
### Phase
|
|
252
|
+
### Phase M4 — Final Assembly
|
|
151
253
|
|
|
152
|
-
|
|
254
|
+
After all sections are on disk, perform final assembly passes on `manual.md`.
|
|
153
255
|
|
|
154
|
-
|
|
256
|
+
**Step 1 — Rebuild aggregated reference sections**
|
|
155
257
|
|
|
156
|
-
|
|
157
|
-
is user-written content — preserve it exactly across runs. If the file is new, generate
|
|
158
|
-
a default preface (see Step 2).
|
|
258
|
+
Scan every `<!-- mdd-section: -->` block in the current `manual.md` for:
|
|
159
259
|
|
|
160
|
-
**
|
|
260
|
+
**Command Reference** — find all `#### Commands` tables. Merge into one master table,
|
|
261
|
+
sorted alphabetically by command. Include a "Feature" column. Replace the existing
|
|
262
|
+
`## Command Reference` section (or append if missing).
|
|
161
263
|
|
|
162
|
-
|
|
264
|
+
**API Reference** — find all `#### API Endpoints` tables. Merge into one master table,
|
|
265
|
+
sorted by path. Include a "Feature" column. Replace the existing `## API Reference`
|
|
266
|
+
section (or append if missing). Omit this section entirely if no API endpoints were found.
|
|
163
267
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
```markdown
|
|
168
|
-
# <Project Name> — User Manual
|
|
169
|
-
|
|
170
|
-
> <tagline or one-sentence description>
|
|
171
|
-
|
|
172
|
-
**Version:** <version from package.json, or "—">
|
|
173
|
-
**Generated:** <date>
|
|
174
|
-
|
|
175
|
-
<2-3 paragraph project overview synthesized from README and .startup.md>
|
|
268
|
+
**Configuration** — find all `#### Configuration` tables. Merge into one master table,
|
|
269
|
+
grouped by feature. Replace the existing `## Configuration` section (or append if
|
|
270
|
+
missing). Omit this section entirely if no configuration options were found.
|
|
176
271
|
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**Step 3 — Patch sections**
|
|
181
|
-
|
|
182
|
-
Apply changes to the existing manual body:
|
|
183
|
-
|
|
184
|
-
- **Changed/new sections:** Find the `<!-- mdd-section: <id> -->` … `<!-- /mdd-section: <id> -->` block in the existing body and replace it with the newly generated section. If no existing block is found (new doc), append after the last existing `<!-- /mdd-section -->` tag in the Features or Operations chapter.
|
|
185
|
-
- **Deleted sections:** Find and remove the entire `<!-- mdd-section: <id> -->` … `<!-- /mdd-section: <id> -->` block including surrounding blank lines.
|
|
186
|
-
- **Unchanged sections:** Leave exactly as-is.
|
|
187
|
-
|
|
188
|
-
**Step 4 — Rebuild aggregated reference sections**
|
|
272
|
+
**Step 2 — Regenerate TOC**
|
|
189
273
|
|
|
190
|
-
|
|
274
|
+
Scan the assembled document for all `##` and `###` headings. Build a markdown TOC with
|
|
275
|
+
anchor links. Replace the `<!-- toc -->` … `<!-- /toc -->` block (between
|
|
276
|
+
`## Table of Contents` and the next `---` divider) with the new TOC.
|
|
191
277
|
|
|
192
|
-
**
|
|
193
|
-
|
|
194
|
-
**API Reference** — scan every feature section for `#### API Endpoints` tables. Merge into one master table, sorted by path. Include a "Feature" column.
|
|
195
|
-
|
|
196
|
-
**Configuration** — scan every feature section for `#### Configuration` tables. Merge into one master table, grouped by feature.
|
|
197
|
-
|
|
198
|
-
**Step 5 — Regenerate TOC**
|
|
199
|
-
|
|
200
|
-
Scan the assembled document for all `##` and `###` headings. Build a markdown TOC with anchor links. Replace the existing TOC block (between `## Table of Contents` and the next `---` divider) with the new one.
|
|
201
|
-
|
|
202
|
-
**Step 6 — Final document structure**
|
|
278
|
+
**Step 3 — Final document structure**
|
|
203
279
|
|
|
204
280
|
The assembled `manual.md` must follow this order:
|
|
205
281
|
|
|
@@ -214,6 +290,7 @@ The assembled `manual.md` must follow this order:
|
|
|
214
290
|
---
|
|
215
291
|
|
|
216
292
|
## Table of Contents ← always regenerated
|
|
293
|
+
<!-- toc -->
|
|
217
294
|
1. [Overview](#overview)
|
|
218
295
|
2. [Features](#features)
|
|
219
296
|
- [Feature Name](#feature-name)
|
|
@@ -222,6 +299,7 @@ The assembled `manual.md` must follow this order:
|
|
|
222
299
|
4. [Command Reference](#command-reference)
|
|
223
300
|
5. [API Reference](#api-reference) ← omit if no API endpoints found
|
|
224
301
|
6. [Configuration](#configuration) ← omit if no config options found
|
|
302
|
+
<!-- /toc -->
|
|
225
303
|
|
|
226
304
|
---
|
|
227
305
|
|
|
@@ -261,23 +339,33 @@ The assembled `manual.md` must follow this order:
|
|
|
261
339
|
| Option | Type | Default | Description | Feature |
|
|
262
340
|
```
|
|
263
341
|
|
|
264
|
-
|
|
265
|
-
all feature sections.
|
|
342
|
+
**Step 2 — Build/update preface** (if generating for the first time)
|
|
266
343
|
|
|
267
|
-
|
|
344
|
+
If the preface was newly generated in Phase M2, ensure it uses this content:
|
|
268
345
|
|
|
269
|
-
|
|
346
|
+
Read `.mdd/.startup.md` for: project name, stack, tagline. Read `package.json` (if
|
|
347
|
+
present) for version. Read `README.md` introduction (first 3 paragraphs, if present).
|
|
270
348
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
349
|
+
```markdown
|
|
350
|
+
# <Project Name> — User Manual
|
|
351
|
+
|
|
352
|
+
> <tagline or one-sentence description>
|
|
353
|
+
|
|
354
|
+
**Version:** <version from package.json, or "—">
|
|
355
|
+
**Generated:** <date>
|
|
356
|
+
|
|
357
|
+
<2-3 paragraph project overview synthesized from README and .startup.md>
|
|
358
|
+
|
|
359
|
+
---
|
|
274
360
|
```
|
|
275
361
|
|
|
276
|
-
|
|
362
|
+
Write the final assembled `manual.md` to disk.
|
|
363
|
+
|
|
364
|
+
---
|
|
277
365
|
|
|
278
|
-
|
|
366
|
+
### Phase M5 — Write Hashes & Report
|
|
279
367
|
|
|
280
|
-
**Step
|
|
368
|
+
**Step 1 — Update hash store**
|
|
281
369
|
|
|
282
370
|
Write `.mdd/manual/.hashes.json` with:
|
|
283
371
|
- One entry per doc that now exists on disk (use the current hash)
|
|
@@ -285,7 +373,11 @@ Write `.mdd/manual/.hashes.json` with:
|
|
|
285
373
|
- Update `_generated` to current ISO timestamp
|
|
286
374
|
- Set `_manual_version: 1` (or increment if already set)
|
|
287
375
|
|
|
288
|
-
**
|
|
376
|
+
**Only write this file after manual.md is fully complete.** The hash file is the
|
|
377
|
+
completion marker — if `.hashes.json` is missing or stale, the next run will know
|
|
378
|
+
to regenerate all sections.
|
|
379
|
+
|
|
380
|
+
**Step 2 — Report**
|
|
289
381
|
|
|
290
382
|
```
|
|
291
383
|
✅ Manual generated
|
|
@@ -303,7 +395,7 @@ Tip: manual.md is print-ready markdown. Open in any markdown viewer,
|
|
|
303
395
|
export to PDF, or use as source material for blog posts and docs.
|
|
304
396
|
```
|
|
305
397
|
|
|
306
|
-
**Step
|
|
398
|
+
**Step 3 — Gitignore check**
|
|
307
399
|
|
|
308
400
|
Check whether `.mdd/manual/` is in `.gitignore`. If not, suggest:
|
|
309
401
|
```
|
|
@@ -333,3 +425,17 @@ can read and understand. Rules for section writers:
|
|
|
333
425
|
- **One idea per paragraph** — keep paragraphs to 3–5 sentences
|
|
334
426
|
- **Examples are mandatory** for any command or API endpoint listed
|
|
335
427
|
- **Planned features** are clearly marked `(planned — not yet implemented)`
|
|
428
|
+
|
|
429
|
+
### Recovery from Interrupted Runs
|
|
430
|
+
|
|
431
|
+
If `/mdd manual` was interrupted mid-generation (context compaction, session end, etc.):
|
|
432
|
+
|
|
433
|
+
1. Re-run `/mdd manual`. The hash check will find that `.hashes.json` is missing or
|
|
434
|
+
incomplete (since it's only written at the very end in Phase M5).
|
|
435
|
+
2. Sections already written to `manual.md` (from completed batches) will be detected as
|
|
436
|
+
present — but since their hashes aren't in `.hashes.json`, they'll be classified as
|
|
437
|
+
`new` and regenerated.
|
|
438
|
+
3. The regenerated sections will simply replace what was already there. No data is lost.
|
|
439
|
+
|
|
440
|
+
To skip regenerating sections that look complete, a user can run `--force` after manually
|
|
441
|
+
verifying the manual looks correct, then let Phase M5 write the hash file to seal the run.
|
package/commands/mdd.md
CHANGED
|
@@ -133,6 +133,9 @@ Use whichever path contains `mdd-audit.md`. Store it as `$MDD_DIR` and use it fo
|
|
|
133
133
|
- If arguments start with `manual` →
|
|
134
134
|
**Read `$MDD_DIR/mdd-manual.md` then follow MANUAL MODE instructions.**
|
|
135
135
|
|
|
136
|
+
- If arguments start with `bug` →
|
|
137
|
+
**Read `$MDD_DIR/mdd-bug.md` then follow BUG MODE instructions.**
|
|
138
|
+
|
|
136
139
|
- If arguments are empty → ask the user what they want to do (build a feature, run an audit, check status, etc.)
|
|
137
140
|
|
|
138
141
|
- Otherwise → **Read `$MDD_DIR/mdd-build.md` then follow BUILD MODE instructions.**
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA4IrD;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA4IrD;AAuPD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAW3E"}
|
package/dist/install.js
CHANGED
|
@@ -192,8 +192,9 @@ Single feature or bounded change?
|
|
|
192
192
|
|
|
193
193
|
Always ask — never auto-invoke. If the user says no, proceed as normal.
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
For bug fixes → suggest \`/mdd bug <description>\` to track and fix with doc integration.
|
|
196
|
+
|
|
197
|
+
Skip entirely for: typos, config tweaks, single-line changes, one-off shell commands.
|
|
197
198
|
`;
|
|
198
199
|
const PROJECT_CLAUDE_GUIDANCE_BLOCK = `
|
|
199
200
|
## MDD — Build Approach
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|