agile-context-engineering 0.2.2 → 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.
- package/.claude-plugin/plugin.json +10 -0
- package/CHANGELOG.md +82 -0
- package/README.md +27 -18
- package/agents/ace-product-owner.md +1 -1
- package/agents/ace-technical-application-architect.md +28 -0
- package/agents/ace-wiki-mapper.md +144 -29
- package/bin/install.js +67 -63
- package/hooks/ace-check-update.js +17 -9
- package/package.json +7 -5
- package/shared/lib/ace-core.js +308 -0
- package/shared/lib/ace-core.test.js +308 -0
- package/shared/lib/ace-github.js +753 -0
- package/shared/lib/ace-story.js +400 -0
- package/shared/lib/ace-story.test.js +250 -0
- package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
- package/skills/execute-story/SKILL.md +110 -0
- package/skills/execute-story/script.js +305 -0
- package/skills/execute-story/script.test.js +261 -0
- package/skills/execute-story/walkthrough-template.xml +255 -0
- package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +83 -9
- package/skills/help/SKILL.md +69 -0
- package/skills/help/script.js +318 -0
- package/skills/help/script.test.js +183 -0
- package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +8 -8
- package/skills/init-coding-standards/SKILL.md +72 -0
- package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +38 -0
- package/skills/init-coding-standards/script.js +59 -0
- package/skills/init-coding-standards/script.test.js +70 -0
- package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +4 -9
- package/skills/map-cross-cutting/SKILL.md +89 -0
- package/skills/map-cross-cutting/workflow.xml +330 -0
- package/skills/map-guide/SKILL.md +89 -0
- package/skills/map-guide/workflow.xml +320 -0
- package/skills/map-pattern/SKILL.md +89 -0
- package/skills/map-pattern/workflow.xml +331 -0
- package/skills/map-story/SKILL.md +127 -0
- package/skills/map-story/templates/guide.xml +137 -0
- package/skills/map-story/templates/pattern.xml +159 -0
- package/skills/map-story/templates/system-cross-cutting.xml +197 -0
- package/skills/map-story/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +258 -9
- package/skills/map-subsystem/SKILL.md +111 -0
- package/skills/map-subsystem/script.js +60 -0
- package/skills/map-subsystem/script.test.js +68 -0
- package/skills/map-subsystem/templates/decizions.xml +115 -0
- package/skills/map-subsystem/templates/guide.xml +137 -0
- package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +3 -3
- package/skills/map-subsystem/templates/pattern.xml +159 -0
- package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
- package/skills/map-subsystem/templates/system.xml +381 -0
- package/skills/map-subsystem/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +17 -21
- package/skills/map-sys-doc/SKILL.md +90 -0
- package/skills/map-sys-doc/system.xml +381 -0
- package/skills/map-sys-doc/workflow.xml +336 -0
- package/skills/map-system/SKILL.md +85 -0
- package/skills/map-system/script.js +84 -0
- package/skills/map-system/script.test.js +73 -0
- package/skills/map-system/templates/wiki-readme.xml +297 -0
- package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
- package/skills/map-walkthrough/SKILL.md +92 -0
- package/skills/map-walkthrough/walkthrough.xml +255 -0
- package/skills/map-walkthrough/workflow.xml +457 -0
- package/skills/plan-backlog/SKILL.md +75 -0
- package/skills/plan-backlog/script.js +136 -0
- package/skills/plan-backlog/script.test.js +83 -0
- package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
- package/skills/plan-feature/SKILL.md +76 -0
- package/skills/plan-feature/script.js +148 -0
- package/skills/plan-feature/script.test.js +80 -0
- package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +21 -29
- package/skills/plan-product-vision/SKILL.md +75 -0
- package/skills/plan-product-vision/script.js +60 -0
- package/skills/plan-product-vision/script.test.js +69 -0
- package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
- package/skills/plan-story/SKILL.md +116 -0
- package/skills/plan-story/script.js +326 -0
- package/skills/plan-story/script.test.js +240 -0
- package/skills/plan-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -909
- package/skills/research-external-solution/SKILL.md +107 -0
- package/skills/research-external-solution/script.js +238 -0
- package/skills/research-external-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
- package/skills/research-integration-solution/SKILL.md +98 -0
- package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +1 -0
- package/skills/research-integration-solution/script.js +231 -0
- package/skills/research-integration-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +4 -5
- package/skills/research-story-wiki/SKILL.md +92 -0
- package/skills/research-story-wiki/script.js +231 -0
- package/skills/research-story-wiki/script.test.js +138 -0
- package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +4 -0
- package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +5 -6
- package/skills/research-technical-solution/SKILL.md +103 -0
- package/skills/research-technical-solution/script.js +231 -0
- package/skills/research-technical-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +4 -5
- package/skills/review-story/SKILL.md +100 -0
- package/skills/review-story/script.js +257 -0
- package/skills/review-story/script.test.js +169 -0
- package/skills/review-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +1 -3
- package/skills/update/SKILL.md +53 -0
- package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +237 -207
- package/agile-context-engineering/src/ace-tools.js +0 -2881
- package/agile-context-engineering/src/ace-tools.test.js +0 -1089
- package/agile-context-engineering/templates/_command.md +0 -54
- package/agile-context-engineering/templates/_workflow.xml +0 -17
- package/agile-context-engineering/templates/config.json +0 -0
- package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
- package/agile-context-engineering/templates/wiki/wiki-readme.xml +0 -276
- package/commands/ace/execute-story.md +0 -137
- package/commands/ace/help.md +0 -93
- package/commands/ace/init-coding-standards.md +0 -83
- package/commands/ace/map-story.md +0 -156
- package/commands/ace/map-subsystem.md +0 -138
- package/commands/ace/map-system.md +0 -92
- package/commands/ace/plan-backlog.md +0 -83
- package/commands/ace/plan-feature.md +0 -89
- package/commands/ace/plan-product-vision.md +0 -81
- package/commands/ace/plan-story.md +0 -145
- package/commands/ace/research-external-solution.md +0 -138
- package/commands/ace/research-integration-solution.md +0 -135
- package/commands/ace/research-story-wiki.md +0 -116
- package/commands/ace/research-technical-solution.md +0 -147
- package/commands/ace/review-story.md +0 -109
- package/commands/ace/update.md +0 -54
- /package/{agile-context-engineering → shared}/utils/questioning.xml +0 -0
- /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
- /package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
|
@@ -0,0 +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
|
+
|
|
297
|
+
</wiki-readme>
|
package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml}
RENAMED
|
@@ -29,19 +29,14 @@
|
|
|
29
29
|
<step name="setup" order="1">
|
|
30
30
|
**MANDATORY FIRST STEP — Execute environment detection before any user interaction:**
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
INIT=$(node ~/.claude/agile-context-engineering/src/ace-tools.js init map-system)
|
|
34
|
-
```
|
|
32
|
+
INIT is available from the preprocessed Environment Context above — do NOT re-run init.
|
|
35
33
|
|
|
36
|
-
Parse JSON for: `mapper_model`, `commit_docs`, `is_brownfield`, `is_greenfield`,
|
|
34
|
+
Parse INIT JSON for: `mapper_model`, `commit_docs`, `is_brownfield`, `is_greenfield`,
|
|
37
35
|
`has_existing_code`, `has_package_file`, `wiki_dir_exists`, `existing_wiki_files`,
|
|
38
36
|
`has_system_structure`, `has_system_architecture`, `has_testing_framework`,
|
|
39
37
|
`has_coding_standards`, `has_git`.
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
MAPPER_MODEL=$(node ~/.claude/agile-context-engineering/src/ace-tools.js resolve-model ace-wiki-mapper --raw)
|
|
44
|
-
```
|
|
39
|
+
MAPPER_MODEL is available from INIT.mapper_model — do NOT re-run resolve-model.
|
|
45
40
|
|
|
46
41
|
Display stage banner:
|
|
47
42
|
|
|
@@ -178,7 +173,7 @@
|
|
|
178
173
|
**Generate wiki-readme.md if it does not already exist:**
|
|
179
174
|
|
|
180
175
|
Check if `.docs/wiki/wiki-readme.md` exists. If it does NOT exist, generate it
|
|
181
|
-
from the wiki-readme template (
|
|
176
|
+
from the wiki-readme template (`${CLAUDE_SKILL_DIR}/templates/wiki-readme.xml`).
|
|
182
177
|
|
|
183
178
|
Read the template's `<template>` section and write the markdown content to
|
|
184
179
|
`.docs/wiki/wiki-readme.md`. This is a mostly-static meta-document — fill it
|
|
@@ -223,7 +218,7 @@
|
|
|
223
218
|
|
|
224
219
|
Analyze this codebase and produce the system-wide structure document.
|
|
225
220
|
|
|
226
|
-
**Template:** Read
|
|
221
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-structure.xml
|
|
227
222
|
**Output:** Write to .docs/wiki/system-wide/system-structure.md
|
|
228
223
|
|
|
229
224
|
Follow the template structure. Fill every section with real data from the codebase.
|
|
@@ -247,7 +242,7 @@
|
|
|
247
242
|
UPDATE the existing system structure document.
|
|
248
243
|
|
|
249
244
|
**Current document:** Read .docs/wiki/system-wide/system-structure.md
|
|
250
|
-
**Template:** Read
|
|
245
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-structure.xml
|
|
251
246
|
|
|
252
247
|
Compare the current document against the actual codebase state.
|
|
253
248
|
Update sections that are stale. Add new subsystems or shared directories
|
|
@@ -298,7 +293,7 @@
|
|
|
298
293
|
|
|
299
294
|
Analyze this codebase and produce the testing framework document.
|
|
300
295
|
|
|
301
|
-
**Template:** Read
|
|
296
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/testing-framework.xml
|
|
302
297
|
**Output:** Write to .docs/wiki/system-wide/testing-framework.md
|
|
303
298
|
|
|
304
299
|
Check package.json/config files for test runner and scripts.
|
|
@@ -325,7 +320,7 @@
|
|
|
325
320
|
UPDATE the existing testing framework document.
|
|
326
321
|
|
|
327
322
|
**Current document:** Read .docs/wiki/system-wide/testing-framework.md
|
|
328
|
-
**Template:** Read
|
|
323
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/testing-framework.xml
|
|
329
324
|
|
|
330
325
|
Compare against current codebase state. Update stale sections only.
|
|
331
326
|
Check for new test runner config, new test patterns, changed coverage settings.
|
|
@@ -374,7 +369,7 @@
|
|
|
374
369
|
|
|
375
370
|
Analyze this codebase and produce the system-wide architecture document.
|
|
376
371
|
|
|
377
|
-
**Template:** Read
|
|
372
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
|
|
378
373
|
**Output:** Write to .docs/wiki/system-wide/system-architecture.md
|
|
379
374
|
|
|
380
375
|
**Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
|
|
@@ -406,7 +401,7 @@
|
|
|
406
401
|
UPDATE the existing system architecture document.
|
|
407
402
|
|
|
408
403
|
**Current document:** Read .docs/wiki/system-wide/system-architecture.md
|
|
409
|
-
**Template:** Read
|
|
404
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
|
|
410
405
|
**Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
|
|
411
406
|
|
|
412
407
|
Compare against current codebase state. Check:
|
|
@@ -512,7 +507,7 @@
|
|
|
512
507
|
**Architecture brief from user interview:**
|
|
513
508
|
{paste the context brief here}
|
|
514
509
|
|
|
515
|
-
**Template:** Read
|
|
510
|
+
**Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
|
|
516
511
|
**Output:** Write to .docs/wiki/system-wide/system-architecture.md
|
|
517
512
|
|
|
518
513
|
**Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: map-walkthrough
|
|
3
|
+
description: Create deep tutorial-style flow walkthroughs in .docs/wiki/subsystems/[name]/walkthroughs/
|
|
4
|
+
argument-hint: "flow='tick data from bybit websocket to timescaledb' subsystem='data-ingestion' emphasis-frameworks='SignalR,Redis Streams'"
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Write
|
|
12
|
+
- Edit
|
|
13
|
+
- LSP
|
|
14
|
+
- AskUserQuestion
|
|
15
|
+
- WebSearch
|
|
16
|
+
- WebFetch
|
|
17
|
+
- mcp__context7__resolve-library-id
|
|
18
|
+
- mcp__context7__query-docs
|
|
19
|
+
model: opus
|
|
20
|
+
effort: max
|
|
21
|
+
context: fork
|
|
22
|
+
agent: ace-wiki-mapper
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Map Walkthrough
|
|
26
|
+
|
|
27
|
+
Create deep tutorial-style flow walkthroughs that trace a flow end-to-end through the codebase.
|
|
28
|
+
|
|
29
|
+
## When to Use
|
|
30
|
+
|
|
31
|
+
- After `/ace:map-subsystem` — to create deep walkthroughs for complex flows
|
|
32
|
+
- Anytime a complex multi-class flow needs human-readable documentation
|
|
33
|
+
- When onboarding new developers who need to understand specific flows
|
|
34
|
+
- A flow spans 3+ classes across multiple architectural layers
|
|
35
|
+
- External frameworks/libraries are involved that need explanation
|
|
36
|
+
- An intern reading the code alone would not understand what's happening
|
|
37
|
+
- A system doc would need paragraphs of explanation with code snippets
|
|
38
|
+
|
|
39
|
+
## Input
|
|
40
|
+
|
|
41
|
+
### Required
|
|
42
|
+
|
|
43
|
+
- **`flow`** (text) — Natural language description of the end-to-end flow — WHERE it starts and WHERE it ends. The agent finds the entry point, follows every call through the entire code, and traces it to the exit point. E.g.: "tick data from bybit websocket to timescaledb", "user message from SignalR hub until LLM response is sent back", "order placement from API endpoint to payment confirmation". If not provided, pause and ask the user.
|
|
44
|
+
|
|
45
|
+
- **`subsystem`** (path | text) — Subsystem where the walkthrough wiki file is placed. The flow itself may span MULTIPLE subsystems — the agent follows the code wherever it goes. This parameter only determines the wiki location: `.docs/wiki/subsystems/[subsystem]/walkthroughs/`. If not provided, pause and ask the user.
|
|
46
|
+
|
|
47
|
+
### Optional
|
|
48
|
+
|
|
49
|
+
- **`emphasis-frameworks`** (csv) — Comma-separated frameworks/libraries/APIs/SDKs that should receive deep explanation throughout the walkthrough. When specified: EVERY step touching the framework gets a framework info box, ALL code interacting with the framework is shown and explained, the Framework Concepts Reference table becomes MANDATORY. Each entry is EITHER: a name (agent researches via WebSearch/context7) like "SignalR" or "SignalR,EF Core"; a file path or URL to documentation; or a mix of both.
|
|
50
|
+
|
|
51
|
+
## Supporting Resources
|
|
52
|
+
|
|
53
|
+
Read ALL of these before starting the workflow:
|
|
54
|
+
|
|
55
|
+
- **Workflow**: Read [workflow.xml](workflow.xml) — complete orchestration process with all steps
|
|
56
|
+
- **Walkthrough template**: Read [walkthrough.xml](walkthrough.xml) — output format for the walkthrough
|
|
57
|
+
- **Questioning guide**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/questioning.xml` — deep questioning techniques
|
|
58
|
+
- **UI formatting**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/ui-formatting.md` — ACE output formatting rules
|
|
59
|
+
|
|
60
|
+
## Process
|
|
61
|
+
|
|
62
|
+
Use the `ace-wiki-mapper` agent that's specialized in wiki exploration and documentation writing.
|
|
63
|
+
|
|
64
|
+
Read all supporting resources listed above, then execute the workflow defined in [workflow.xml](workflow.xml) end-to-end. Preserve all workflow gates (validation, user questions, commits).
|
|
65
|
+
|
|
66
|
+
**Objective:** Create or update a deep tutorial-style walkthrough that traces a flow end-to-end. The agent reads the flow description, finds the entry point in the codebase, then follows EVERY SINGLE CALL through the entire code — handler to service to repository to database (or whatever the flow touches) — using LSP and code reading. It discovers all files automatically, extracts emphasis framework usages from the actual code, researches those specific concepts, and writes the walkthrough with real code snippets and framework info boxes.
|
|
67
|
+
|
|
68
|
+
## Artifacts
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
.docs/wiki/subsystems/[subsystem-name]/walkthroughs/[flow-name].md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Example Usage
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
# Basic walkthrough
|
|
78
|
+
/ace:map-walkthrough flow='tick data from bybit websocket to timescaledb' subsystem='data-ingestion'
|
|
79
|
+
|
|
80
|
+
# With emphasis frameworks
|
|
81
|
+
/ace:map-walkthrough flow='user message from SignalR hub until LLM response is sent back' subsystem='chat' emphasis-frameworks='SignalR,Redis Streams'
|
|
82
|
+
|
|
83
|
+
# With documentation link as emphasis
|
|
84
|
+
/ace:map-walkthrough flow='order placement from API endpoint to payment confirmation' subsystem='orders' emphasis-frameworks='https://learn.microsoft.com/aspnet/signalr/overview,EF Core'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Next Steps
|
|
88
|
+
|
|
89
|
+
- `/clear` first for a fresh context window
|
|
90
|
+
- `/ace:map-walkthrough` — create another walkthrough
|
|
91
|
+
- `/ace:map-subsystem [subsystem]` — map or refresh an entire subsystem
|
|
92
|
+
- Review and edit files in `.docs/wiki/subsystems/[subsystem-name]/walkthroughs/`
|