agile-context-engineering 0.1.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/LICENSE +21 -0
- package/README.md +125 -0
- package/agents/executor.md +88 -0
- package/agents/planner.md +78 -0
- package/agents/researcher.md +77 -0
- package/agents/verifier.md +116 -0
- package/bin/install.js +462 -0
- package/commands/ace-execute-story.md +114 -0
- package/commands/ace-init.md +254 -0
- package/commands/ace-plan-epic.md +79 -0
- package/commands/ace-plan-feature.md +78 -0
- package/commands/ace-plan-project.md +205 -0
- package/commands/ace-plan-story.md +97 -0
- package/commands/ace-refine-story.md +90 -0
- package/commands/ace-verify-story.md +127 -0
- package/package.json +42 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
# /ace:init - Initialize ACE in Your Project
|
|
2
|
+
|
|
3
|
+
Initialize Agile Context Engineering (ACE) for spec-driven development with Claude Code or OpenCode.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/ace:init [--github]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Options
|
|
12
|
+
|
|
13
|
+
- `--github` - Create items as GitHub issues instead of local files (requires `gh` CLI)
|
|
14
|
+
|
|
15
|
+
## Behavior
|
|
16
|
+
|
|
17
|
+
When invoked, this command will:
|
|
18
|
+
|
|
19
|
+
1. **Check prerequisites**
|
|
20
|
+
- Verify you're in a git repository
|
|
21
|
+
- Check if ACE is already initialized
|
|
22
|
+
- If `--github` flag is used, verify `gh` CLI is authenticated
|
|
23
|
+
|
|
24
|
+
2. **Create ACE directory structure**
|
|
25
|
+
```
|
|
26
|
+
.ace/
|
|
27
|
+
├── config.json # ACE configuration
|
|
28
|
+
├── backlog/ # Epic and feature definitions
|
|
29
|
+
├── sprints/ # Sprint planning and tracking
|
|
30
|
+
└── research/ # Domain research and findings
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
3. **Create initial project files**
|
|
34
|
+
- `PROJECT.md` - Project vision and goals
|
|
35
|
+
- `BACKLOG.md` - Product backlog overview
|
|
36
|
+
- `STATE.md` - Current project state and decisions
|
|
37
|
+
|
|
38
|
+
4. **Configure GitHub integration** (if `--github` flag used)
|
|
39
|
+
- Create GitHub labels for epics, features, stories
|
|
40
|
+
- Set up issue templates
|
|
41
|
+
|
|
42
|
+
## Instructions for Claude
|
|
43
|
+
|
|
44
|
+
<ace-init>
|
|
45
|
+
|
|
46
|
+
### Step 1: Verify Prerequisites
|
|
47
|
+
|
|
48
|
+
Check if we're in a git repository:
|
|
49
|
+
```bash
|
|
50
|
+
git rev-parse --is-inside-work-tree
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Check if ACE is already initialized:
|
|
54
|
+
- Look for `.ace/config.json` file
|
|
55
|
+
- If exists, ask user if they want to reinitialize
|
|
56
|
+
|
|
57
|
+
### Step 2: Gather Project Information
|
|
58
|
+
|
|
59
|
+
Ask the user for:
|
|
60
|
+
1. **Project name** - What is this project called?
|
|
61
|
+
2. **Project description** - One-line description of what this project does
|
|
62
|
+
3. **Storage preference** - Local files or GitHub issues?
|
|
63
|
+
4. **GitHub integration** - If GitHub, which repo? (auto-detect from git remote if possible)
|
|
64
|
+
|
|
65
|
+
### Step 3: Create Directory Structure
|
|
66
|
+
|
|
67
|
+
Create the following structure:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
.ace/
|
|
71
|
+
├── config.json
|
|
72
|
+
├── backlog/
|
|
73
|
+
├── sprints/
|
|
74
|
+
└── research/
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Step 4: Create Configuration File
|
|
78
|
+
|
|
79
|
+
Create `.ace/config.json`:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"version": "0.1.0",
|
|
84
|
+
"projectName": "<project-name>",
|
|
85
|
+
"description": "<project-description>",
|
|
86
|
+
"storage": "local|github",
|
|
87
|
+
"github": {
|
|
88
|
+
"enabled": false,
|
|
89
|
+
"repo": null,
|
|
90
|
+
"labels": {
|
|
91
|
+
"epic": "ace:epic",
|
|
92
|
+
"feature": "ace:feature",
|
|
93
|
+
"story": "ace:story",
|
|
94
|
+
"task": "ace:task"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"createdAt": "<timestamp>",
|
|
98
|
+
"hierarchy": {
|
|
99
|
+
"levels": ["epic", "feature", "story", "task"],
|
|
100
|
+
"current": {
|
|
101
|
+
"epic": null,
|
|
102
|
+
"feature": null,
|
|
103
|
+
"story": null,
|
|
104
|
+
"sprint": null
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Step 5: Create PROJECT.md
|
|
111
|
+
|
|
112
|
+
Create `PROJECT.md` in the repository root:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
# <Project Name>
|
|
116
|
+
|
|
117
|
+
> <One-line description>
|
|
118
|
+
|
|
119
|
+
## Vision
|
|
120
|
+
|
|
121
|
+
<!-- Describe the long-term vision for this project -->
|
|
122
|
+
|
|
123
|
+
## Goals
|
|
124
|
+
|
|
125
|
+
<!-- List 3-5 key goals this project aims to achieve -->
|
|
126
|
+
|
|
127
|
+
## Non-Goals
|
|
128
|
+
|
|
129
|
+
<!-- What is explicitly out of scope -->
|
|
130
|
+
|
|
131
|
+
## Success Criteria
|
|
132
|
+
|
|
133
|
+
<!-- How will you measure success? -->
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
*Managed with [ACE](https://github.com/agile-context-engineering/ace) - Agile Context Engineering*
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Step 6: Create BACKLOG.md
|
|
141
|
+
|
|
142
|
+
Create `BACKLOG.md` in the repository root:
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
# Product Backlog
|
|
146
|
+
|
|
147
|
+
## Epics
|
|
148
|
+
|
|
149
|
+
<!-- Epics are large bodies of work that can be broken down into features -->
|
|
150
|
+
|
|
151
|
+
| ID | Epic | Status | Features |
|
|
152
|
+
|----|------|--------|----------|
|
|
153
|
+
| - | - | - | - |
|
|
154
|
+
|
|
155
|
+
## Prioritized Features
|
|
156
|
+
|
|
157
|
+
<!-- Features ready for sprint planning -->
|
|
158
|
+
|
|
159
|
+
| Priority | Feature | Epic | Stories | Status |
|
|
160
|
+
|----------|---------|------|---------|--------|
|
|
161
|
+
| - | - | - | - | - |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
*Use `/ace:plan-epic` to add epics, `/ace:plan-feature` to break them into features*
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Step 7: Create STATE.md
|
|
169
|
+
|
|
170
|
+
Create `STATE.md` in the repository root:
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
# Project State
|
|
174
|
+
|
|
175
|
+
> Last updated: <timestamp>
|
|
176
|
+
|
|
177
|
+
## Current Sprint
|
|
178
|
+
|
|
179
|
+
**Sprint:** None
|
|
180
|
+
**Goal:** N/A
|
|
181
|
+
**Status:** Not started
|
|
182
|
+
|
|
183
|
+
## Active Work
|
|
184
|
+
|
|
185
|
+
<!-- Currently in-progress items -->
|
|
186
|
+
|
|
187
|
+
| Item | Type | Assignee | Status |
|
|
188
|
+
|------|------|----------|--------|
|
|
189
|
+
| - | - | - | - |
|
|
190
|
+
|
|
191
|
+
## Decisions Log
|
|
192
|
+
|
|
193
|
+
<!-- Important decisions made during development -->
|
|
194
|
+
|
|
195
|
+
| Date | Decision | Context | Alternatives Considered |
|
|
196
|
+
|------|----------|---------|------------------------|
|
|
197
|
+
| - | - | - | - |
|
|
198
|
+
|
|
199
|
+
## Blockers
|
|
200
|
+
|
|
201
|
+
<!-- Current blockers and their status -->
|
|
202
|
+
|
|
203
|
+
| Blocker | Impact | Owner | Status |
|
|
204
|
+
|---------|--------|-------|--------|
|
|
205
|
+
| - | - | - | - |
|
|
206
|
+
|
|
207
|
+
## Context Notes
|
|
208
|
+
|
|
209
|
+
<!-- Important context for future sessions -->
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
*Updated automatically by ACE commands*
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Step 8: GitHub Setup (if enabled)
|
|
217
|
+
|
|
218
|
+
If GitHub integration is enabled:
|
|
219
|
+
|
|
220
|
+
1. Create labels:
|
|
221
|
+
```bash
|
|
222
|
+
gh label create "ace:epic" --color "7057ff" --description "ACE Epic - large body of work"
|
|
223
|
+
gh label create "ace:feature" --color "0075ca" --description "ACE Feature - deliverable functionality"
|
|
224
|
+
gh label create "ace:story" --color "008672" --description "ACE Story - user-facing work item"
|
|
225
|
+
gh label create "ace:task" --color "d73a4a" --description "ACE Task - technical work item"
|
|
226
|
+
gh label create "ace:blocked" --color "b60205" --description "ACE Blocked - waiting on dependency"
|
|
227
|
+
gh label create "ace:sprint" --color "fbca04" --description "ACE Sprint - current sprint item"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
2. Update config.json with GitHub settings
|
|
231
|
+
|
|
232
|
+
### Step 9: Confirm Success
|
|
233
|
+
|
|
234
|
+
Output a summary:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
✓ ACE initialized successfully!
|
|
238
|
+
|
|
239
|
+
Created:
|
|
240
|
+
- .ace/config.json
|
|
241
|
+
- .ace/backlog/
|
|
242
|
+
- .ace/sprints/
|
|
243
|
+
- .ace/research/
|
|
244
|
+
- PROJECT.md
|
|
245
|
+
- BACKLOG.md
|
|
246
|
+
- STATE.md
|
|
247
|
+
|
|
248
|
+
Next steps:
|
|
249
|
+
1. Edit PROJECT.md to define your vision and goals
|
|
250
|
+
2. Run /ace:plan-project to create your initial epics
|
|
251
|
+
3. Run /ace:plan-epic to break epics into features
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
</ace-init>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# /ace:plan-epic - Plan an Epic
|
|
2
|
+
|
|
3
|
+
Break down an epic into features and define acceptance criteria.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/ace:plan-epic <epic-id>
|
|
9
|
+
/ace:plan-epic E1
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Arguments
|
|
13
|
+
|
|
14
|
+
- `epic-id` - The epic identifier (e.g., E1, E2)
|
|
15
|
+
|
|
16
|
+
## Behavior
|
|
17
|
+
|
|
18
|
+
This command helps you detail an epic by:
|
|
19
|
+
- Defining all features within the epic
|
|
20
|
+
- Setting acceptance criteria
|
|
21
|
+
- Identifying dependencies between features
|
|
22
|
+
- Estimating relative complexity
|
|
23
|
+
|
|
24
|
+
## Instructions for Claude
|
|
25
|
+
|
|
26
|
+
<ace-plan-epic>
|
|
27
|
+
|
|
28
|
+
### Prerequisites
|
|
29
|
+
|
|
30
|
+
1. Verify ACE is initialized
|
|
31
|
+
2. Verify the epic exists in `.ace/backlog/`
|
|
32
|
+
3. Read the epic file and understand context
|
|
33
|
+
|
|
34
|
+
### Planning Flow
|
|
35
|
+
|
|
36
|
+
1. **Review Epic Context**
|
|
37
|
+
- Read the epic definition
|
|
38
|
+
- Understand the user value
|
|
39
|
+
- Review any existing features
|
|
40
|
+
|
|
41
|
+
2. **Feature Breakdown**
|
|
42
|
+
- Identify 3-8 features for this epic
|
|
43
|
+
- Each feature should be completable in 1-2 sprints
|
|
44
|
+
- Features should deliver demonstrable value
|
|
45
|
+
|
|
46
|
+
3. **For Each Feature, Capture:**
|
|
47
|
+
- ID: E1-F1, E1-F2, etc.
|
|
48
|
+
- Name: Clear, action-oriented name
|
|
49
|
+
- Description: What this feature delivers
|
|
50
|
+
- User stories preview: High-level story count estimate
|
|
51
|
+
- Dependencies: Other features this depends on
|
|
52
|
+
- Acceptance criteria: How we know it's done
|
|
53
|
+
|
|
54
|
+
4. **Create Feature Files**
|
|
55
|
+
- Save to `.ace/backlog/<epic-id>/F1-feature-name.md`
|
|
56
|
+
|
|
57
|
+
5. **Update Epic File**
|
|
58
|
+
- Add features table
|
|
59
|
+
- Update status
|
|
60
|
+
|
|
61
|
+
6. **GitHub Integration** (if enabled)
|
|
62
|
+
- Create feature issues linked to epic
|
|
63
|
+
- Add `ace:feature` label
|
|
64
|
+
|
|
65
|
+
### Output
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
✓ Epic E1 planned!
|
|
69
|
+
|
|
70
|
+
Features:
|
|
71
|
+
E1-F1: <Feature Name>
|
|
72
|
+
E1-F2: <Feature Name>
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
Next steps:
|
|
76
|
+
- Run /ace:plan-feature E1-F1 to break into stories
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
</ace-plan-epic>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# /ace:plan-feature - Plan a Feature
|
|
2
|
+
|
|
3
|
+
Break down a feature into user stories ready for sprint planning.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/ace:plan-feature <feature-id>
|
|
9
|
+
/ace:plan-feature E1-F1
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Arguments
|
|
13
|
+
|
|
14
|
+
- `feature-id` - The feature identifier (e.g., E1-F1)
|
|
15
|
+
|
|
16
|
+
## Behavior
|
|
17
|
+
|
|
18
|
+
This command helps you detail a feature by:
|
|
19
|
+
- Defining user stories using the "As a... I want... So that..." format
|
|
20
|
+
- Setting story acceptance criteria
|
|
21
|
+
- Identifying technical considerations
|
|
22
|
+
- Preparing stories for sprint planning
|
|
23
|
+
|
|
24
|
+
## Instructions for Claude
|
|
25
|
+
|
|
26
|
+
<ace-plan-feature>
|
|
27
|
+
|
|
28
|
+
### Prerequisites
|
|
29
|
+
|
|
30
|
+
1. Verify ACE is initialized
|
|
31
|
+
2. Verify the feature exists
|
|
32
|
+
3. Read feature and parent epic context
|
|
33
|
+
|
|
34
|
+
### Planning Flow
|
|
35
|
+
|
|
36
|
+
1. **Review Feature Context**
|
|
37
|
+
- Understand what this feature delivers
|
|
38
|
+
- Review acceptance criteria
|
|
39
|
+
- Understand dependencies
|
|
40
|
+
|
|
41
|
+
2. **Story Breakdown**
|
|
42
|
+
- Create 2-5 user stories per feature
|
|
43
|
+
- Each story should be completable in 1-3 days
|
|
44
|
+
- Stories should be independently valuable
|
|
45
|
+
|
|
46
|
+
3. **For Each Story, Capture:**
|
|
47
|
+
- ID: E1-F1-S1, etc.
|
|
48
|
+
- Title: Action-oriented title
|
|
49
|
+
- User Story: "As a [user], I want [goal], so that [benefit]"
|
|
50
|
+
- Acceptance Criteria: Testable conditions
|
|
51
|
+
- Technical Notes: Implementation considerations
|
|
52
|
+
- Estimate: Story points (1, 2, 3, 5, 8)
|
|
53
|
+
|
|
54
|
+
4. **Create Story Files**
|
|
55
|
+
- Save to `.ace/backlog/<epic>/<feature>/S1-story-name.md`
|
|
56
|
+
|
|
57
|
+
5. **GitHub Integration** (if enabled)
|
|
58
|
+
- Create story issues linked to feature
|
|
59
|
+
- Add `ace:story` label
|
|
60
|
+
|
|
61
|
+
### Output
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
✓ Feature E1-F1 planned!
|
|
65
|
+
|
|
66
|
+
Stories:
|
|
67
|
+
E1-F1-S1: <Story Title> (3 pts)
|
|
68
|
+
E1-F1-S2: <Story Title> (2 pts)
|
|
69
|
+
...
|
|
70
|
+
|
|
71
|
+
Total Points: X
|
|
72
|
+
|
|
73
|
+
Next steps:
|
|
74
|
+
- Run /ace:refine-story E1-F1-S1 to prepare for execution
|
|
75
|
+
- Add stories to sprint with /ace:sprint-plan
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</ace-plan-feature>
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# /ace:plan-project - Plan Your Project
|
|
2
|
+
|
|
3
|
+
Collaboratively plan your project by defining epics, features, and high-level architecture.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/ace:plan-project [project-description]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Arguments
|
|
12
|
+
|
|
13
|
+
- `project-description` - Optional: A brief description of what you want to build
|
|
14
|
+
|
|
15
|
+
## Behavior
|
|
16
|
+
|
|
17
|
+
This command guides you through a structured project planning session that produces:
|
|
18
|
+
- Defined epics (large bodies of work)
|
|
19
|
+
- Features within each epic
|
|
20
|
+
- Initial technical architecture considerations
|
|
21
|
+
- Prioritized backlog ready for sprint planning
|
|
22
|
+
|
|
23
|
+
## Instructions for Claude
|
|
24
|
+
|
|
25
|
+
<ace-plan-project>
|
|
26
|
+
|
|
27
|
+
### Prerequisites Check
|
|
28
|
+
|
|
29
|
+
1. Verify ACE is initialized by checking for `.ace/config.json`
|
|
30
|
+
2. If not initialized, prompt user to run `/ace:init` first
|
|
31
|
+
3. Read current PROJECT.md and BACKLOG.md if they exist
|
|
32
|
+
|
|
33
|
+
### Phase 1: Project Understanding
|
|
34
|
+
|
|
35
|
+
Start by understanding the project. Ask these questions conversationally (not all at once):
|
|
36
|
+
|
|
37
|
+
1. **What are you building?**
|
|
38
|
+
- Get a clear understanding of the product/feature
|
|
39
|
+
- Clarify the target users
|
|
40
|
+
- Understand the core problem being solved
|
|
41
|
+
|
|
42
|
+
2. **What does success look like?**
|
|
43
|
+
- Define measurable outcomes
|
|
44
|
+
- Identify key milestones
|
|
45
|
+
|
|
46
|
+
3. **What are the constraints?**
|
|
47
|
+
- Timeline expectations
|
|
48
|
+
- Technical constraints (existing stack, integrations)
|
|
49
|
+
- Team/resource constraints
|
|
50
|
+
|
|
51
|
+
### Phase 2: Epic Discovery
|
|
52
|
+
|
|
53
|
+
Based on the project understanding, collaboratively identify epics.
|
|
54
|
+
|
|
55
|
+
**Guide the user through epic discovery:**
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
An epic is a large body of work that:
|
|
59
|
+
- Takes multiple sprints to complete
|
|
60
|
+
- Delivers significant user value when done
|
|
61
|
+
- Can be broken into 3-8 features
|
|
62
|
+
|
|
63
|
+
Let's identify the major epics for your project.
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For each epic, capture:
|
|
67
|
+
- **ID**: E1, E2, E3...
|
|
68
|
+
- **Name**: Clear, descriptive name
|
|
69
|
+
- **Description**: What this epic delivers
|
|
70
|
+
- **User Value**: Why this matters to users
|
|
71
|
+
- **Dependencies**: Other epics this depends on
|
|
72
|
+
|
|
73
|
+
Create epic files in `.ace/backlog/`:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
<!-- .ace/backlog/E1-epic-name.md -->
|
|
77
|
+
# E1: Epic Name
|
|
78
|
+
|
|
79
|
+
## Description
|
|
80
|
+
<What this epic delivers>
|
|
81
|
+
|
|
82
|
+
## User Value
|
|
83
|
+
<Why this matters to users>
|
|
84
|
+
|
|
85
|
+
## Dependencies
|
|
86
|
+
<Other epics this depends on, if any>
|
|
87
|
+
|
|
88
|
+
## Features
|
|
89
|
+
<!-- Added by /ace:plan-epic -->
|
|
90
|
+
| ID | Feature | Status |
|
|
91
|
+
|----|---------|--------|
|
|
92
|
+
| - | - | - |
|
|
93
|
+
|
|
94
|
+
## Acceptance Criteria
|
|
95
|
+
- [ ] <Criteria 1>
|
|
96
|
+
- [ ] <Criteria 2>
|
|
97
|
+
|
|
98
|
+
## Status
|
|
99
|
+
- **State:** Draft
|
|
100
|
+
- **Priority:** <High/Medium/Low>
|
|
101
|
+
- **Created:** <timestamp>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Phase 3: Feature Identification
|
|
105
|
+
|
|
106
|
+
For each epic, identify high-level features (don't go deep yet):
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
A feature is a piece of deliverable functionality that:
|
|
110
|
+
- Can be completed in 1-2 sprints
|
|
111
|
+
- Provides standalone value
|
|
112
|
+
- Can be demonstrated to users
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Capture features briefly:
|
|
116
|
+
- **ID**: E1-F1, E1-F2...
|
|
117
|
+
- **Name**: Feature name
|
|
118
|
+
- **Epic**: Parent epic
|
|
119
|
+
- **Brief description**: One line
|
|
120
|
+
|
|
121
|
+
### Phase 4: Priority & Sequencing
|
|
122
|
+
|
|
123
|
+
Help the user prioritize:
|
|
124
|
+
|
|
125
|
+
1. **Identify MVP epics** - What's the minimum to launch?
|
|
126
|
+
2. **Sequence epics** - What order makes sense?
|
|
127
|
+
3. **Identify risks** - What's most uncertain?
|
|
128
|
+
|
|
129
|
+
Create a prioritized view in BACKLOG.md.
|
|
130
|
+
|
|
131
|
+
### Phase 5: Update Project Files
|
|
132
|
+
|
|
133
|
+
Update the following files with gathered information:
|
|
134
|
+
|
|
135
|
+
**PROJECT.md** - Add/update:
|
|
136
|
+
- Vision section
|
|
137
|
+
- Goals section
|
|
138
|
+
- Success criteria
|
|
139
|
+
|
|
140
|
+
**BACKLOG.md** - Add:
|
|
141
|
+
- All epics in priority order
|
|
142
|
+
- Features identified for each epic
|
|
143
|
+
|
|
144
|
+
**STATE.md** - Add:
|
|
145
|
+
- Any decisions made during planning
|
|
146
|
+
- Context notes for future sessions
|
|
147
|
+
|
|
148
|
+
### Phase 6: GitHub Integration (if enabled)
|
|
149
|
+
|
|
150
|
+
If GitHub is enabled in config:
|
|
151
|
+
|
|
152
|
+
1. Create epic issues with `ace:epic` label:
|
|
153
|
+
```bash
|
|
154
|
+
gh issue create --title "E1: Epic Name" --body "..." --label "ace:epic"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
2. Create a project board or milestone (ask user preference)
|
|
158
|
+
|
|
159
|
+
### Output Summary
|
|
160
|
+
|
|
161
|
+
After planning, output:
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
✓ Project planning complete!
|
|
165
|
+
|
|
166
|
+
Epics Created:
|
|
167
|
+
E1: <Epic Name> - <status>
|
|
168
|
+
E2: <Epic Name> - <status>
|
|
169
|
+
...
|
|
170
|
+
|
|
171
|
+
Features Identified: <count>
|
|
172
|
+
|
|
173
|
+
Updated Files:
|
|
174
|
+
- PROJECT.md
|
|
175
|
+
- BACKLOG.md
|
|
176
|
+
- STATE.md
|
|
177
|
+
- .ace/backlog/E1-*.md
|
|
178
|
+
- .ace/backlog/E2-*.md
|
|
179
|
+
|
|
180
|
+
Recommended Next Steps:
|
|
181
|
+
1. Review and refine PROJECT.md
|
|
182
|
+
2. Run /ace:plan-epic E1 to detail your first epic
|
|
183
|
+
3. Run /ace:plan-feature to break features into stories
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Planning Principles
|
|
187
|
+
|
|
188
|
+
Throughout the planning session, apply these principles:
|
|
189
|
+
|
|
190
|
+
1. **Start broad, narrow later** - Don't over-detail early
|
|
191
|
+
2. **User value focus** - Every epic should deliver user value
|
|
192
|
+
3. **Vertical slices** - Prefer end-to-end features over horizontal layers
|
|
193
|
+
4. **Dependencies minimize** - Reduce coupling between epics
|
|
194
|
+
5. **Risk early** - Tackle uncertain/risky work first
|
|
195
|
+
6. **Keep it agile** - Plans will change, that's okay
|
|
196
|
+
|
|
197
|
+
### Conversation Style
|
|
198
|
+
|
|
199
|
+
- Be collaborative, not prescriptive
|
|
200
|
+
- Ask clarifying questions
|
|
201
|
+
- Offer suggestions but let user decide
|
|
202
|
+
- Summarize understanding before moving to next phase
|
|
203
|
+
- Keep the energy high - planning should be exciting!
|
|
204
|
+
|
|
205
|
+
</ace-plan-project>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# /ace:plan-story - Plan a Story
|
|
2
|
+
|
|
3
|
+
Create a new user story with detailed acceptance criteria and technical breakdown.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/ace:plan-story <feature-id> "<story-title>"
|
|
9
|
+
/ace:plan-story E1-F1 "User can log in with email"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Arguments
|
|
13
|
+
|
|
14
|
+
- `feature-id` - The parent feature identifier
|
|
15
|
+
- `story-title` - Title for the new story
|
|
16
|
+
|
|
17
|
+
## Behavior
|
|
18
|
+
|
|
19
|
+
This command creates a new story with:
|
|
20
|
+
- User story format (As a... I want... So that...)
|
|
21
|
+
- Detailed acceptance criteria
|
|
22
|
+
- Technical implementation notes
|
|
23
|
+
- Task breakdown for execution
|
|
24
|
+
|
|
25
|
+
## Instructions for Claude
|
|
26
|
+
|
|
27
|
+
<ace-plan-story>
|
|
28
|
+
|
|
29
|
+
### Prerequisites
|
|
30
|
+
|
|
31
|
+
1. Verify ACE is initialized
|
|
32
|
+
2. Verify parent feature exists
|
|
33
|
+
3. Determine next story ID
|
|
34
|
+
|
|
35
|
+
### Planning Flow
|
|
36
|
+
|
|
37
|
+
1. **Gather Story Details**
|
|
38
|
+
- Who is the user?
|
|
39
|
+
- What do they want to accomplish?
|
|
40
|
+
- What benefit does this provide?
|
|
41
|
+
|
|
42
|
+
2. **Define Acceptance Criteria**
|
|
43
|
+
- Given/When/Then format preferred
|
|
44
|
+
- Should be testable
|
|
45
|
+
- Cover happy path and edge cases
|
|
46
|
+
|
|
47
|
+
3. **Technical Breakdown**
|
|
48
|
+
- Identify files that need changes
|
|
49
|
+
- Note any new dependencies
|
|
50
|
+
- Consider testing approach
|
|
51
|
+
|
|
52
|
+
4. **Create Story File**
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# E1-F1-S1: Story Title
|
|
56
|
+
|
|
57
|
+
## User Story
|
|
58
|
+
|
|
59
|
+
As a [type of user],
|
|
60
|
+
I want [goal/desire],
|
|
61
|
+
So that [benefit/value].
|
|
62
|
+
|
|
63
|
+
## Acceptance Criteria
|
|
64
|
+
|
|
65
|
+
- [ ] Given [context], when [action], then [outcome]
|
|
66
|
+
- [ ] Given [context], when [action], then [outcome]
|
|
67
|
+
- [ ] Edge case: [description]
|
|
68
|
+
|
|
69
|
+
## Technical Notes
|
|
70
|
+
|
|
71
|
+
### Files to Modify
|
|
72
|
+
- `path/to/file.ts` - [what changes]
|
|
73
|
+
|
|
74
|
+
### New Dependencies
|
|
75
|
+
- None
|
|
76
|
+
|
|
77
|
+
### Testing Approach
|
|
78
|
+
- Unit tests for [components]
|
|
79
|
+
- Integration test for [flow]
|
|
80
|
+
|
|
81
|
+
## Tasks
|
|
82
|
+
|
|
83
|
+
<!-- Added by /ace:refine-story -->
|
|
84
|
+
|
|
85
|
+
## Metadata
|
|
86
|
+
|
|
87
|
+
- **Status:** Draft
|
|
88
|
+
- **Points:** [1-8]
|
|
89
|
+
- **Sprint:** None
|
|
90
|
+
- **Created:** <timestamp>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
5. **GitHub Integration** (if enabled)
|
|
94
|
+
- Create issue with story template
|
|
95
|
+
- Link to parent feature issue
|
|
96
|
+
|
|
97
|
+
</ace-plan-story>
|