agile-context-engineering 0.3.0 → 0.5.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.
Files changed (147) hide show
  1. package/.claude-plugin/plugin.json +10 -0
  2. package/LICENSE +51 -51
  3. package/README.md +332 -324
  4. package/agents/ace-product-owner.md +1 -1
  5. package/agents/ace-research-synthesizer.md +228 -228
  6. package/agents/ace-wiki-mapper.md +449 -445
  7. package/bin/install.js +60 -64
  8. package/hooks/ace-check-update.js +70 -62
  9. package/hooks/ace-statusline.js +89 -89
  10. package/package.json +5 -4
  11. package/shared/lib/ace-core.js +308 -0
  12. package/shared/lib/ace-core.test.js +308 -0
  13. package/shared/lib/ace-github.js +753 -0
  14. package/shared/lib/ace-story.js +400 -0
  15. package/shared/lib/ace-story.test.js +250 -0
  16. package/{agile-context-engineering → shared}/utils/questioning.xml +110 -110
  17. package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
  18. package/skills/execute-story/SKILL.md +110 -0
  19. package/skills/execute-story/script.js +305 -0
  20. package/skills/execute-story/script.test.js +261 -0
  21. package/skills/execute-story/walkthrough-template.xml +255 -0
  22. package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +1219 -1219
  23. package/skills/help/SKILL.md +69 -0
  24. package/skills/help/script.js +318 -0
  25. package/skills/help/script.test.js +183 -0
  26. package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +540 -540
  27. package/skills/init-coding-standards/SKILL.md +72 -0
  28. package/skills/init-coding-standards/script.js +59 -0
  29. package/skills/init-coding-standards/script.test.js +70 -0
  30. package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +381 -386
  31. package/skills/map-cross-cutting/SKILL.md +89 -0
  32. package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +197 -197
  33. package/skills/map-cross-cutting/workflow.xml +330 -0
  34. package/skills/map-guide/SKILL.md +89 -0
  35. package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +137 -137
  36. package/skills/map-guide/workflow.xml +320 -0
  37. package/skills/map-pattern/SKILL.md +89 -0
  38. package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +159 -159
  39. package/skills/map-pattern/workflow.xml +331 -0
  40. package/skills/map-story/SKILL.md +127 -0
  41. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +115 -115
  42. package/skills/map-story/templates/guide.xml +137 -0
  43. package/skills/map-story/templates/pattern.xml +159 -0
  44. package/skills/map-story/templates/system-cross-cutting.xml +197 -0
  45. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +381 -381
  46. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/walkthrough.xml +255 -255
  47. package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +1046 -1046
  48. package/skills/map-subsystem/SKILL.md +111 -0
  49. package/skills/map-subsystem/script.js +60 -0
  50. package/skills/map-subsystem/script.test.js +68 -0
  51. package/skills/map-subsystem/templates/decizions.xml +115 -0
  52. package/skills/map-subsystem/templates/guide.xml +137 -0
  53. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +174 -174
  54. package/skills/map-subsystem/templates/pattern.xml +159 -0
  55. package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
  56. package/skills/map-subsystem/templates/system.xml +381 -0
  57. package/skills/map-subsystem/templates/walkthrough.xml +255 -0
  58. package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +15 -20
  59. package/skills/map-sys-doc/SKILL.md +90 -0
  60. package/skills/map-sys-doc/system.xml +381 -0
  61. package/skills/map-sys-doc/workflow.xml +336 -0
  62. package/skills/map-system/SKILL.md +85 -0
  63. package/skills/map-system/script.js +84 -0
  64. package/skills/map-system/script.test.js +73 -0
  65. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +254 -254
  66. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/wiki-readme.xml +296 -296
  67. package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
  68. package/skills/map-walkthrough/SKILL.md +92 -0
  69. package/skills/map-walkthrough/walkthrough.xml +255 -0
  70. package/skills/plan-backlog/SKILL.md +75 -0
  71. package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +231 -231
  72. package/skills/plan-backlog/script.js +136 -0
  73. package/skills/plan-backlog/script.test.js +83 -0
  74. package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
  75. package/skills/plan-feature/SKILL.md +76 -0
  76. package/skills/plan-feature/script.js +148 -0
  77. package/skills/plan-feature/script.test.js +80 -0
  78. package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +1487 -1495
  79. package/skills/plan-product-vision/SKILL.md +75 -0
  80. package/skills/plan-product-vision/script.js +60 -0
  81. package/skills/plan-product-vision/script.test.js +69 -0
  82. package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
  83. package/skills/plan-story/SKILL.md +116 -0
  84. package/skills/plan-story/script.js +326 -0
  85. package/skills/plan-story/script.test.js +240 -0
  86. package/skills/plan-story/story-template.xml +451 -0
  87. package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -944
  88. package/skills/research-external-solution/SKILL.md +107 -0
  89. package/skills/research-external-solution/script.js +238 -0
  90. package/skills/research-external-solution/script.test.js +134 -0
  91. package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
  92. package/skills/research-integration-solution/SKILL.md +98 -0
  93. package/skills/research-integration-solution/script.js +231 -0
  94. package/skills/research-integration-solution/script.test.js +134 -0
  95. package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +3 -5
  96. package/skills/research-story-wiki/SKILL.md +92 -0
  97. package/skills/research-story-wiki/script.js +231 -0
  98. package/skills/research-story-wiki/script.test.js +138 -0
  99. package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +3 -5
  100. package/skills/research-technical-solution/SKILL.md +103 -0
  101. package/skills/research-technical-solution/script.js +231 -0
  102. package/skills/research-technical-solution/script.test.js +134 -0
  103. package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +3 -5
  104. package/skills/review-story/SKILL.md +100 -0
  105. package/skills/review-story/script.js +257 -0
  106. package/skills/review-story/script.test.js +169 -0
  107. package/skills/review-story/story-template.xml +451 -0
  108. package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +279 -281
  109. package/skills/update/SKILL.md +53 -0
  110. package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +12 -13
  111. package/agile-context-engineering/src/ace-tools.js +0 -2881
  112. package/agile-context-engineering/src/ace-tools.test.js +0 -1089
  113. package/agile-context-engineering/templates/_command.md +0 -54
  114. package/agile-context-engineering/templates/_workflow.xml +0 -17
  115. package/agile-context-engineering/templates/config.json +0 -0
  116. package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
  117. package/commands/ace/execute-story.md +0 -138
  118. package/commands/ace/help.md +0 -93
  119. package/commands/ace/init-coding-standards.md +0 -83
  120. package/commands/ace/map-story.md +0 -165
  121. package/commands/ace/map-subsystem.md +0 -140
  122. package/commands/ace/map-system.md +0 -92
  123. package/commands/ace/map-walkthrough.md +0 -127
  124. package/commands/ace/plan-backlog.md +0 -83
  125. package/commands/ace/plan-feature.md +0 -89
  126. package/commands/ace/plan-product-vision.md +0 -81
  127. package/commands/ace/plan-story.md +0 -159
  128. package/commands/ace/research-external-solution.md +0 -138
  129. package/commands/ace/research-integration-solution.md +0 -135
  130. package/commands/ace/research-story-wiki.md +0 -116
  131. package/commands/ace/research-technical-solution.md +0 -147
  132. package/commands/ace/review-story.md +0 -109
  133. package/commands/ace/update.md +0 -56
  134. /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
  135. /package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +0 -0
  136. /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
  137. /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
  138. /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
  139. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
  140. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
  141. /package/{agile-context-engineering/workflows/map-walkthrough.xml → skills/map-walkthrough/workflow.xml} +0 -0
  142. /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
  143. /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
  144. /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
  145. /package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +0 -0
  146. /package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +0 -0
  147. /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
@@ -1,297 +1,297 @@
1
- <wiki-readme>
2
- <purpose>
3
- Template for `.docs/wiki/wiki-readme.md` — the entry point and usage guide for the
4
- engineering wiki. Generated once when the `.docs/wiki/` directory is first created
5
- (typically by `/ace:map-system`).
6
-
7
- Serves two audiences:
8
- - **Humans** who want to understand, navigate, and contribute to the wiki
9
- - **AI agents** who need to know which documents to load for a given task
10
-
11
- This is NOT a documentation template — it is a META-DOCUMENT that describes how the
12
- wiki itself works. Think of it as the README for the wiki system.
13
- </purpose>
14
-
15
- <template>
16
- <header>
17
- # Engineering Wiki
18
-
19
- Living knowledge base for this codebase. Maintained by AI agents after each story
20
- and by developers when making structural changes.
21
-
22
- **For humans**: browse by subsystem, read system and pattern docs to understand how things work.
23
- **For AI agents**: load the minimal set of docs needed for your current task — every token counts.
24
- </header>
25
-
26
- <directory-structure>
27
- ## Directory Structure
28
-
29
- ```
30
- .docs/wiki/
31
- |-- wiki-readme.md # This file — how to use the wiki
32
- |-- system-wide/ # Documents that span all subsystems
33
- | |-- system-structure.md # Physical layout, subsystem index, shared dirs
34
- | |-- system-architecture.md # L1/L2 C4 views, core flows, tech stack
35
- | |-- testing-framework.md # Test runner, patterns, conventions
36
- | |-- coding-standards.md # Language and paradigm-specific rules
37
- | `-- tech-debt-index.md # Roll-up of all known tech debt
38
- `-- subsystems/
39
- `-- [subsystem-name]/ # One folder per subsystem
40
- |-- structure.md # File layout, "where to add code"
41
- |-- architecture.md # L3 components, internal flows, dependencies
42
- |-- systems/ # WHAT exists — domain system docs
43
- | `-- [system-name].md
44
- |-- patterns/ # HOW to implement — reusable structural patterns
45
- | `-- [pattern-name].md
46
- |-- cross-cutting/ # Shared infrastructure spanning systems
47
- | `-- [concern-name].md
48
- |-- guides/ # Step-by-step implementation recipes
49
- | `-- [task-name].md
50
- |-- walkthroughs/ # Deep tutorial-style flow explanations
51
- | `-- [flow-name].md
52
- `-- decisions/ # WHY — Architecture Decision Records
53
- `-- ADR-NNN-[slug].md
54
- ```
55
- </directory-structure>
56
-
57
- <document-types>
58
- ## Document Types
59
-
60
- ### System-Wide Documents
61
-
62
- | Document | Answers | Created By |
63
- |----------|---------|------------|
64
- | `system-structure.md` | What subsystems exist and where do they live? | `/ace:map-system` |
65
- | `system-architecture.md` | What's the system design, tech stack, and core flows? | `/ace:map-system` |
66
- | `testing-framework.md` | How do we test? Runner, patterns, conventions. | `/ace:map-system` |
67
- | `coding-standards.md` | What are the mandatory code quality rules? | `/ace:init-coding-standards` |
68
- | `tech-debt-index.md` | What known quality issues exist across the codebase? | `/ace:map-story` (auto) |
69
-
70
- ### Subsystem Documents
71
-
72
- | Document | Answers | Created By |
73
- |----------|---------|------------|
74
- | `structure.md` | Where do files live in this subsystem? Where do I add new code? | `/ace:map-subsystem` |
75
- | `architecture.md` | What are the internal components, layers, and flows? | `/ace:map-subsystem` |
76
-
77
- ### Knowledge Documents (per subsystem)
78
-
79
- | Category | Answers | Style | When to Create |
80
- |----------|---------|-------|----------------|
81
- | `systems/` | How does this domain system work RIGHT NOW? | Terse reference (bullet points, component lists) | One doc per coherent domain capability (e.g., drawing system, order processing) |
82
- | `patterns/` | How do I implement using this reusable pattern? | Structure + how-to-apply recipe | When a structural pattern appears in 2+ implementations |
83
- | `cross-cutting/` | How does this shared infrastructure work? | Terse reference | For concerns spanning multiple domain systems (DI, events, registry) |
84
- | `guides/` | How do I perform this recurring task end-to-end? | Numbered steps, procedural | When a task is repeated (adding a new tool, endpoint, entity) |
85
- | `walkthroughs/` | Walk me through EXACTLY what happens when X | Tutorial-style, code snippets, framework explanations | When a complex flow spans multiple classes/frameworks and needs deep understanding |
86
- | `decisions/` | Why was this significant choice made? | ADR format (context, decision, consequences) | When a meaningful trade-off was evaluated and decided |
87
- </document-types>
88
-
89
- <how-to-use>
90
- ## How to Use This Wiki
91
-
92
- ### For Humans
93
-
94
- **Understand a subsystem:**
95
- 1. Read `subsystems/[name]/architecture.md` — components, layers, internal flows
96
- 2. Read relevant `systems/*.md` — domain systems you care about
97
- 3. Read `walkthroughs/*.md` — deep explanations of complex flows with code snippets
98
- 4. Follow cross-references to patterns and cross-cutting concerns
99
-
100
- **Implement a new feature:**
101
- 1. Read `system-wide/coding-standards.md` — mandatory rules
102
- 2. Read the subsystem's `structure.md` — where to add files
103
- 3. Check `guides/` — there may be a step-by-step recipe for your task
104
- 4. Check `walkthroughs/` — understand the flow you're extending before writing code
105
- 5. Read relevant `patterns/` — follow established structural patterns
106
- 6. Check `decisions/` — respect past architectural decisions
107
-
108
- **Onboard a new developer (or intern):**
109
- 1. Start with `system-wide/system-architecture.md` — the big picture
110
- 2. Read `walkthroughs/` for the subsystem they'll work on — these are written to teach, not just reference
111
- 3. Read `coding-standards.md` — non-negotiable rules
112
- 4. Then dive into `systems/` and `patterns/` for specifics
113
-
114
- **Debug or investigate:**
115
- 1. Start with the relevant `systems/*.md` — it has entry points, flows, and components
116
- 2. Read the relevant `walkthroughs/*.md` — trace the exact flow step by step with actual code
117
- 3. Follow the sequence diagrams to trace data flow
118
- 4. Check `cross-cutting/` for shared infrastructure behavior
119
-
120
- ### For AI Agents
121
-
122
- **Context loading strategy:**
123
- - ALWAYS load system-wide docs first: `system-structure.md`, `system-architecture.md`, `coding-standards.md`, `testing-framework.md`
124
- - Then load subsystem docs for the subsystem(s) you are modifying
125
- - Load ONLY the `systems/`, `patterns/`, `cross-cutting/`, `guides/`, and `walkthroughs/` docs relevant to your task
126
- - Check `decisions/` for ADRs that constrain your design choices
127
- - `walkthroughs/` are larger documents — load them only when you need to understand a complex flow in depth
128
- - Every token in your context window costs reasoning capacity — load less, reason better
129
-
130
- **Finding the right docs:**
131
- - Story files include a `## Relevant Wiki` section with curated doc references
132
- - Each doc cross-references related docs via markdown links — follow them as needed
133
- - `structure.md` -> where files live; `architecture.md` -> how things connect
134
- - `systems/` -> domain behavior; `patterns/` -> structural recipes; `guides/` -> task recipes
135
- - `walkthroughs/` -> deep understanding of complex flows (read when you need to UNDERSTAND, not just implement)
136
- </how-to-use>
137
-
138
- <how-to-create>
139
- ## Creating New Wiki Documents
140
-
141
- Wiki documents are primarily created and updated by AI agents (ace-wiki-mapper) through:
142
- - `/ace:map-system` — system-wide documents
143
- - `/ace:map-subsystem` — subsystem structure, architecture, and knowledge docs
144
- - `/ace:map-story` — updates knowledge docs after story implementation
145
-
146
- ### Manual Creation Guidelines
147
-
148
- If creating a document manually, follow these rules:
149
-
150
- **Naming:**
151
- - Use kebab-case for all file names: `drawing-system.md`, `repository-pattern.md`
152
- - Systems: name after the domain capability — `drawing-system.md`, `order-processing.md`
153
- - Patterns: name after the pattern — `template-method-pattern.md`, `repository-pattern.md`
154
- - Cross-cutting: name after the concern — `dependency-injection.md`, `event-system.md`
155
- - Guides: name after the task — `adding-drawing-tool.md`, `adding-crud-endpoint.md`
156
- - Walkthroughs: name after the flow — `tool-execution-pipeline.md`, `order-lifecycle.md`
157
- - Decisions: `ADR-NNN-kebab-slug.md` — sequential numbering within the subsystem
158
-
159
- **Content rules:**
160
- - EXTREMELY SUCCINCT — every word must add value (except walkthroughs, which prioritize depth and clarity)
161
- - Bullet points over paragraphs
162
- - Code references: `file-path:ClassName.methodName` — never line numbers
163
- - All architecture diagrams MUST be mermaid (flowchart, classDiagram, sequenceDiagram)
164
- - File trees: ASCII only (`|--` and backtick for last item)
165
- - Inline code ONLY for interface/type contracts (systems, patterns) or actual implementation snippets (walkthroughs)
166
- - Cross-reference related docs with markdown links
167
- - Every `systems/*.md` MUST have at least one mermaid sequenceDiagram
168
- - Every `walkthroughs/*.md` MUST have at least one mermaid sequenceDiagram AND actual code snippets from the codebase
169
-
170
- **Topic-scoped, not story-scoped:**
171
- - Documents describe a CONCERN, not a story or sprint
172
- - "How does the drawing system work?" — good
173
- - "What story #19 implemented" — wrong (that goes in `.ace/artifacts/`)
174
-
175
- **Create vs update decision:**
176
- 1. Does an existing doc already cover this topic? -> UPDATE it
177
- 2. Could this be a new section in an existing doc? -> Add the section
178
- 3. Any overlap with existing docs? -> Merge into the existing doc
179
- 4. Genuinely new topic with no overlap? -> CREATE a new doc
180
-
181
- **When to create a walkthrough vs a system doc:**
182
- - **System doc**: the domain system is well-bounded, an AI agent needs a quick reference to implement a related story
183
- - **Walkthrough**: the flow is complex, spans multiple classes or frameworks, a human needs to UNDERSTAND how it works before they can work with it. If you find yourself writing paragraphs of explanation with code snippets in a system doc, it should be a walkthrough instead
184
- </how-to-create>
185
-
186
- <keeping-current>
187
- ## Keeping the Wiki Current
188
-
189
- ### Automatic Updates
190
-
191
- After each story implementation, `/ace:map-story` analyzes git changes and updates
192
- the relevant knowledge documents. This is the primary mechanism for keeping the wiki
193
- current.
194
-
195
- ### Manual Update Triggers
196
-
197
- **Update `system-structure.md` when:**
198
- - New subsystem added, removed, or merged
199
- - Shared directory added or removed
200
- - Workspace configuration changed
201
-
202
- **Update `system-architecture.md` when:**
203
- - New subsystem or external integration added
204
- - Communication pattern changed
205
- - Tech stack changed
206
-
207
- **Update `testing-framework.md` when:**
208
- - Test runner or mocking approach changed
209
- - Coverage requirements changed
210
-
211
- **Update subsystem `structure.md` when:**
212
- - Top-level directory added, renamed, or removed within the subsystem
213
-
214
- **Update subsystem `architecture.md` when:**
215
- - New architectural layer or component type introduced
216
- - New inbound or outbound dependency added
217
-
218
- **Update knowledge docs when:**
219
- - `systems/` — new component, behavior, entry point, or integration point
220
- - `patterns/` — new implementation added, pattern structure changed
221
- - `cross-cutting/` — new registration, mechanism changed
222
- - `guides/` — new step required, step order changed, reference implementation changed
223
- - `walkthroughs/` — flow changed (new step, removed step, framework upgrade), new framework concept introduced, code snippets no longer match actual code
224
- - `decisions/` — NEVER edit accepted ADRs; create a new one that supersedes
225
-
226
- ### Tech Debt
227
-
228
- Tech debt items are tracked in individual `systems/` and `cross-cutting/` docs (## Tech Debt section)
229
- and rolled up in `system-wide/tech-debt-index.md`. Items are removed when fixed.
230
- </keeping-current>
231
-
232
- <subsystem-index>
233
- ## Subsystems
234
-
235
- [POPULATE FROM system-structure.md — list each subsystem with link to its wiki folder]
236
-
237
- | Subsystem | Wiki Path | Responsibility |
238
- |-----------|-----------|----------------|
239
- | [name] | [subsystems/name/](subsystems/name/) | [one-line responsibility] |
240
- </subsystem-index>
241
- </template>
242
-
243
- <guidelines>
244
-
245
- **This is a META-DOCUMENT, not a code documentation template.**
246
- It describes the wiki system itself — its structure, conventions, and usage.
247
- It does NOT contain code references, mermaid diagrams, or architectural content.
248
-
249
- **Populating the template:**
250
- - The Directory Structure section is FIXED — it describes the standard wiki layout.
251
- Do NOT customize it per project. It shows the canonical structure.
252
- - The Document Types tables are FIXED — they describe what each document type is.
253
- - The Subsystems table at the bottom MUST be populated from `system-structure.md`
254
- (the subsystem index). If `system-structure.md` doesn't exist yet, leave the table
255
- with placeholder rows and a note to populate after `/ace:map-system`.
256
- - All wiki paths in the Subsystems table should be relative links from the wiki root.
257
-
258
- **Tone:**
259
- - Direct and practical — this is a reference, not a tutorial
260
- - Written for two audiences in parallel: humans and AI agents
261
- - Short sentences, bullet points, tables over prose
262
- - No filler, no motivational text, no history
263
-
264
- **What does NOT belong here:**
265
- - Actual code documentation (that lives in the wiki docs themselves)
266
- - Project-specific architecture details (that's system-architecture.md)
267
- - Process details about ACE workflows (that's internal to the tool)
268
- - Story or feature information
269
- - Revision history
270
-
271
- </guidelines>
272
-
273
- <evolution>
274
-
275
- This document is MOSTLY STABLE — it describes the wiki system, which rarely changes.
276
-
277
- **Update triggers:**
278
- - New document type added to the wiki system (e.g., a new knowledge category)
279
- - New subsystem mapped (update the Subsystems table)
280
- - Subsystem removed or renamed (update the Subsystems table)
281
- - Wiki conventions changed (naming rules, diagram rules, reference format)
282
-
283
- **NOT an update trigger:**
284
- - New documents created within existing categories
285
- - Content updates to any wiki document
286
- - New stories, features, or sprints
287
- - Changes to ACE tool internals
288
-
289
- **Update rules:**
290
- - UPDATE the Subsystems table when subsystems are added/removed
291
- - The rest of the document should rarely need changes
292
- - If the wiki structure itself evolves (new folders, new doc types), update the
293
- Directory Structure and Document Types sections
294
-
295
- </evolution>
296
-
1
+ <wiki-readme>
2
+ <purpose>
3
+ Template for `.docs/wiki/wiki-readme.md` — the entry point and usage guide for the
4
+ engineering wiki. Generated once when the `.docs/wiki/` directory is first created
5
+ (typically by `/ace:map-system`).
6
+
7
+ Serves two audiences:
8
+ - **Humans** who want to understand, navigate, and contribute to the wiki
9
+ - **AI agents** who need to know which documents to load for a given task
10
+
11
+ This is NOT a documentation template — it is a META-DOCUMENT that describes how the
12
+ wiki itself works. Think of it as the README for the wiki system.
13
+ </purpose>
14
+
15
+ <template>
16
+ <header>
17
+ # Engineering Wiki
18
+
19
+ Living knowledge base for this codebase. Maintained by AI agents after each story
20
+ and by developers when making structural changes.
21
+
22
+ **For humans**: browse by subsystem, read system and pattern docs to understand how things work.
23
+ **For AI agents**: load the minimal set of docs needed for your current task — every token counts.
24
+ </header>
25
+
26
+ <directory-structure>
27
+ ## Directory Structure
28
+
29
+ ```
30
+ .docs/wiki/
31
+ |-- wiki-readme.md # This file — how to use the wiki
32
+ |-- system-wide/ # Documents that span all subsystems
33
+ | |-- system-structure.md # Physical layout, subsystem index, shared dirs
34
+ | |-- system-architecture.md # L1/L2 C4 views, core flows, tech stack
35
+ | |-- testing-framework.md # Test runner, patterns, conventions
36
+ | |-- coding-standards.md # Language and paradigm-specific rules
37
+ | `-- tech-debt-index.md # Roll-up of all known tech debt
38
+ `-- subsystems/
39
+ `-- [subsystem-name]/ # One folder per subsystem
40
+ |-- structure.md # File layout, "where to add code"
41
+ |-- architecture.md # L3 components, internal flows, dependencies
42
+ |-- systems/ # WHAT exists — domain system docs
43
+ | `-- [system-name].md
44
+ |-- patterns/ # HOW to implement — reusable structural patterns
45
+ | `-- [pattern-name].md
46
+ |-- cross-cutting/ # Shared infrastructure spanning systems
47
+ | `-- [concern-name].md
48
+ |-- guides/ # Step-by-step implementation recipes
49
+ | `-- [task-name].md
50
+ |-- walkthroughs/ # Deep tutorial-style flow explanations
51
+ | `-- [flow-name].md
52
+ `-- decisions/ # WHY — Architecture Decision Records
53
+ `-- ADR-NNN-[slug].md
54
+ ```
55
+ </directory-structure>
56
+
57
+ <document-types>
58
+ ## Document Types
59
+
60
+ ### System-Wide Documents
61
+
62
+ | Document | Answers | Created By |
63
+ |----------|---------|------------|
64
+ | `system-structure.md` | What subsystems exist and where do they live? | `/ace:map-system` |
65
+ | `system-architecture.md` | What's the system design, tech stack, and core flows? | `/ace:map-system` |
66
+ | `testing-framework.md` | How do we test? Runner, patterns, conventions. | `/ace:map-system` |
67
+ | `coding-standards.md` | What are the mandatory code quality rules? | `/ace:init-coding-standards` |
68
+ | `tech-debt-index.md` | What known quality issues exist across the codebase? | `/ace:map-story` (auto) |
69
+
70
+ ### Subsystem Documents
71
+
72
+ | Document | Answers | Created By |
73
+ |----------|---------|------------|
74
+ | `structure.md` | Where do files live in this subsystem? Where do I add new code? | `/ace:map-subsystem` |
75
+ | `architecture.md` | What are the internal components, layers, and flows? | `/ace:map-subsystem` |
76
+
77
+ ### Knowledge Documents (per subsystem)
78
+
79
+ | Category | Answers | Style | When to Create |
80
+ |----------|---------|-------|----------------|
81
+ | `systems/` | How does this domain system work RIGHT NOW? | Terse reference (bullet points, component lists) | One doc per coherent domain capability (e.g., drawing system, order processing) |
82
+ | `patterns/` | How do I implement using this reusable pattern? | Structure + how-to-apply recipe | When a structural pattern appears in 2+ implementations |
83
+ | `cross-cutting/` | How does this shared infrastructure work? | Terse reference | For concerns spanning multiple domain systems (DI, events, registry) |
84
+ | `guides/` | How do I perform this recurring task end-to-end? | Numbered steps, procedural | When a task is repeated (adding a new tool, endpoint, entity) |
85
+ | `walkthroughs/` | Walk me through EXACTLY what happens when X | Tutorial-style, code snippets, framework explanations | When a complex flow spans multiple classes/frameworks and needs deep understanding |
86
+ | `decisions/` | Why was this significant choice made? | ADR format (context, decision, consequences) | When a meaningful trade-off was evaluated and decided |
87
+ </document-types>
88
+
89
+ <how-to-use>
90
+ ## How to Use This Wiki
91
+
92
+ ### For Humans
93
+
94
+ **Understand a subsystem:**
95
+ 1. Read `subsystems/[name]/architecture.md` — components, layers, internal flows
96
+ 2. Read relevant `systems/*.md` — domain systems you care about
97
+ 3. Read `walkthroughs/*.md` — deep explanations of complex flows with code snippets
98
+ 4. Follow cross-references to patterns and cross-cutting concerns
99
+
100
+ **Implement a new feature:**
101
+ 1. Read `system-wide/coding-standards.md` — mandatory rules
102
+ 2. Read the subsystem's `structure.md` — where to add files
103
+ 3. Check `guides/` — there may be a step-by-step recipe for your task
104
+ 4. Check `walkthroughs/` — understand the flow you're extending before writing code
105
+ 5. Read relevant `patterns/` — follow established structural patterns
106
+ 6. Check `decisions/` — respect past architectural decisions
107
+
108
+ **Onboard a new developer (or intern):**
109
+ 1. Start with `system-wide/system-architecture.md` — the big picture
110
+ 2. Read `walkthroughs/` for the subsystem they'll work on — these are written to teach, not just reference
111
+ 3. Read `coding-standards.md` — non-negotiable rules
112
+ 4. Then dive into `systems/` and `patterns/` for specifics
113
+
114
+ **Debug or investigate:**
115
+ 1. Start with the relevant `systems/*.md` — it has entry points, flows, and components
116
+ 2. Read the relevant `walkthroughs/*.md` — trace the exact flow step by step with actual code
117
+ 3. Follow the sequence diagrams to trace data flow
118
+ 4. Check `cross-cutting/` for shared infrastructure behavior
119
+
120
+ ### For AI Agents
121
+
122
+ **Context loading strategy:**
123
+ - ALWAYS load system-wide docs first: `system-structure.md`, `system-architecture.md`, `coding-standards.md`, `testing-framework.md`
124
+ - Then load subsystem docs for the subsystem(s) you are modifying
125
+ - Load ONLY the `systems/`, `patterns/`, `cross-cutting/`, `guides/`, and `walkthroughs/` docs relevant to your task
126
+ - Check `decisions/` for ADRs that constrain your design choices
127
+ - `walkthroughs/` are larger documents — load them only when you need to understand a complex flow in depth
128
+ - Every token in your context window costs reasoning capacity — load less, reason better
129
+
130
+ **Finding the right docs:**
131
+ - Story files include a `## Relevant Wiki` section with curated doc references
132
+ - Each doc cross-references related docs via markdown links — follow them as needed
133
+ - `structure.md` -> where files live; `architecture.md` -> how things connect
134
+ - `systems/` -> domain behavior; `patterns/` -> structural recipes; `guides/` -> task recipes
135
+ - `walkthroughs/` -> deep understanding of complex flows (read when you need to UNDERSTAND, not just implement)
136
+ </how-to-use>
137
+
138
+ <how-to-create>
139
+ ## Creating New Wiki Documents
140
+
141
+ Wiki documents are primarily created and updated by AI agents (ace-wiki-mapper) through:
142
+ - `/ace:map-system` — system-wide documents
143
+ - `/ace:map-subsystem` — subsystem structure, architecture, and knowledge docs
144
+ - `/ace:map-story` — updates knowledge docs after story implementation
145
+
146
+ ### Manual Creation Guidelines
147
+
148
+ If creating a document manually, follow these rules:
149
+
150
+ **Naming:**
151
+ - Use kebab-case for all file names: `drawing-system.md`, `repository-pattern.md`
152
+ - Systems: name after the domain capability — `drawing-system.md`, `order-processing.md`
153
+ - Patterns: name after the pattern — `template-method-pattern.md`, `repository-pattern.md`
154
+ - Cross-cutting: name after the concern — `dependency-injection.md`, `event-system.md`
155
+ - Guides: name after the task — `adding-drawing-tool.md`, `adding-crud-endpoint.md`
156
+ - Walkthroughs: name after the flow — `tool-execution-pipeline.md`, `order-lifecycle.md`
157
+ - Decisions: `ADR-NNN-kebab-slug.md` — sequential numbering within the subsystem
158
+
159
+ **Content rules:**
160
+ - EXTREMELY SUCCINCT — every word must add value (except walkthroughs, which prioritize depth and clarity)
161
+ - Bullet points over paragraphs
162
+ - Code references: `file-path:ClassName.methodName` — never line numbers
163
+ - All architecture diagrams MUST be mermaid (flowchart, classDiagram, sequenceDiagram)
164
+ - File trees: ASCII only (`|--` and backtick for last item)
165
+ - Inline code ONLY for interface/type contracts (systems, patterns) or actual implementation snippets (walkthroughs)
166
+ - Cross-reference related docs with markdown links
167
+ - Every `systems/*.md` MUST have at least one mermaid sequenceDiagram
168
+ - Every `walkthroughs/*.md` MUST have at least one mermaid sequenceDiagram AND actual code snippets from the codebase
169
+
170
+ **Topic-scoped, not story-scoped:**
171
+ - Documents describe a CONCERN, not a story or sprint
172
+ - "How does the drawing system work?" — good
173
+ - "What story #19 implemented" — wrong (that goes in `.ace/artifacts/`)
174
+
175
+ **Create vs update decision:**
176
+ 1. Does an existing doc already cover this topic? -> UPDATE it
177
+ 2. Could this be a new section in an existing doc? -> Add the section
178
+ 3. Any overlap with existing docs? -> Merge into the existing doc
179
+ 4. Genuinely new topic with no overlap? -> CREATE a new doc
180
+
181
+ **When to create a walkthrough vs a system doc:**
182
+ - **System doc**: the domain system is well-bounded, an AI agent needs a quick reference to implement a related story
183
+ - **Walkthrough**: the flow is complex, spans multiple classes or frameworks, a human needs to UNDERSTAND how it works before they can work with it. If you find yourself writing paragraphs of explanation with code snippets in a system doc, it should be a walkthrough instead
184
+ </how-to-create>
185
+
186
+ <keeping-current>
187
+ ## Keeping the Wiki Current
188
+
189
+ ### Automatic Updates
190
+
191
+ After each story implementation, `/ace:map-story` analyzes git changes and updates
192
+ the relevant knowledge documents. This is the primary mechanism for keeping the wiki
193
+ current.
194
+
195
+ ### Manual Update Triggers
196
+
197
+ **Update `system-structure.md` when:**
198
+ - New subsystem added, removed, or merged
199
+ - Shared directory added or removed
200
+ - Workspace configuration changed
201
+
202
+ **Update `system-architecture.md` when:**
203
+ - New subsystem or external integration added
204
+ - Communication pattern changed
205
+ - Tech stack changed
206
+
207
+ **Update `testing-framework.md` when:**
208
+ - Test runner or mocking approach changed
209
+ - Coverage requirements changed
210
+
211
+ **Update subsystem `structure.md` when:**
212
+ - Top-level directory added, renamed, or removed within the subsystem
213
+
214
+ **Update subsystem `architecture.md` when:**
215
+ - New architectural layer or component type introduced
216
+ - New inbound or outbound dependency added
217
+
218
+ **Update knowledge docs when:**
219
+ - `systems/` — new component, behavior, entry point, or integration point
220
+ - `patterns/` — new implementation added, pattern structure changed
221
+ - `cross-cutting/` — new registration, mechanism changed
222
+ - `guides/` — new step required, step order changed, reference implementation changed
223
+ - `walkthroughs/` — flow changed (new step, removed step, framework upgrade), new framework concept introduced, code snippets no longer match actual code
224
+ - `decisions/` — NEVER edit accepted ADRs; create a new one that supersedes
225
+
226
+ ### Tech Debt
227
+
228
+ Tech debt items are tracked in individual `systems/` and `cross-cutting/` docs (## Tech Debt section)
229
+ and rolled up in `system-wide/tech-debt-index.md`. Items are removed when fixed.
230
+ </keeping-current>
231
+
232
+ <subsystem-index>
233
+ ## Subsystems
234
+
235
+ [POPULATE FROM system-structure.md — list each subsystem with link to its wiki folder]
236
+
237
+ | Subsystem | Wiki Path | Responsibility |
238
+ |-----------|-----------|----------------|
239
+ | [name] | [subsystems/name/](subsystems/name/) | [one-line responsibility] |
240
+ </subsystem-index>
241
+ </template>
242
+
243
+ <guidelines>
244
+
245
+ **This is a META-DOCUMENT, not a code documentation template.**
246
+ It describes the wiki system itself — its structure, conventions, and usage.
247
+ It does NOT contain code references, mermaid diagrams, or architectural content.
248
+
249
+ **Populating the template:**
250
+ - The Directory Structure section is FIXED — it describes the standard wiki layout.
251
+ Do NOT customize it per project. It shows the canonical structure.
252
+ - The Document Types tables are FIXED — they describe what each document type is.
253
+ - The Subsystems table at the bottom MUST be populated from `system-structure.md`
254
+ (the subsystem index). If `system-structure.md` doesn't exist yet, leave the table
255
+ with placeholder rows and a note to populate after `/ace:map-system`.
256
+ - All wiki paths in the Subsystems table should be relative links from the wiki root.
257
+
258
+ **Tone:**
259
+ - Direct and practical — this is a reference, not a tutorial
260
+ - Written for two audiences in parallel: humans and AI agents
261
+ - Short sentences, bullet points, tables over prose
262
+ - No filler, no motivational text, no history
263
+
264
+ **What does NOT belong here:**
265
+ - Actual code documentation (that lives in the wiki docs themselves)
266
+ - Project-specific architecture details (that's system-architecture.md)
267
+ - Process details about ACE workflows (that's internal to the tool)
268
+ - Story or feature information
269
+ - Revision history
270
+
271
+ </guidelines>
272
+
273
+ <evolution>
274
+
275
+ This document is MOSTLY STABLE — it describes the wiki system, which rarely changes.
276
+
277
+ **Update triggers:**
278
+ - New document type added to the wiki system (e.g., a new knowledge category)
279
+ - New subsystem mapped (update the Subsystems table)
280
+ - Subsystem removed or renamed (update the Subsystems table)
281
+ - Wiki conventions changed (naming rules, diagram rules, reference format)
282
+
283
+ **NOT an update trigger:**
284
+ - New documents created within existing categories
285
+ - Content updates to any wiki document
286
+ - New stories, features, or sprints
287
+ - Changes to ACE tool internals
288
+
289
+ **Update rules:**
290
+ - UPDATE the Subsystems table when subsystems are added/removed
291
+ - The rest of the document should rarely need changes
292
+ - If the wiki structure itself evolves (new folders, new doc types), update the
293
+ Directory Structure and Document Types sections
294
+
295
+ </evolution>
296
+
297
297
  </wiki-readme>