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,159 +1,159 @@
|
|
|
1
|
-
<pattern>
|
|
2
|
-
<purpose>
|
|
3
|
-
Template for `.docs/wiki/subsystems/[subsystem-name]/patterns/<pattern-name>.md` — a reusable
|
|
4
|
-
implementation pattern within a codebase subsystem. Answers "HOW do I implement something
|
|
5
|
-
that follows this pattern?"
|
|
6
|
-
|
|
7
|
-
Each pattern doc describes a structural template that appears across multiple implementations.
|
|
8
|
-
It is the document an AI agent reads to ensure new code follows established conventions.
|
|
9
|
-
|
|
10
|
-
A "pattern" is a recurring structural approach used by 2+ implementations:
|
|
11
|
-
e.g., Template Method (Path base class with 5 factory methods), Repository Pattern,
|
|
12
|
-
Mapper Pattern, Factory/Registry, CQRS Command/Query handlers.
|
|
13
|
-
|
|
14
|
-
Complements:
|
|
15
|
-
- systems/ docs (WHAT exists — the domain subsystems that USE these patterns)
|
|
16
|
-
- guides/ docs (step-by-step recipes that COMBINE multiple patterns into a task)
|
|
17
|
-
- cross-cutting/ docs (shared infrastructure that patterns depend on)
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<template>
|
|
21
|
-
<the-pattern>
|
|
22
|
-
# [Pattern Name]
|
|
23
|
-
|
|
24
|
-
## The Pattern
|
|
25
|
-
What it is, when to use it. One paragraph max.
|
|
26
|
-
</the-pattern>
|
|
27
|
-
|
|
28
|
-
<structure>
|
|
29
|
-
## Structure
|
|
30
|
-
|
|
31
|
-
Class/interface diagram showing the pattern's structure.
|
|
32
|
-
|
|
33
|
-
```mermaid
|
|
34
|
-
classDiagram
|
|
35
|
-
class IContract {
|
|
36
|
-
<<interface>>
|
|
37
|
-
+method() ReturnType
|
|
38
|
-
}
|
|
39
|
-
class AbstractBase {
|
|
40
|
-
<<abstract>>
|
|
41
|
-
+templateMethod()
|
|
42
|
-
#factoryMethod()* ReturnType
|
|
43
|
-
}
|
|
44
|
-
IContract <|.. AbstractBase
|
|
45
|
-
AbstractBase <|-- ConcreteA
|
|
46
|
-
AbstractBase <|-- ConcreteB
|
|
47
|
-
```
|
|
48
|
-
</structure>
|
|
49
|
-
|
|
50
|
-
<how-it-works>
|
|
51
|
-
## How It Works
|
|
52
|
-
|
|
53
|
-
Step-by-step of the pattern mechanics. Reference actual code locations.
|
|
54
|
-
|
|
55
|
-
1. **Step**: Description at `file:ClassName.method`
|
|
56
|
-
2. **Step**: Description at `file:ClassName.method`
|
|
57
|
-
3. **Step**: Description at `file:ClassName.method`
|
|
58
|
-
</how-it-works>
|
|
59
|
-
|
|
60
|
-
<how-to-apply>
|
|
61
|
-
## How to Apply
|
|
62
|
-
|
|
63
|
-
When implementing something new that uses this pattern:
|
|
64
|
-
|
|
65
|
-
1. [First step] (reference: `file:ClassName.method`)
|
|
66
|
-
2. [Second step]
|
|
67
|
-
3. [Third step]
|
|
68
|
-
...
|
|
69
|
-
</how-to-apply>
|
|
70
|
-
|
|
71
|
-
<current-implementations>
|
|
72
|
-
## Current Implementations
|
|
73
|
-
|
|
74
|
-
Where this pattern is currently used:
|
|
75
|
-
- `TrendLine` at `src/infrastructure/primitives/trend-line/TrendLine.ts`
|
|
76
|
-
- `ParallelChannel` at `src/infrastructure/primitives/parallel-channel/ParallelChannel.ts`
|
|
77
|
-
- ...
|
|
78
|
-
</current-implementations>
|
|
79
|
-
|
|
80
|
-
<gotchas>
|
|
81
|
-
## Gotchas
|
|
82
|
-
|
|
83
|
-
Things that commonly go wrong or are easy to forget when applying this pattern.
|
|
84
|
-
- [Common mistake 1]
|
|
85
|
-
- [Common mistake 2]
|
|
86
|
-
</gotchas>
|
|
87
|
-
</template>
|
|
88
|
-
|
|
89
|
-
<guidelines>
|
|
90
|
-
|
|
91
|
-
**Documentation Style:**
|
|
92
|
-
- EXTREMELY SUCCINCT — every word must add value
|
|
93
|
-
- NO FLUFF — direct, actionable information only
|
|
94
|
-
- Bullet points over paragraphs
|
|
95
|
-
- Code references as `file-path:ClassName.methodName` (not line numbers)
|
|
96
|
-
- Inline snippets ONLY for interface contracts and pattern structure definitions
|
|
97
|
-
- **ALL visual representations of architecture, dependencies, flows, or relationships MUST be ```mermaid fenced code blocks (use `classDiagram` for structure). NO ASCII arrows (->), NO dependency trees, NO PlantUML. Only mermaid. The ONLY ASCII exception is file trees.**
|
|
98
|
-
|
|
99
|
-
**The Pattern:**
|
|
100
|
-
- ONE paragraph. Name the GoF/industry pattern if applicable, then explain how it
|
|
101
|
-
manifests in THIS codebase. Not a textbook definition — the codebase-specific version.
|
|
102
|
-
|
|
103
|
-
**Structure:**
|
|
104
|
-
- Mermaid classDiagram showing the abstract/interface hierarchy.
|
|
105
|
-
- Show the pattern skeleton only — not every concrete implementation.
|
|
106
|
-
- Include key method signatures that define the contract.
|
|
107
|
-
|
|
108
|
-
**How It Works:**
|
|
109
|
-
- Numbered steps tracing the pattern's execution flow.
|
|
110
|
-
- Every step references actual code with `file:ClassName.method`.
|
|
111
|
-
- Focus on the mechanics an agent needs to understand to add a new implementation.
|
|
112
|
-
|
|
113
|
-
**How to Apply:**
|
|
114
|
-
- The MOST ACTIONABLE section. An agent follows these steps to create a new instance.
|
|
115
|
-
- Reference existing implementations as "copy from" targets.
|
|
116
|
-
- Include which files to create, which registrations to add, which factories to update.
|
|
117
|
-
|
|
118
|
-
**Current Implementations:**
|
|
119
|
-
- Complete list of all known implementations with file paths.
|
|
120
|
-
- Agent uses this as a reference gallery — "pick the closest one and copy its structure."
|
|
121
|
-
- Update when new implementations are added.
|
|
122
|
-
|
|
123
|
-
**Gotchas:**
|
|
124
|
-
- Timing issues, naming conventions, registration requirements, common mistakes.
|
|
125
|
-
- Anything an agent would get wrong on first attempt without being told.
|
|
126
|
-
|
|
127
|
-
**What does NOT belong here:**
|
|
128
|
-
- System-specific domain logic (that's in systems/ docs)
|
|
129
|
-
- Step-by-step task recipes that combine multiple patterns (that's in guides/)
|
|
130
|
-
- Cross-cutting infrastructure details (that's in cross-cutting/)
|
|
131
|
-
- Story numbers, sprint context, revision history
|
|
132
|
-
- Testing instructions, performance benchmarks
|
|
133
|
-
|
|
134
|
-
</guidelines>
|
|
135
|
-
|
|
136
|
-
<evolution>
|
|
137
|
-
|
|
138
|
-
This is a LIVING document — updated when the pattern itself evolves.
|
|
139
|
-
|
|
140
|
-
**Update triggers:**
|
|
141
|
-
- New implementation added (update Current Implementations list)
|
|
142
|
-
- Pattern structure changed (new factory method, new interface method)
|
|
143
|
-
- How to Apply steps changed (new registration requirement, new file to create)
|
|
144
|
-
- New gotcha discovered during implementation
|
|
145
|
-
|
|
146
|
-
**NOT an update trigger:**
|
|
147
|
-
- New feature that follows the existing pattern without changing it
|
|
148
|
-
- Bug fix in one implementation
|
|
149
|
-
- Internal refactoring that doesn't change the pattern contract
|
|
150
|
-
|
|
151
|
-
**Update rules:**
|
|
152
|
-
- ADD new implementations to the list
|
|
153
|
-
- UPDATE How to Apply if the recipe changed
|
|
154
|
-
- ADD new gotchas as they are discovered
|
|
155
|
-
- Do NOT remove historical gotchas unless they are no longer relevant
|
|
156
|
-
|
|
157
|
-
</evolution>
|
|
158
|
-
|
|
159
|
-
</pattern>
|
|
1
|
+
<pattern>
|
|
2
|
+
<purpose>
|
|
3
|
+
Template for `.docs/wiki/subsystems/[subsystem-name]/patterns/<pattern-name>.md` — a reusable
|
|
4
|
+
implementation pattern within a codebase subsystem. Answers "HOW do I implement something
|
|
5
|
+
that follows this pattern?"
|
|
6
|
+
|
|
7
|
+
Each pattern doc describes a structural template that appears across multiple implementations.
|
|
8
|
+
It is the document an AI agent reads to ensure new code follows established conventions.
|
|
9
|
+
|
|
10
|
+
A "pattern" is a recurring structural approach used by 2+ implementations:
|
|
11
|
+
e.g., Template Method (Path base class with 5 factory methods), Repository Pattern,
|
|
12
|
+
Mapper Pattern, Factory/Registry, CQRS Command/Query handlers.
|
|
13
|
+
|
|
14
|
+
Complements:
|
|
15
|
+
- systems/ docs (WHAT exists — the domain subsystems that USE these patterns)
|
|
16
|
+
- guides/ docs (step-by-step recipes that COMBINE multiple patterns into a task)
|
|
17
|
+
- cross-cutting/ docs (shared infrastructure that patterns depend on)
|
|
18
|
+
</purpose>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<the-pattern>
|
|
22
|
+
# [Pattern Name]
|
|
23
|
+
|
|
24
|
+
## The Pattern
|
|
25
|
+
What it is, when to use it. One paragraph max.
|
|
26
|
+
</the-pattern>
|
|
27
|
+
|
|
28
|
+
<structure>
|
|
29
|
+
## Structure
|
|
30
|
+
|
|
31
|
+
Class/interface diagram showing the pattern's structure.
|
|
32
|
+
|
|
33
|
+
```mermaid
|
|
34
|
+
classDiagram
|
|
35
|
+
class IContract {
|
|
36
|
+
<<interface>>
|
|
37
|
+
+method() ReturnType
|
|
38
|
+
}
|
|
39
|
+
class AbstractBase {
|
|
40
|
+
<<abstract>>
|
|
41
|
+
+templateMethod()
|
|
42
|
+
#factoryMethod()* ReturnType
|
|
43
|
+
}
|
|
44
|
+
IContract <|.. AbstractBase
|
|
45
|
+
AbstractBase <|-- ConcreteA
|
|
46
|
+
AbstractBase <|-- ConcreteB
|
|
47
|
+
```
|
|
48
|
+
</structure>
|
|
49
|
+
|
|
50
|
+
<how-it-works>
|
|
51
|
+
## How It Works
|
|
52
|
+
|
|
53
|
+
Step-by-step of the pattern mechanics. Reference actual code locations.
|
|
54
|
+
|
|
55
|
+
1. **Step**: Description at `file:ClassName.method`
|
|
56
|
+
2. **Step**: Description at `file:ClassName.method`
|
|
57
|
+
3. **Step**: Description at `file:ClassName.method`
|
|
58
|
+
</how-it-works>
|
|
59
|
+
|
|
60
|
+
<how-to-apply>
|
|
61
|
+
## How to Apply
|
|
62
|
+
|
|
63
|
+
When implementing something new that uses this pattern:
|
|
64
|
+
|
|
65
|
+
1. [First step] (reference: `file:ClassName.method`)
|
|
66
|
+
2. [Second step]
|
|
67
|
+
3. [Third step]
|
|
68
|
+
...
|
|
69
|
+
</how-to-apply>
|
|
70
|
+
|
|
71
|
+
<current-implementations>
|
|
72
|
+
## Current Implementations
|
|
73
|
+
|
|
74
|
+
Where this pattern is currently used:
|
|
75
|
+
- `TrendLine` at `src/infrastructure/primitives/trend-line/TrendLine.ts`
|
|
76
|
+
- `ParallelChannel` at `src/infrastructure/primitives/parallel-channel/ParallelChannel.ts`
|
|
77
|
+
- ...
|
|
78
|
+
</current-implementations>
|
|
79
|
+
|
|
80
|
+
<gotchas>
|
|
81
|
+
## Gotchas
|
|
82
|
+
|
|
83
|
+
Things that commonly go wrong or are easy to forget when applying this pattern.
|
|
84
|
+
- [Common mistake 1]
|
|
85
|
+
- [Common mistake 2]
|
|
86
|
+
</gotchas>
|
|
87
|
+
</template>
|
|
88
|
+
|
|
89
|
+
<guidelines>
|
|
90
|
+
|
|
91
|
+
**Documentation Style:**
|
|
92
|
+
- EXTREMELY SUCCINCT — every word must add value
|
|
93
|
+
- NO FLUFF — direct, actionable information only
|
|
94
|
+
- Bullet points over paragraphs
|
|
95
|
+
- Code references as `file-path:ClassName.methodName` (not line numbers)
|
|
96
|
+
- Inline snippets ONLY for interface contracts and pattern structure definitions
|
|
97
|
+
- **ALL visual representations of architecture, dependencies, flows, or relationships MUST be ```mermaid fenced code blocks (use `classDiagram` for structure). NO ASCII arrows (->), NO dependency trees, NO PlantUML. Only mermaid. The ONLY ASCII exception is file trees.**
|
|
98
|
+
|
|
99
|
+
**The Pattern:**
|
|
100
|
+
- ONE paragraph. Name the GoF/industry pattern if applicable, then explain how it
|
|
101
|
+
manifests in THIS codebase. Not a textbook definition — the codebase-specific version.
|
|
102
|
+
|
|
103
|
+
**Structure:**
|
|
104
|
+
- Mermaid classDiagram showing the abstract/interface hierarchy.
|
|
105
|
+
- Show the pattern skeleton only — not every concrete implementation.
|
|
106
|
+
- Include key method signatures that define the contract.
|
|
107
|
+
|
|
108
|
+
**How It Works:**
|
|
109
|
+
- Numbered steps tracing the pattern's execution flow.
|
|
110
|
+
- Every step references actual code with `file:ClassName.method`.
|
|
111
|
+
- Focus on the mechanics an agent needs to understand to add a new implementation.
|
|
112
|
+
|
|
113
|
+
**How to Apply:**
|
|
114
|
+
- The MOST ACTIONABLE section. An agent follows these steps to create a new instance.
|
|
115
|
+
- Reference existing implementations as "copy from" targets.
|
|
116
|
+
- Include which files to create, which registrations to add, which factories to update.
|
|
117
|
+
|
|
118
|
+
**Current Implementations:**
|
|
119
|
+
- Complete list of all known implementations with file paths.
|
|
120
|
+
- Agent uses this as a reference gallery — "pick the closest one and copy its structure."
|
|
121
|
+
- Update when new implementations are added.
|
|
122
|
+
|
|
123
|
+
**Gotchas:**
|
|
124
|
+
- Timing issues, naming conventions, registration requirements, common mistakes.
|
|
125
|
+
- Anything an agent would get wrong on first attempt without being told.
|
|
126
|
+
|
|
127
|
+
**What does NOT belong here:**
|
|
128
|
+
- System-specific domain logic (that's in systems/ docs)
|
|
129
|
+
- Step-by-step task recipes that combine multiple patterns (that's in guides/)
|
|
130
|
+
- Cross-cutting infrastructure details (that's in cross-cutting/)
|
|
131
|
+
- Story numbers, sprint context, revision history
|
|
132
|
+
- Testing instructions, performance benchmarks
|
|
133
|
+
|
|
134
|
+
</guidelines>
|
|
135
|
+
|
|
136
|
+
<evolution>
|
|
137
|
+
|
|
138
|
+
This is a LIVING document — updated when the pattern itself evolves.
|
|
139
|
+
|
|
140
|
+
**Update triggers:**
|
|
141
|
+
- New implementation added (update Current Implementations list)
|
|
142
|
+
- Pattern structure changed (new factory method, new interface method)
|
|
143
|
+
- How to Apply steps changed (new registration requirement, new file to create)
|
|
144
|
+
- New gotcha discovered during implementation
|
|
145
|
+
|
|
146
|
+
**NOT an update trigger:**
|
|
147
|
+
- New feature that follows the existing pattern without changing it
|
|
148
|
+
- Bug fix in one implementation
|
|
149
|
+
- Internal refactoring that doesn't change the pattern contract
|
|
150
|
+
|
|
151
|
+
**Update rules:**
|
|
152
|
+
- ADD new implementations to the list
|
|
153
|
+
- UPDATE How to Apply if the recipe changed
|
|
154
|
+
- ADD new gotchas as they are discovered
|
|
155
|
+
- Do NOT remove historical gotchas unless they are no longer relevant
|
|
156
|
+
|
|
157
|
+
</evolution>
|
|
158
|
+
|
|
159
|
+
</pattern>
|