agile-context-engineering 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +82 -0
- package/LICENSE +51 -51
- package/README.md +324 -323
- package/agents/ace-research-synthesizer.md +228 -228
- package/agents/ace-technical-application-architect.md +28 -0
- package/agents/ace-wiki-mapper.md +445 -334
- package/agile-context-engineering/src/ace-tools.test.js +1089 -1089
- package/agile-context-engineering/templates/_command.md +53 -53
- package/agile-context-engineering/templates/_workflow.xml +16 -16
- package/agile-context-engineering/templates/product/product-backlog.xml +231 -231
- package/agile-context-engineering/templates/product/story-integration-solution.xml +1 -0
- package/agile-context-engineering/templates/product/story-wiki.xml +4 -0
- package/agile-context-engineering/templates/wiki/coding-standards.xml +38 -0
- package/agile-context-engineering/templates/wiki/decizions.xml +115 -115
- package/agile-context-engineering/templates/wiki/guide.xml +137 -137
- package/agile-context-engineering/templates/wiki/module-discovery.xml +174 -174
- package/agile-context-engineering/templates/wiki/pattern.xml +159 -159
- package/agile-context-engineering/templates/wiki/system-architecture.xml +254 -254
- package/agile-context-engineering/templates/wiki/system-cross-cutting.xml +197 -197
- package/agile-context-engineering/templates/wiki/system.xml +381 -381
- package/agile-context-engineering/templates/wiki/walkthrough.xml +255 -0
- package/agile-context-engineering/templates/wiki/wiki-readme.xml +297 -276
- package/agile-context-engineering/utils/questioning.xml +110 -110
- package/agile-context-engineering/workflows/execute-story.xml +1219 -1145
- package/agile-context-engineering/workflows/help.xml +540 -540
- package/agile-context-engineering/workflows/init-coding-standards.xml +386 -386
- package/agile-context-engineering/workflows/map-story.xml +1046 -797
- package/agile-context-engineering/workflows/map-subsystem.xml +2 -1
- package/agile-context-engineering/workflows/map-walkthrough.xml +457 -0
- package/agile-context-engineering/workflows/plan-feature.xml +1495 -1495
- package/agile-context-engineering/workflows/plan-story.xml +36 -1
- package/agile-context-engineering/workflows/research-integration-solution.xml +1 -0
- package/agile-context-engineering/workflows/research-story-wiki.xml +2 -1
- package/agile-context-engineering/workflows/research-technical-solution.xml +1 -0
- package/agile-context-engineering/workflows/review-story.xml +281 -281
- package/agile-context-engineering/workflows/update.xml +238 -207
- package/bin/install.js +8 -0
- package/commands/ace/execute-story.md +1 -0
- package/commands/ace/help.md +93 -93
- package/commands/ace/init-coding-standards.md +83 -83
- package/commands/ace/map-story.md +165 -156
- package/commands/ace/map-subsystem.md +140 -138
- package/commands/ace/map-system.md +92 -92
- package/commands/ace/map-walkthrough.md +127 -0
- package/commands/ace/plan-feature.md +89 -89
- package/commands/ace/plan-story.md +15 -1
- package/commands/ace/review-story.md +109 -109
- package/commands/ace/update.md +56 -54
- package/hooks/ace-check-update.js +62 -62
- package/hooks/ace-statusline.js +89 -89
- package/package.json +4 -3
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ace:COMMAND_NAME
|
|
3
|
-
description: COMMAND_DESCRIPTION
|
|
4
|
-
argument-hint: ""
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Bash
|
|
8
|
-
- Glob
|
|
9
|
-
- Grep
|
|
10
|
-
- Write
|
|
11
|
-
- Task
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
```xml
|
|
15
|
-
<command>
|
|
16
|
-
|
|
17
|
-
<execution-time>
|
|
18
|
-
</execution-time>
|
|
19
|
-
|
|
20
|
-
<input>
|
|
21
|
-
<flags>
|
|
22
|
-
</flags>
|
|
23
|
-
|
|
24
|
-
<parameters>
|
|
25
|
-
<required>
|
|
26
|
-
</required>
|
|
27
|
-
|
|
28
|
-
<optional>
|
|
29
|
-
</optional>
|
|
30
|
-
</parameters>
|
|
31
|
-
</input>
|
|
32
|
-
|
|
33
|
-
<execution-context>
|
|
34
|
-
</execution-context>
|
|
35
|
-
|
|
36
|
-
<output>
|
|
37
|
-
<objective>
|
|
38
|
-
</objective>
|
|
39
|
-
|
|
40
|
-
<artifacts>
|
|
41
|
-
</artifacts>
|
|
42
|
-
</output>
|
|
43
|
-
|
|
44
|
-
<process>
|
|
45
|
-
</process>
|
|
46
|
-
|
|
47
|
-
<success_criteria>
|
|
48
|
-
</success_criteria>
|
|
49
|
-
|
|
50
|
-
<next-steps>
|
|
51
|
-
</next-steps>
|
|
52
|
-
|
|
53
|
-
</command>
|
|
1
|
+
---
|
|
2
|
+
name: ace:COMMAND_NAME
|
|
3
|
+
description: COMMAND_DESCRIPTION
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Write
|
|
11
|
+
- Task
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
```xml
|
|
15
|
+
<command>
|
|
16
|
+
|
|
17
|
+
<execution-time>
|
|
18
|
+
</execution-time>
|
|
19
|
+
|
|
20
|
+
<input>
|
|
21
|
+
<flags>
|
|
22
|
+
</flags>
|
|
23
|
+
|
|
24
|
+
<parameters>
|
|
25
|
+
<required>
|
|
26
|
+
</required>
|
|
27
|
+
|
|
28
|
+
<optional>
|
|
29
|
+
</optional>
|
|
30
|
+
</parameters>
|
|
31
|
+
</input>
|
|
32
|
+
|
|
33
|
+
<execution-context>
|
|
34
|
+
</execution-context>
|
|
35
|
+
|
|
36
|
+
<output>
|
|
37
|
+
<objective>
|
|
38
|
+
</objective>
|
|
39
|
+
|
|
40
|
+
<artifacts>
|
|
41
|
+
</artifacts>
|
|
42
|
+
</output>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
</process>
|
|
46
|
+
|
|
47
|
+
<success_criteria>
|
|
48
|
+
</success_criteria>
|
|
49
|
+
|
|
50
|
+
<next-steps>
|
|
51
|
+
</next-steps>
|
|
52
|
+
|
|
53
|
+
</command>
|
|
54
54
|
```
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
<workflow>
|
|
2
|
-
|
|
3
|
-
<purpose>
|
|
4
|
-
</purpose>
|
|
5
|
-
|
|
6
|
-
<mandatory-context>
|
|
7
|
-
[TODO] Read all files referenced by the invoking prompt's execution-context before starting. Also Read any document or text passed as parameter in the invoking command that called this template.
|
|
8
|
-
</mandatory-context>
|
|
9
|
-
|
|
10
|
-
<process>
|
|
11
|
-
<step name="1">
|
|
12
|
-
</step>
|
|
13
|
-
|
|
14
|
-
<step name="2">
|
|
15
|
-
</step>
|
|
16
|
-
</process>
|
|
1
|
+
<workflow>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
</purpose>
|
|
5
|
+
|
|
6
|
+
<mandatory-context>
|
|
7
|
+
[TODO] Read all files referenced by the invoking prompt's execution-context before starting. Also Read any document or text passed as parameter in the invoking command that called this template.
|
|
8
|
+
</mandatory-context>
|
|
9
|
+
|
|
10
|
+
<process>
|
|
11
|
+
<step name="1">
|
|
12
|
+
</step>
|
|
13
|
+
|
|
14
|
+
<step name="2">
|
|
15
|
+
</step>
|
|
16
|
+
</process>
|
|
17
17
|
</workflow>
|
|
@@ -1,231 +1,231 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
<purpose>
|
|
4
|
-
Template for `.ace/artifacts/product/product-backlog.md` — the single ordered backlog
|
|
5
|
-
of Epics and Features that define what the product will deliver. Epics are broad
|
|
6
|
-
capability categories; Features are concrete deliverables within an Epic.
|
|
7
|
-
</purpose>
|
|
8
|
-
|
|
9
|
-
<output-format>
|
|
10
|
-
|
|
11
|
-
<section name="header">
|
|
12
|
-
## Product Backlog
|
|
13
|
-
|
|
14
|
-
Brief paragraph describing the product's current direction and what this backlog
|
|
15
|
-
is ordered toward. Keep it to 2-3 sentences — enough context for anyone reading
|
|
16
|
-
the backlog to understand the "why" behind the ordering.
|
|
17
|
-
</section>
|
|
18
|
-
|
|
19
|
-
<section name="epic-index">
|
|
20
|
-
### Epic Index
|
|
21
|
-
|
|
22
|
-
<!-- Ordered by strategic priority. This is the master list of all Epics. -->
|
|
23
|
-
|
|
24
|
-
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
25
|
-
|----|-------|-------------|--------|----------|------|--------|-----------|------|
|
|
26
|
-
| #45 | [Exact GitHub title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | — | [Milestone] | [#45](url) |
|
|
27
|
-
| E1 | [New epic title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | — | [Milestone] | — |
|
|
28
|
-
</section>
|
|
29
|
-
|
|
30
|
-
<section name="epic-details" repeat="once per Epic">
|
|
31
|
-
### #45: [Exact GitHub Epic Title] <!-- or ### E[N]: [Title] for local epics -->
|
|
32
|
-
|
|
33
|
-
<!-- Features ordered by delivery sequence within this Epic. -->
|
|
34
|
-
|
|
35
|
-
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
36
|
-
|----|-------|-------------|--------|----------|------|--------|-----------|------|
|
|
37
|
-
| #78 | [Exact GitHub title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | [Sprint] | [Milestone] | [#78](url) |
|
|
38
|
-
| F1 | [New feature title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | [Sprint] | [Milestone] | — |
|
|
39
|
-
</section>
|
|
40
|
-
|
|
41
|
-
</output-format>
|
|
42
|
-
|
|
43
|
-
<column-definitions>
|
|
44
|
-
|
|
45
|
-
<column name="ID">
|
|
46
|
-
<format>
|
|
47
|
-
<github-linked>#[issue_number] — when the item has a corresponding GitHub issue (e.g. #45, #78)</github-linked>
|
|
48
|
-
<local-epic>E[number] — sequential, for epics without a GitHub issue (e.g. E1, E2)</local-epic>
|
|
49
|
-
<local-feature>F[number] — sequential across the entire backlog, for features without a GitHub issue (e.g. F1, F2)</local-feature>
|
|
50
|
-
</format>
|
|
51
|
-
<rules>
|
|
52
|
-
<rule>GitHub-linked items ALWAYS use #[issue_number] as their ID — this is the source of truth</rule>
|
|
53
|
-
<rule>Only items without a GitHub issue use E[N] or F[N] local IDs</rule>
|
|
54
|
-
<rule>IDs are stable — never renumber after assignment</rule>
|
|
55
|
-
<rule>Gaps in E[N]/F[N] sequences are fine (deleted items leave gaps)</rule>
|
|
56
|
-
<rule>When an item gets a GitHub issue later (via sync), its ID changes from E[N]/F[N] to #[issue_number]</rule>
|
|
57
|
-
</rules>
|
|
58
|
-
</column>
|
|
59
|
-
|
|
60
|
-
<column name="Title">
|
|
61
|
-
<rules>
|
|
62
|
-
<rule>GitHub-linked items: use the EXACT GitHub issue title — do NOT rephrase, shorten, or "improve" it</rule>
|
|
63
|
-
<rule>New items (no GitHub issue): short, descriptive name (5-10 words max)</rule>
|
|
64
|
-
<rule>Epics: broad capability area (e.g., "User Authentication", "Data Export Pipeline")</rule>
|
|
65
|
-
<rule>Features: specific deliverable (e.g., "OAuth2 Login Flow", "CSV Bulk Export")</rule>
|
|
66
|
-
</rules>
|
|
67
|
-
</column>
|
|
68
|
-
|
|
69
|
-
<column name="Description">
|
|
70
|
-
<rules>
|
|
71
|
-
<rule>1-2 sentences max — what this item delivers and why it matters</rule>
|
|
72
|
-
<rule>Epics: describe the broad capability and its user impact</rule>
|
|
73
|
-
<rule>Features: describe the specific deliverable and what it enables</rule>
|
|
74
|
-
<rule>Write for someone unfamiliar with the project — no jargon without context</rule>
|
|
75
|
-
</rules>
|
|
76
|
-
</column>
|
|
77
|
-
|
|
78
|
-
<column name="Status">
|
|
79
|
-
<allowed-values>
|
|
80
|
-
<value name="Todo">Not yet started or refined</value>
|
|
81
|
-
<value name="Refined">Requirements clear, ready to be planned into stories</value>
|
|
82
|
-
<value name="In Progress">Currently being implemented (has active stories)</value>
|
|
83
|
-
<value name="Done">All stories complete, acceptance criteria met</value>
|
|
84
|
-
</allowed-values>
|
|
85
|
-
<rules>
|
|
86
|
-
<rule>An Epic's status reflects its aggregate — "In Progress" if any child Feature is in progress</rule>
|
|
87
|
-
<rule>An Epic is "Done" only when ALL child Features are Done</rule>
|
|
88
|
-
</rules>
|
|
89
|
-
</column>
|
|
90
|
-
|
|
91
|
-
<column name="Size">
|
|
92
|
-
<allowed-values>
|
|
93
|
-
<value name="10">Trivial — a single story, minimal complexity</value>
|
|
94
|
-
<value name="20">Small — a few stories, low complexity</value>
|
|
95
|
-
<value name="30">Medium — moderate scope, some unknowns</value>
|
|
96
|
-
<value name="50">Large — significant scope, multiple components</value>
|
|
97
|
-
<value name="80">Very Large — cross-cutting, high complexity</value>
|
|
98
|
-
<value name="130">Massive — cross-cutting, high complexity, should be split</value>
|
|
99
|
-
</allowed-values>
|
|
100
|
-
<rules>
|
|
101
|
-
<rule>Fibonacci×10 relative sizing — compared to other items in this backlog</rule>
|
|
102
|
-
<rule>130-point items should be reviewed for splitting opportunities</rule>
|
|
103
|
-
<rule>Epic size reflects total scope of all child Features</rule>
|
|
104
|
-
</rules>
|
|
105
|
-
</column>
|
|
106
|
-
|
|
107
|
-
<column name="Priority">
|
|
108
|
-
<allowed-values>
|
|
109
|
-
<value name="Critical">Blocks other work or has external deadline</value>
|
|
110
|
-
<value name="High">Core functionality, high user impact</value>
|
|
111
|
-
<value name="Medium">Important but not blocking</value>
|
|
112
|
-
<value name="Low">Nice to have, can be deferred</value>
|
|
113
|
-
</allowed-values>
|
|
114
|
-
<rules>
|
|
115
|
-
<rule>Priority reflects business importance, not technical difficulty</rule>
|
|
116
|
-
<rule>Epic priority drives its position in the Epic Index ordering</rule>
|
|
117
|
-
<rule>When synced from GitHub Project, use the project's Priority field value</rule>
|
|
118
|
-
</rules>
|
|
119
|
-
</column>
|
|
120
|
-
|
|
121
|
-
<column name="Sprint">
|
|
122
|
-
<format>
|
|
123
|
-
Sprint name or iteration identifier from the GitHub Project board.
|
|
124
|
-
Examples: Sprint 1, Sprint 2, 2026-W10, —
|
|
125
|
-
</format>
|
|
126
|
-
<rules>
|
|
127
|
-
<rule>Use "—" when no sprint is assigned</rule>
|
|
128
|
-
<rule>Epics typically don't have sprints (use "—") — only features are sprint-planned</rule>
|
|
129
|
-
<rule>When synced from GitHub Project, use the project's Iteration field value</rule>
|
|
130
|
-
<rule>Sprint assignment happens during feature/story planning, not backlog creation</rule>
|
|
131
|
-
</rules>
|
|
132
|
-
</column>
|
|
133
|
-
|
|
134
|
-
<column name="Milestone">
|
|
135
|
-
<format>
|
|
136
|
-
Semver-style release target or named milestone.
|
|
137
|
-
Examples: mvp, v0.1.0, v0.2.0, v1.0.0
|
|
138
|
-
</format>
|
|
139
|
-
<rules>
|
|
140
|
-
<rule>Milestones are delivery targets, not deadlines</rule>
|
|
141
|
-
<rule>Features inherit their Epic's milestone unless explicitly overridden</rule>
|
|
142
|
-
<rule>Use "mvp" for the minimum viable product milestone</rule>
|
|
143
|
-
</rules>
|
|
144
|
-
</column>
|
|
145
|
-
|
|
146
|
-
<column name="Link">
|
|
147
|
-
<format>
|
|
148
|
-
GitHub issue link in markdown format: [#number](url)
|
|
149
|
-
Example: [#76](https://github.com/owner/repo/issues/76)
|
|
150
|
-
</format>
|
|
151
|
-
<rules>
|
|
152
|
-
<rule>"—" when the item has no corresponding GitHub issue (ID will be E[N] or F[N])</rule>
|
|
153
|
-
<rule>When ID is #[N], Link MUST also be populated: [#N](url)</rule>
|
|
154
|
-
<rule>Populated automatically when issues are created via GitHub sync</rule>
|
|
155
|
-
<rule>Links are stable — issue numbers never change</rule>
|
|
156
|
-
</rules>
|
|
157
|
-
</column>
|
|
158
|
-
|
|
159
|
-
</column-definitions>
|
|
160
|
-
|
|
161
|
-
<ordering-rules>
|
|
162
|
-
<rule>Epic Index is ordered by strategic priority (highest value first)</rule>
|
|
163
|
-
<rule>Each Epic's feature table is ordered by delivery sequence</rule>
|
|
164
|
-
<rule>Epic detail sections appear in the same order as the Epic Index</rule>
|
|
165
|
-
<rule>Cross-Epic dependencies may force reordering — note these in a comment</rule>
|
|
166
|
-
</ordering-rules>
|
|
167
|
-
|
|
168
|
-
<guidelines>
|
|
169
|
-
|
|
170
|
-
<guideline name="epic-structure">
|
|
171
|
-
Epics are broad capability categories, not phases or sprints.
|
|
172
|
-
A good Epic groups related Features that together deliver a coherent
|
|
173
|
-
user-facing capability. Epics should be decomposable into 3-10 Features.
|
|
174
|
-
If an Epic has only 1-2 Features, it may be too narrow — consider merging.
|
|
175
|
-
If an Epic has 10+ Features, it may be too broad — consider splitting.
|
|
176
|
-
</guideline>
|
|
177
|
-
|
|
178
|
-
<guideline name="feature-scope">
|
|
179
|
-
A Feature is a concrete deliverable that can be broken down into stories
|
|
180
|
-
during planning. Features at 80 points or above (~6 sprints) should be
|
|
181
|
-
reviewed for splitting. Features describe WHAT will be delivered, not
|
|
182
|
-
HOW it will be implemented.
|
|
183
|
-
</guideline>
|
|
184
|
-
|
|
185
|
-
<guideline name="status-transitions">
|
|
186
|
-
Items move forward through statuses: Todo -> Refined -> In Progress -> Done.
|
|
187
|
-
Moving backward (e.g., In Progress -> Todo) is valid when scope changes
|
|
188
|
-
or blockers are discovered. Document the reason in a commit message.
|
|
189
|
-
</guideline>
|
|
190
|
-
|
|
191
|
-
<guideline name="milestone-assignment">
|
|
192
|
-
Assign milestones based on delivery priority and dependencies.
|
|
193
|
-
Not every item needs a milestone — unassigned items are future/exploratory.
|
|
194
|
-
Milestones should have a clear theme (e.g., "mvp" = core user flows).
|
|
195
|
-
</guideline>
|
|
196
|
-
|
|
197
|
-
<guideline name="backlog-hygiene">
|
|
198
|
-
Prune regularly — delete items that have been Todo for too long.
|
|
199
|
-
Review ordering after each milestone completion.
|
|
200
|
-
Keep the backlog as short as practical — fewer items, more focus.
|
|
201
|
-
</guideline>
|
|
202
|
-
|
|
203
|
-
<guideline name="table-formatting">
|
|
204
|
-
Tables MUST be column-aligned for readability. Pad every cell with spaces so
|
|
205
|
-
that column separators (`|`) line up vertically across all rows. Use consistent
|
|
206
|
-
minimum widths per column:
|
|
207
|
-
|
|
208
|
-
- **ID**: 6 chars (e.g. `| #45 |` or `| E1 |`)
|
|
209
|
-
- **Title**: pad to the longest title in the table
|
|
210
|
-
- **Description**: pad to the longest description in the table
|
|
211
|
-
- **Status**: 14 chars (longest value: "In Progress")
|
|
212
|
-
- **Priority**: 10 chars (longest value: "Critical")
|
|
213
|
-
- **Size**: 6 chars (longest value: "130")
|
|
214
|
-
- **Sprint**: 10 chars
|
|
215
|
-
- **Milestone**: 10 chars
|
|
216
|
-
- **Link**: pad to the longest link in the table
|
|
217
|
-
|
|
218
|
-
The separator row (`|------|---...`) must match column widths using dashes.
|
|
219
|
-
|
|
220
|
-
Example of properly aligned table:
|
|
221
|
-
```
|
|
222
|
-
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
223
|
-
|------|--------------------------------|-------------------------------------------------|-------------|----------|------|----------|-----------|---------------------------------------------------------|
|
|
224
|
-
| #45 | Indicator & Chart Engine | Core charting capability with indicators | In Progress | Critical | 130 | — | mvp | [#45](https://github.com/owner/repo/issues/45) |
|
|
225
|
-
| E1 | AI Agent Swarm | Agentic order execution and analysis | Todo | High | 80 | — | v0.2.0 | — |
|
|
226
|
-
```
|
|
227
|
-
</guideline>
|
|
228
|
-
|
|
229
|
-
</guidelines>
|
|
230
|
-
|
|
231
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
Template for `.ace/artifacts/product/product-backlog.md` — the single ordered backlog
|
|
5
|
+
of Epics and Features that define what the product will deliver. Epics are broad
|
|
6
|
+
capability categories; Features are concrete deliverables within an Epic.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<output-format>
|
|
10
|
+
|
|
11
|
+
<section name="header">
|
|
12
|
+
## Product Backlog
|
|
13
|
+
|
|
14
|
+
Brief paragraph describing the product's current direction and what this backlog
|
|
15
|
+
is ordered toward. Keep it to 2-3 sentences — enough context for anyone reading
|
|
16
|
+
the backlog to understand the "why" behind the ordering.
|
|
17
|
+
</section>
|
|
18
|
+
|
|
19
|
+
<section name="epic-index">
|
|
20
|
+
### Epic Index
|
|
21
|
+
|
|
22
|
+
<!-- Ordered by strategic priority. This is the master list of all Epics. -->
|
|
23
|
+
|
|
24
|
+
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
25
|
+
|----|-------|-------------|--------|----------|------|--------|-----------|------|
|
|
26
|
+
| #45 | [Exact GitHub title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | — | [Milestone] | [#45](url) |
|
|
27
|
+
| E1 | [New epic title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | — | [Milestone] | — |
|
|
28
|
+
</section>
|
|
29
|
+
|
|
30
|
+
<section name="epic-details" repeat="once per Epic">
|
|
31
|
+
### #45: [Exact GitHub Epic Title] <!-- or ### E[N]: [Title] for local epics -->
|
|
32
|
+
|
|
33
|
+
<!-- Features ordered by delivery sequence within this Epic. -->
|
|
34
|
+
|
|
35
|
+
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
36
|
+
|----|-------|-------------|--------|----------|------|--------|-----------|------|
|
|
37
|
+
| #78 | [Exact GitHub title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | [Sprint] | [Milestone] | [#78](url) |
|
|
38
|
+
| F1 | [New feature title] | [1-2 sentence summary] | [Status] | [Priority] | [10-130] | [Sprint] | [Milestone] | — |
|
|
39
|
+
</section>
|
|
40
|
+
|
|
41
|
+
</output-format>
|
|
42
|
+
|
|
43
|
+
<column-definitions>
|
|
44
|
+
|
|
45
|
+
<column name="ID">
|
|
46
|
+
<format>
|
|
47
|
+
<github-linked>#[issue_number] — when the item has a corresponding GitHub issue (e.g. #45, #78)</github-linked>
|
|
48
|
+
<local-epic>E[number] — sequential, for epics without a GitHub issue (e.g. E1, E2)</local-epic>
|
|
49
|
+
<local-feature>F[number] — sequential across the entire backlog, for features without a GitHub issue (e.g. F1, F2)</local-feature>
|
|
50
|
+
</format>
|
|
51
|
+
<rules>
|
|
52
|
+
<rule>GitHub-linked items ALWAYS use #[issue_number] as their ID — this is the source of truth</rule>
|
|
53
|
+
<rule>Only items without a GitHub issue use E[N] or F[N] local IDs</rule>
|
|
54
|
+
<rule>IDs are stable — never renumber after assignment</rule>
|
|
55
|
+
<rule>Gaps in E[N]/F[N] sequences are fine (deleted items leave gaps)</rule>
|
|
56
|
+
<rule>When an item gets a GitHub issue later (via sync), its ID changes from E[N]/F[N] to #[issue_number]</rule>
|
|
57
|
+
</rules>
|
|
58
|
+
</column>
|
|
59
|
+
|
|
60
|
+
<column name="Title">
|
|
61
|
+
<rules>
|
|
62
|
+
<rule>GitHub-linked items: use the EXACT GitHub issue title — do NOT rephrase, shorten, or "improve" it</rule>
|
|
63
|
+
<rule>New items (no GitHub issue): short, descriptive name (5-10 words max)</rule>
|
|
64
|
+
<rule>Epics: broad capability area (e.g., "User Authentication", "Data Export Pipeline")</rule>
|
|
65
|
+
<rule>Features: specific deliverable (e.g., "OAuth2 Login Flow", "CSV Bulk Export")</rule>
|
|
66
|
+
</rules>
|
|
67
|
+
</column>
|
|
68
|
+
|
|
69
|
+
<column name="Description">
|
|
70
|
+
<rules>
|
|
71
|
+
<rule>1-2 sentences max — what this item delivers and why it matters</rule>
|
|
72
|
+
<rule>Epics: describe the broad capability and its user impact</rule>
|
|
73
|
+
<rule>Features: describe the specific deliverable and what it enables</rule>
|
|
74
|
+
<rule>Write for someone unfamiliar with the project — no jargon without context</rule>
|
|
75
|
+
</rules>
|
|
76
|
+
</column>
|
|
77
|
+
|
|
78
|
+
<column name="Status">
|
|
79
|
+
<allowed-values>
|
|
80
|
+
<value name="Todo">Not yet started or refined</value>
|
|
81
|
+
<value name="Refined">Requirements clear, ready to be planned into stories</value>
|
|
82
|
+
<value name="In Progress">Currently being implemented (has active stories)</value>
|
|
83
|
+
<value name="Done">All stories complete, acceptance criteria met</value>
|
|
84
|
+
</allowed-values>
|
|
85
|
+
<rules>
|
|
86
|
+
<rule>An Epic's status reflects its aggregate — "In Progress" if any child Feature is in progress</rule>
|
|
87
|
+
<rule>An Epic is "Done" only when ALL child Features are Done</rule>
|
|
88
|
+
</rules>
|
|
89
|
+
</column>
|
|
90
|
+
|
|
91
|
+
<column name="Size">
|
|
92
|
+
<allowed-values>
|
|
93
|
+
<value name="10">Trivial — a single story, minimal complexity</value>
|
|
94
|
+
<value name="20">Small — a few stories, low complexity</value>
|
|
95
|
+
<value name="30">Medium — moderate scope, some unknowns</value>
|
|
96
|
+
<value name="50">Large — significant scope, multiple components</value>
|
|
97
|
+
<value name="80">Very Large — cross-cutting, high complexity</value>
|
|
98
|
+
<value name="130">Massive — cross-cutting, high complexity, should be split</value>
|
|
99
|
+
</allowed-values>
|
|
100
|
+
<rules>
|
|
101
|
+
<rule>Fibonacci×10 relative sizing — compared to other items in this backlog</rule>
|
|
102
|
+
<rule>130-point items should be reviewed for splitting opportunities</rule>
|
|
103
|
+
<rule>Epic size reflects total scope of all child Features</rule>
|
|
104
|
+
</rules>
|
|
105
|
+
</column>
|
|
106
|
+
|
|
107
|
+
<column name="Priority">
|
|
108
|
+
<allowed-values>
|
|
109
|
+
<value name="Critical">Blocks other work or has external deadline</value>
|
|
110
|
+
<value name="High">Core functionality, high user impact</value>
|
|
111
|
+
<value name="Medium">Important but not blocking</value>
|
|
112
|
+
<value name="Low">Nice to have, can be deferred</value>
|
|
113
|
+
</allowed-values>
|
|
114
|
+
<rules>
|
|
115
|
+
<rule>Priority reflects business importance, not technical difficulty</rule>
|
|
116
|
+
<rule>Epic priority drives its position in the Epic Index ordering</rule>
|
|
117
|
+
<rule>When synced from GitHub Project, use the project's Priority field value</rule>
|
|
118
|
+
</rules>
|
|
119
|
+
</column>
|
|
120
|
+
|
|
121
|
+
<column name="Sprint">
|
|
122
|
+
<format>
|
|
123
|
+
Sprint name or iteration identifier from the GitHub Project board.
|
|
124
|
+
Examples: Sprint 1, Sprint 2, 2026-W10, —
|
|
125
|
+
</format>
|
|
126
|
+
<rules>
|
|
127
|
+
<rule>Use "—" when no sprint is assigned</rule>
|
|
128
|
+
<rule>Epics typically don't have sprints (use "—") — only features are sprint-planned</rule>
|
|
129
|
+
<rule>When synced from GitHub Project, use the project's Iteration field value</rule>
|
|
130
|
+
<rule>Sprint assignment happens during feature/story planning, not backlog creation</rule>
|
|
131
|
+
</rules>
|
|
132
|
+
</column>
|
|
133
|
+
|
|
134
|
+
<column name="Milestone">
|
|
135
|
+
<format>
|
|
136
|
+
Semver-style release target or named milestone.
|
|
137
|
+
Examples: mvp, v0.1.0, v0.2.0, v1.0.0
|
|
138
|
+
</format>
|
|
139
|
+
<rules>
|
|
140
|
+
<rule>Milestones are delivery targets, not deadlines</rule>
|
|
141
|
+
<rule>Features inherit their Epic's milestone unless explicitly overridden</rule>
|
|
142
|
+
<rule>Use "mvp" for the minimum viable product milestone</rule>
|
|
143
|
+
</rules>
|
|
144
|
+
</column>
|
|
145
|
+
|
|
146
|
+
<column name="Link">
|
|
147
|
+
<format>
|
|
148
|
+
GitHub issue link in markdown format: [#number](url)
|
|
149
|
+
Example: [#76](https://github.com/owner/repo/issues/76)
|
|
150
|
+
</format>
|
|
151
|
+
<rules>
|
|
152
|
+
<rule>"—" when the item has no corresponding GitHub issue (ID will be E[N] or F[N])</rule>
|
|
153
|
+
<rule>When ID is #[N], Link MUST also be populated: [#N](url)</rule>
|
|
154
|
+
<rule>Populated automatically when issues are created via GitHub sync</rule>
|
|
155
|
+
<rule>Links are stable — issue numbers never change</rule>
|
|
156
|
+
</rules>
|
|
157
|
+
</column>
|
|
158
|
+
|
|
159
|
+
</column-definitions>
|
|
160
|
+
|
|
161
|
+
<ordering-rules>
|
|
162
|
+
<rule>Epic Index is ordered by strategic priority (highest value first)</rule>
|
|
163
|
+
<rule>Each Epic's feature table is ordered by delivery sequence</rule>
|
|
164
|
+
<rule>Epic detail sections appear in the same order as the Epic Index</rule>
|
|
165
|
+
<rule>Cross-Epic dependencies may force reordering — note these in a comment</rule>
|
|
166
|
+
</ordering-rules>
|
|
167
|
+
|
|
168
|
+
<guidelines>
|
|
169
|
+
|
|
170
|
+
<guideline name="epic-structure">
|
|
171
|
+
Epics are broad capability categories, not phases or sprints.
|
|
172
|
+
A good Epic groups related Features that together deliver a coherent
|
|
173
|
+
user-facing capability. Epics should be decomposable into 3-10 Features.
|
|
174
|
+
If an Epic has only 1-2 Features, it may be too narrow — consider merging.
|
|
175
|
+
If an Epic has 10+ Features, it may be too broad — consider splitting.
|
|
176
|
+
</guideline>
|
|
177
|
+
|
|
178
|
+
<guideline name="feature-scope">
|
|
179
|
+
A Feature is a concrete deliverable that can be broken down into stories
|
|
180
|
+
during planning. Features at 80 points or above (~6 sprints) should be
|
|
181
|
+
reviewed for splitting. Features describe WHAT will be delivered, not
|
|
182
|
+
HOW it will be implemented.
|
|
183
|
+
</guideline>
|
|
184
|
+
|
|
185
|
+
<guideline name="status-transitions">
|
|
186
|
+
Items move forward through statuses: Todo -> Refined -> In Progress -> Done.
|
|
187
|
+
Moving backward (e.g., In Progress -> Todo) is valid when scope changes
|
|
188
|
+
or blockers are discovered. Document the reason in a commit message.
|
|
189
|
+
</guideline>
|
|
190
|
+
|
|
191
|
+
<guideline name="milestone-assignment">
|
|
192
|
+
Assign milestones based on delivery priority and dependencies.
|
|
193
|
+
Not every item needs a milestone — unassigned items are future/exploratory.
|
|
194
|
+
Milestones should have a clear theme (e.g., "mvp" = core user flows).
|
|
195
|
+
</guideline>
|
|
196
|
+
|
|
197
|
+
<guideline name="backlog-hygiene">
|
|
198
|
+
Prune regularly — delete items that have been Todo for too long.
|
|
199
|
+
Review ordering after each milestone completion.
|
|
200
|
+
Keep the backlog as short as practical — fewer items, more focus.
|
|
201
|
+
</guideline>
|
|
202
|
+
|
|
203
|
+
<guideline name="table-formatting">
|
|
204
|
+
Tables MUST be column-aligned for readability. Pad every cell with spaces so
|
|
205
|
+
that column separators (`|`) line up vertically across all rows. Use consistent
|
|
206
|
+
minimum widths per column:
|
|
207
|
+
|
|
208
|
+
- **ID**: 6 chars (e.g. `| #45 |` or `| E1 |`)
|
|
209
|
+
- **Title**: pad to the longest title in the table
|
|
210
|
+
- **Description**: pad to the longest description in the table
|
|
211
|
+
- **Status**: 14 chars (longest value: "In Progress")
|
|
212
|
+
- **Priority**: 10 chars (longest value: "Critical")
|
|
213
|
+
- **Size**: 6 chars (longest value: "130")
|
|
214
|
+
- **Sprint**: 10 chars
|
|
215
|
+
- **Milestone**: 10 chars
|
|
216
|
+
- **Link**: pad to the longest link in the table
|
|
217
|
+
|
|
218
|
+
The separator row (`|------|---...`) must match column widths using dashes.
|
|
219
|
+
|
|
220
|
+
Example of properly aligned table:
|
|
221
|
+
```
|
|
222
|
+
| ID | Title | Description | Status | Priority | Size | Sprint | Milestone | Link |
|
|
223
|
+
|------|--------------------------------|-------------------------------------------------|-------------|----------|------|----------|-----------|---------------------------------------------------------|
|
|
224
|
+
| #45 | Indicator & Chart Engine | Core charting capability with indicators | In Progress | Critical | 130 | — | mvp | [#45](https://github.com/owner/repo/issues/45) |
|
|
225
|
+
| E1 | AI Agent Swarm | Agentic order execution and analysis | Todo | High | 80 | — | v0.2.0 | — |
|
|
226
|
+
```
|
|
227
|
+
</guideline>
|
|
228
|
+
|
|
229
|
+
</guidelines>
|
|
230
|
+
|
|
231
|
+
</template>
|
|
@@ -526,6 +526,7 @@
|
|
|
526
526
|
- **Patterns**: Design patterns in use with examples
|
|
527
527
|
- **Cross-Cutting Concerns**: Shared concerns (auth, logging, errors, etc.)
|
|
528
528
|
- **Guides**: How-to guides for common implementation tasks
|
|
529
|
+
- **Walkthroughs**: Deep tutorial-style flow explanations with actual code snippets
|
|
529
530
|
- **Decisions (ADRs)**: Architecture decisions that constrain design
|
|
530
531
|
- **Architecture**: Subsystem architecture documents
|
|
531
532
|
|
|
@@ -55,6 +55,9 @@
|
|
|
55
55
|
### Guides
|
|
56
56
|
- [`.docs/wiki/subsystems/[name]/guides/[guide].md`] — [Why this guide is useful for this story]
|
|
57
57
|
|
|
58
|
+
### Walkthroughs
|
|
59
|
+
- [`.docs/wiki/subsystems/[name]/walkthroughs/[flow].md`] — [Why this flow walkthrough helps understand the implementation context]
|
|
60
|
+
|
|
58
61
|
### Decisions
|
|
59
62
|
- [`.docs/wiki/subsystems/[name]/decisions/[decision].md`] — [Why this ADR constrains or informs this story]
|
|
60
63
|
|
|
@@ -94,6 +97,7 @@
|
|
|
94
97
|
- Documents a pattern this story must follow
|
|
95
98
|
- Covers a cross-cutting concern this story must respect (auth, logging, error handling, etc.)
|
|
96
99
|
- Contains a guide for a task this story requires (e.g., "how to add an API endpoint")
|
|
100
|
+
- Walks through a complex flow this story extends or modifies
|
|
97
101
|
- Records an ADR that constrains design choices for this story
|
|
98
102
|
- Describes the structure or architecture of a subsystem this story touches
|
|
99
103
|
</include-when>
|