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
|
@@ -1,300 +1,300 @@
|
|
|
1
|
-
<ui_patterns>
|
|
2
|
-
|
|
3
|
-
# ACE UI Formatting Guide
|
|
4
|
-
|
|
5
|
-
All agent output MUST follow these patterns. Consistency is the product.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Brand Identity
|
|
10
|
-
|
|
11
|
-
- **Prefix**: `ACE` — used in all banners and headers
|
|
12
|
-
- **Separator**: `>` — routes context after prefix
|
|
13
|
-
- **Hierarchy**: `Epic > Feature > Story > Task`
|
|
14
|
-
- **Voice**: Precise, confident, structured. No fluff. No filler.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Banners
|
|
19
|
-
|
|
20
|
-
Banners frame every major output block. They signal phase transitions.
|
|
21
|
-
|
|
22
|
-
### Primary Banner (phase start/end)
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
╔══════════════════════════════════════════════════╗
|
|
26
|
-
║ ACE > Plan Project ║
|
|
27
|
-
╚══════════════════════════════════════════════════╝
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Section Banner (within a phase)
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
┌──────────────────────────────────────────────────┐
|
|
34
|
-
│ ACE > Refine Story > E1-F2-S3 │
|
|
35
|
-
└──────────────────────────────────────────────────┘
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Completion Banner
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
╔══════════════════════════════════════════════════╗
|
|
42
|
-
║ ACE > Story Verified ║
|
|
43
|
-
║ E1-F2-S3 "User can reset password" ║
|
|
44
|
-
╚══════════════════════════════════════════════════╝
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Rules
|
|
48
|
-
|
|
49
|
-
- Banner width: **exactly 52 characters** inner width
|
|
50
|
-
- Left-pad content with **2 spaces** inside the border
|
|
51
|
-
- Right-pad to fill the border width
|
|
52
|
-
- NEVER mix border styles (`═══` for primary, `───` for section)
|
|
53
|
-
- ALWAYS include the `ACE >` prefix
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Progress Indicators
|
|
58
|
-
|
|
59
|
-
### Phase Progress Bar
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
Progress [████████████░░░░░░░░] 60% (3/5 tasks)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
- Bar width: **20 characters** fixed
|
|
66
|
-
- `█` = completed, `░` = remaining
|
|
67
|
-
- Always show percentage AND fraction
|
|
68
|
-
|
|
69
|
-
### Sprint Progress Table
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
Story Status Tasks Progress
|
|
73
|
-
───────── ────── ────── ────────
|
|
74
|
-
E1-F1-S1 done 4/4 ████ 100%
|
|
75
|
-
E1-F1-S2 active 2/6 █░░░ 33%
|
|
76
|
-
E1-F1-S3 queued 0/3 ░░░░ 0%
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Story Task Tracker
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
Tasks for E1-F2-S3:
|
|
83
|
-
────────────────────
|
|
84
|
-
[x] Set up password reset endpoint
|
|
85
|
-
[x] Create email template
|
|
86
|
-
[ ] Add rate limiting << active
|
|
87
|
-
[ ] Write integration tests
|
|
88
|
-
[ ] Update API documentation
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
- `[x]` = done, `[ ]` = pending
|
|
92
|
-
- `<< active` marker on current task
|
|
93
|
-
- Indented with **2 spaces**
|
|
94
|
-
|
|
95
|
-
### Status Symbols
|
|
96
|
-
|
|
97
|
-
| Symbol | Meaning | When to use |
|
|
98
|
-
|--------|---------------|--------------------------------|
|
|
99
|
-
| `[x]` | Done | Task/story completed |
|
|
100
|
-
| `[ ]` | Pending | Task/story not started |
|
|
101
|
-
| `[~]` | In progress | Currently executing |
|
|
102
|
-
| `[!]` | Blocked | Cannot proceed, dependency |
|
|
103
|
-
| `[?]` | Needs input | Waiting on user decision |
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Hierarchy Display
|
|
108
|
-
|
|
109
|
-
### Backlog Tree
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
E1 Platform Foundation
|
|
113
|
-
├── F1 User Authentication 3 stories
|
|
114
|
-
│ ├── S1 Sign up flow [x] done
|
|
115
|
-
│ ├── S2 Login flow [~] active
|
|
116
|
-
│ └── S3 Password reset [ ] queued
|
|
117
|
-
├── F2 Dashboard 2 stories
|
|
118
|
-
│ ├── S1 Layout scaffolding [ ] queued
|
|
119
|
-
│ └── S2 Data widgets [ ] queued
|
|
120
|
-
└── F3 Settings Page 0 stories
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
- Tree characters: `├──`, `└──`, `│`
|
|
124
|
-
- ID left-aligned, name after **2 spaces**, metadata right-aligned
|
|
125
|
-
- Leaf nodes show status symbol
|
|
126
|
-
|
|
127
|
-
### Breadcrumb Navigation
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
ACE > E1 Platform Foundation > F2 Dashboard > S1 Layout scaffolding
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
- Always show full path from Epic down
|
|
134
|
-
- Separate levels with ` > `
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Content Blocks
|
|
139
|
-
|
|
140
|
-
### Info Block
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
i Story E1-F1-S2 has 6 tasks estimated at ~4 hours total.
|
|
144
|
-
Prerequisites: E1-F1-S1 must be complete.
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
- Prefix: `i` (lowercase, 2-space indent)
|
|
148
|
-
- Continuation lines aligned under text, not under prefix
|
|
149
|
-
|
|
150
|
-
### Warning Block
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
! Story E1-F2-S3 has no acceptance criteria defined.
|
|
154
|
-
Run /ace:refine-story E1-F2-S3 before executing.
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
- Prefix: `!`
|
|
158
|
-
- Include actionable next step
|
|
159
|
-
|
|
160
|
-
### Success Block
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
+ All 4 tasks completed. Story E1-F1-S1 is done.
|
|
164
|
-
Commit: a3f7c2d "feat(auth): implement sign-up flow"
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
- Prefix: `+`
|
|
168
|
-
- Include commit hash when relevant
|
|
169
|
-
|
|
170
|
-
### Error Block
|
|
171
|
-
|
|
172
|
-
```
|
|
173
|
-
x Task 3 failed: test suite has 2 failing assertions.
|
|
174
|
-
See output above. Fix and re-run /ace:execute-story E1-F1-S2.
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
- Prefix: `x`
|
|
178
|
-
- Always include recovery instruction
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Decision Points
|
|
183
|
-
|
|
184
|
-
When presenting choices to the user:
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
┌──────────────────────────────────────────────────┐
|
|
188
|
-
│ ACE > Decision Required │
|
|
189
|
-
└──────────────────────────────────────────────────┘
|
|
190
|
-
|
|
191
|
-
This feature has two possible approaches:
|
|
192
|
-
|
|
193
|
-
[A] API-first — Build endpoints, then UI
|
|
194
|
-
Faster backend iteration, frontend blocked initially.
|
|
195
|
-
|
|
196
|
-
[B] Vertical slice — Build one flow end-to-end
|
|
197
|
-
Slower start, but validates assumptions early.
|
|
198
|
-
|
|
199
|
-
Recommendation: [B] for new domains, [A] for well-understood ones.
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
- Options labeled `[A]`, `[B]`, `[C]` — never more than 4
|
|
203
|
-
- Each option: label + short name + description on next line
|
|
204
|
-
- Recommendation line at the end if applicable
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Transitions & Flow
|
|
209
|
-
|
|
210
|
-
### Next Action Block
|
|
211
|
-
|
|
212
|
-
Every phase completion MUST end with a "Next" block:
|
|
213
|
-
|
|
214
|
-
```
|
|
215
|
-
Next > /ace:plan-feature E1-F1
|
|
216
|
-
Break this epic into features and stories.
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
- Format: `Next >` followed by the command
|
|
220
|
-
- Second line: brief description of what it does
|
|
221
|
-
- This is MANDATORY after every completion
|
|
222
|
-
|
|
223
|
-
### Phase Transition
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
╔══════════════════════════════════════════════════╗
|
|
227
|
-
║ ACE > Story Refined ║
|
|
228
|
-
║ E1-F1-S2 ready for execution ║
|
|
229
|
-
╚══════════════════════════════════════════════════╝
|
|
230
|
-
|
|
231
|
-
Summary:
|
|
232
|
-
────────
|
|
233
|
-
6 tasks defined, all acceptance criteria mapped.
|
|
234
|
-
Estimated effort: ~4 hours.
|
|
235
|
-
|
|
236
|
-
Next > /ace:execute-story E1-F1-S2
|
|
237
|
-
Execute this story with atomic commits.
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
## Commit Messages
|
|
243
|
-
|
|
244
|
-
ACE enforces conventional commits tied to the hierarchy:
|
|
245
|
-
|
|
246
|
-
```
|
|
247
|
-
feat(auth): implement email verification flow
|
|
248
|
-
|
|
249
|
-
Story: E1-F1-S2
|
|
250
|
-
Task: 3/6 — Add verification endpoint
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
- First line: conventional commit format
|
|
254
|
-
- Blank line, then `Story:` and `Task:` metadata
|
|
255
|
-
- Keep first line under 72 characters
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## Spacing & Indentation Rules
|
|
260
|
-
|
|
261
|
-
| Element | Indentation |
|
|
262
|
-
|----------------------|-------------|
|
|
263
|
-
| Banner content | 2 spaces |
|
|
264
|
-
| Body text | 2 spaces |
|
|
265
|
-
| Nested list items | 4 spaces |
|
|
266
|
-
| Code/command blocks | 4 spaces |
|
|
267
|
-
| Table content | 2 spaces |
|
|
268
|
-
| Continuation lines | Align under text start |
|
|
269
|
-
|
|
270
|
-
- **One blank line** between sections
|
|
271
|
-
- **Two blank lines** before a new banner
|
|
272
|
-
- **No trailing whitespace**
|
|
273
|
-
- **No more than 3 consecutive blank lines** anywhere
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
## Typography
|
|
278
|
-
|
|
279
|
-
- IDs are **always monospace-styled**: `E1`, `F2`, `S3`
|
|
280
|
-
- Commands are **always code-formatted**: `/ace:plan-story`
|
|
281
|
-
- File paths are **always code-formatted**: `.ace/backlog/E1/F1-auth.md`
|
|
282
|
-
- Emphasis for key terms: **bold** only, never *italic* in output
|
|
283
|
-
- Numbers: use digits, not words (`3 stories`, not `three stories`)
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## Anti-Patterns
|
|
288
|
-
|
|
289
|
-
- Varying banner widths or border styles within a session
|
|
290
|
-
- Missing `ACE >` prefix in banners
|
|
291
|
-
- Random emoji in output — ACE uses **zero emoji** in structured output
|
|
292
|
-
- Skipping the `Next >` block after a phase completion
|
|
293
|
-
- Using prose paragraphs where a table or list would be clearer
|
|
294
|
-
- Inconsistent ID formatting (`e1-f1` vs `E1-F1` — always uppercase)
|
|
295
|
-
- Status text without a symbol (`done` alone — use `[x] done`)
|
|
296
|
-
- Banners for trivial messages — only use banners for phase boundaries
|
|
297
|
-
- Mixing `ACE >` with other prefix styles
|
|
298
|
-
- Omitting the hierarchy breadcrumb when context is ambiguous
|
|
299
|
-
|
|
1
|
+
<ui_patterns>
|
|
2
|
+
|
|
3
|
+
# ACE UI Formatting Guide
|
|
4
|
+
|
|
5
|
+
All agent output MUST follow these patterns. Consistency is the product.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Brand Identity
|
|
10
|
+
|
|
11
|
+
- **Prefix**: `ACE` — used in all banners and headers
|
|
12
|
+
- **Separator**: `>` — routes context after prefix
|
|
13
|
+
- **Hierarchy**: `Epic > Feature > Story > Task`
|
|
14
|
+
- **Voice**: Precise, confident, structured. No fluff. No filler.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Banners
|
|
19
|
+
|
|
20
|
+
Banners frame every major output block. They signal phase transitions.
|
|
21
|
+
|
|
22
|
+
### Primary Banner (phase start/end)
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
╔══════════════════════════════════════════════════╗
|
|
26
|
+
║ ACE > Plan Project ║
|
|
27
|
+
╚══════════════════════════════════════════════════╝
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Section Banner (within a phase)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌──────────────────────────────────────────────────┐
|
|
34
|
+
│ ACE > Refine Story > E1-F2-S3 │
|
|
35
|
+
└──────────────────────────────────────────────────┘
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Completion Banner
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
╔══════════════════════════════════════════════════╗
|
|
42
|
+
║ ACE > Story Verified ║
|
|
43
|
+
║ E1-F2-S3 "User can reset password" ║
|
|
44
|
+
╚══════════════════════════════════════════════════╝
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Rules
|
|
48
|
+
|
|
49
|
+
- Banner width: **exactly 52 characters** inner width
|
|
50
|
+
- Left-pad content with **2 spaces** inside the border
|
|
51
|
+
- Right-pad to fill the border width
|
|
52
|
+
- NEVER mix border styles (`═══` for primary, `───` for section)
|
|
53
|
+
- ALWAYS include the `ACE >` prefix
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Progress Indicators
|
|
58
|
+
|
|
59
|
+
### Phase Progress Bar
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Progress [████████████░░░░░░░░] 60% (3/5 tasks)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- Bar width: **20 characters** fixed
|
|
66
|
+
- `█` = completed, `░` = remaining
|
|
67
|
+
- Always show percentage AND fraction
|
|
68
|
+
|
|
69
|
+
### Sprint Progress Table
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Story Status Tasks Progress
|
|
73
|
+
───────── ────── ────── ────────
|
|
74
|
+
E1-F1-S1 done 4/4 ████ 100%
|
|
75
|
+
E1-F1-S2 active 2/6 █░░░ 33%
|
|
76
|
+
E1-F1-S3 queued 0/3 ░░░░ 0%
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Story Task Tracker
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Tasks for E1-F2-S3:
|
|
83
|
+
────────────────────
|
|
84
|
+
[x] Set up password reset endpoint
|
|
85
|
+
[x] Create email template
|
|
86
|
+
[ ] Add rate limiting << active
|
|
87
|
+
[ ] Write integration tests
|
|
88
|
+
[ ] Update API documentation
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- `[x]` = done, `[ ]` = pending
|
|
92
|
+
- `<< active` marker on current task
|
|
93
|
+
- Indented with **2 spaces**
|
|
94
|
+
|
|
95
|
+
### Status Symbols
|
|
96
|
+
|
|
97
|
+
| Symbol | Meaning | When to use |
|
|
98
|
+
|--------|---------------|--------------------------------|
|
|
99
|
+
| `[x]` | Done | Task/story completed |
|
|
100
|
+
| `[ ]` | Pending | Task/story not started |
|
|
101
|
+
| `[~]` | In progress | Currently executing |
|
|
102
|
+
| `[!]` | Blocked | Cannot proceed, dependency |
|
|
103
|
+
| `[?]` | Needs input | Waiting on user decision |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Hierarchy Display
|
|
108
|
+
|
|
109
|
+
### Backlog Tree
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
E1 Platform Foundation
|
|
113
|
+
├── F1 User Authentication 3 stories
|
|
114
|
+
│ ├── S1 Sign up flow [x] done
|
|
115
|
+
│ ├── S2 Login flow [~] active
|
|
116
|
+
│ └── S3 Password reset [ ] queued
|
|
117
|
+
├── F2 Dashboard 2 stories
|
|
118
|
+
│ ├── S1 Layout scaffolding [ ] queued
|
|
119
|
+
│ └── S2 Data widgets [ ] queued
|
|
120
|
+
└── F3 Settings Page 0 stories
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
- Tree characters: `├──`, `└──`, `│`
|
|
124
|
+
- ID left-aligned, name after **2 spaces**, metadata right-aligned
|
|
125
|
+
- Leaf nodes show status symbol
|
|
126
|
+
|
|
127
|
+
### Breadcrumb Navigation
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
ACE > E1 Platform Foundation > F2 Dashboard > S1 Layout scaffolding
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- Always show full path from Epic down
|
|
134
|
+
- Separate levels with ` > `
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Content Blocks
|
|
139
|
+
|
|
140
|
+
### Info Block
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
i Story E1-F1-S2 has 6 tasks estimated at ~4 hours total.
|
|
144
|
+
Prerequisites: E1-F1-S1 must be complete.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
- Prefix: `i` (lowercase, 2-space indent)
|
|
148
|
+
- Continuation lines aligned under text, not under prefix
|
|
149
|
+
|
|
150
|
+
### Warning Block
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
! Story E1-F2-S3 has no acceptance criteria defined.
|
|
154
|
+
Run /ace:refine-story E1-F2-S3 before executing.
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
- Prefix: `!`
|
|
158
|
+
- Include actionable next step
|
|
159
|
+
|
|
160
|
+
### Success Block
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
+ All 4 tasks completed. Story E1-F1-S1 is done.
|
|
164
|
+
Commit: a3f7c2d "feat(auth): implement sign-up flow"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
- Prefix: `+`
|
|
168
|
+
- Include commit hash when relevant
|
|
169
|
+
|
|
170
|
+
### Error Block
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
x Task 3 failed: test suite has 2 failing assertions.
|
|
174
|
+
See output above. Fix and re-run /ace:execute-story E1-F1-S2.
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
- Prefix: `x`
|
|
178
|
+
- Always include recovery instruction
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Decision Points
|
|
183
|
+
|
|
184
|
+
When presenting choices to the user:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
┌──────────────────────────────────────────────────┐
|
|
188
|
+
│ ACE > Decision Required │
|
|
189
|
+
└──────────────────────────────────────────────────┘
|
|
190
|
+
|
|
191
|
+
This feature has two possible approaches:
|
|
192
|
+
|
|
193
|
+
[A] API-first — Build endpoints, then UI
|
|
194
|
+
Faster backend iteration, frontend blocked initially.
|
|
195
|
+
|
|
196
|
+
[B] Vertical slice — Build one flow end-to-end
|
|
197
|
+
Slower start, but validates assumptions early.
|
|
198
|
+
|
|
199
|
+
Recommendation: [B] for new domains, [A] for well-understood ones.
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- Options labeled `[A]`, `[B]`, `[C]` — never more than 4
|
|
203
|
+
- Each option: label + short name + description on next line
|
|
204
|
+
- Recommendation line at the end if applicable
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Transitions & Flow
|
|
209
|
+
|
|
210
|
+
### Next Action Block
|
|
211
|
+
|
|
212
|
+
Every phase completion MUST end with a "Next" block:
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
Next > /ace:plan-feature E1-F1
|
|
216
|
+
Break this epic into features and stories.
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- Format: `Next >` followed by the command
|
|
220
|
+
- Second line: brief description of what it does
|
|
221
|
+
- This is MANDATORY after every completion
|
|
222
|
+
|
|
223
|
+
### Phase Transition
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
╔══════════════════════════════════════════════════╗
|
|
227
|
+
║ ACE > Story Refined ║
|
|
228
|
+
║ E1-F1-S2 ready for execution ║
|
|
229
|
+
╚══════════════════════════════════════════════════╝
|
|
230
|
+
|
|
231
|
+
Summary:
|
|
232
|
+
────────
|
|
233
|
+
6 tasks defined, all acceptance criteria mapped.
|
|
234
|
+
Estimated effort: ~4 hours.
|
|
235
|
+
|
|
236
|
+
Next > /ace:execute-story E1-F1-S2
|
|
237
|
+
Execute this story with atomic commits.
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Commit Messages
|
|
243
|
+
|
|
244
|
+
ACE enforces conventional commits tied to the hierarchy:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
feat(auth): implement email verification flow
|
|
248
|
+
|
|
249
|
+
Story: E1-F1-S2
|
|
250
|
+
Task: 3/6 — Add verification endpoint
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
- First line: conventional commit format
|
|
254
|
+
- Blank line, then `Story:` and `Task:` metadata
|
|
255
|
+
- Keep first line under 72 characters
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Spacing & Indentation Rules
|
|
260
|
+
|
|
261
|
+
| Element | Indentation |
|
|
262
|
+
|----------------------|-------------|
|
|
263
|
+
| Banner content | 2 spaces |
|
|
264
|
+
| Body text | 2 spaces |
|
|
265
|
+
| Nested list items | 4 spaces |
|
|
266
|
+
| Code/command blocks | 4 spaces |
|
|
267
|
+
| Table content | 2 spaces |
|
|
268
|
+
| Continuation lines | Align under text start |
|
|
269
|
+
|
|
270
|
+
- **One blank line** between sections
|
|
271
|
+
- **Two blank lines** before a new banner
|
|
272
|
+
- **No trailing whitespace**
|
|
273
|
+
- **No more than 3 consecutive blank lines** anywhere
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Typography
|
|
278
|
+
|
|
279
|
+
- IDs are **always monospace-styled**: `E1`, `F2`, `S3`
|
|
280
|
+
- Commands are **always code-formatted**: `/ace:plan-story`
|
|
281
|
+
- File paths are **always code-formatted**: `.ace/backlog/E1/F1-auth.md`
|
|
282
|
+
- Emphasis for key terms: **bold** only, never *italic* in output
|
|
283
|
+
- Numbers: use digits, not words (`3 stories`, not `three stories`)
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Anti-Patterns
|
|
288
|
+
|
|
289
|
+
- Varying banner widths or border styles within a session
|
|
290
|
+
- Missing `ACE >` prefix in banners
|
|
291
|
+
- Random emoji in output — ACE uses **zero emoji** in structured output
|
|
292
|
+
- Skipping the `Next >` block after a phase completion
|
|
293
|
+
- Using prose paragraphs where a table or list would be clearer
|
|
294
|
+
- Inconsistent ID formatting (`e1-f1` vs `E1-F1` — always uppercase)
|
|
295
|
+
- Status text without a symbol (`done` alone — use `[x] done`)
|
|
296
|
+
- Banners for trivial messages — only use banners for phase boundaries
|
|
297
|
+
- Mixing `ACE >` with other prefix styles
|
|
298
|
+
- Omitting the hierarchy breadcrumb when context is ambiguous
|
|
299
|
+
|
|
300
300
|
</ui_patterns>
|