agileflow 3.4.0 → 3.4.2
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 +10 -0
- package/README.md +4 -4
- package/package.json +1 -1
- package/scripts/agileflow-welcome.js +79 -0
- package/scripts/claude-tmux.sh +12 -36
- package/scripts/lib/ac-test-matcher.js +452 -0
- package/scripts/lib/audit-registry.js +94 -2
- package/scripts/lib/configure-features.js +35 -0
- package/scripts/lib/model-profiles.js +25 -5
- package/scripts/lib/quality-gates.js +163 -0
- package/scripts/lib/signal-detectors.js +43 -0
- package/scripts/lib/status-writer.js +255 -0
- package/scripts/lib/story-claiming.js +128 -45
- package/scripts/lib/task-sync.js +32 -38
- package/scripts/lib/tmux-audit-monitor.js +611 -0
- package/scripts/lib/tmux-group-colors.js +2 -2
- package/scripts/lib/tool-registry.yaml +241 -0
- package/scripts/lib/tool-shed.js +441 -0
- package/scripts/native-team-observer.js +219 -0
- package/scripts/obtain-context.js +14 -0
- package/scripts/ralph-loop.js +30 -5
- package/scripts/smart-detect.js +21 -0
- package/scripts/spawn-audit-sessions.js +373 -45
- package/scripts/team-manager.js +19 -0
- package/src/core/agents/a11y-analyzer-aria.md +155 -0
- package/src/core/agents/a11y-analyzer-forms.md +162 -0
- package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
- package/src/core/agents/a11y-analyzer-semantic.md +153 -0
- package/src/core/agents/a11y-analyzer-visual.md +158 -0
- package/src/core/agents/a11y-consensus.md +248 -0
- package/src/core/agents/ads-consensus.md +74 -0
- package/src/core/agents/ads-generate.md +145 -0
- package/src/core/agents/ads-performance-tracker.md +197 -0
- package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
- package/src/core/agents/api-quality-analyzer-docs.md +176 -0
- package/src/core/agents/api-quality-analyzer-errors.md +183 -0
- package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
- package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
- package/src/core/agents/api-quality-consensus.md +214 -0
- package/src/core/agents/arch-analyzer-circular.md +148 -0
- package/src/core/agents/arch-analyzer-complexity.md +171 -0
- package/src/core/agents/arch-analyzer-coupling.md +146 -0
- package/src/core/agents/arch-analyzer-layering.md +151 -0
- package/src/core/agents/arch-analyzer-patterns.md +162 -0
- package/src/core/agents/arch-consensus.md +227 -0
- package/src/core/commands/adr.md +1 -0
- package/src/core/commands/ads/audit.md +67 -5
- package/src/core/commands/ads/generate.md +238 -0
- package/src/core/commands/ads/health.md +327 -0
- package/src/core/commands/ads/test-plan.md +317 -0
- package/src/core/commands/ads/track.md +288 -0
- package/src/core/commands/ads.md +28 -16
- package/src/core/commands/assign.md +1 -0
- package/src/core/commands/audit.md +43 -6
- package/src/core/commands/babysit.md +90 -6
- package/src/core/commands/baseline.md +1 -0
- package/src/core/commands/blockers.md +1 -0
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/changelog.md +1 -0
- package/src/core/commands/choose.md +1 -0
- package/src/core/commands/ci.md +1 -0
- package/src/core/commands/code/accessibility.md +347 -0
- package/src/core/commands/code/api.md +297 -0
- package/src/core/commands/code/architecture.md +297 -0
- package/src/core/commands/code/completeness.md +43 -6
- package/src/core/commands/code/legal.md +43 -6
- package/src/core/commands/code/logic.md +43 -6
- package/src/core/commands/code/performance.md +43 -6
- package/src/core/commands/code/security.md +43 -6
- package/src/core/commands/code/test.md +43 -6
- package/src/core/commands/configure.md +1 -0
- package/src/core/commands/council.md +1 -0
- package/src/core/commands/deploy.md +1 -0
- package/src/core/commands/diagnose.md +1 -0
- package/src/core/commands/docs.md +1 -0
- package/src/core/commands/epic/edit.md +213 -0
- package/src/core/commands/epic.md +1 -0
- package/src/core/commands/export.md +238 -0
- package/src/core/commands/help.md +16 -1
- package/src/core/commands/ideate/discover.md +7 -3
- package/src/core/commands/ideate/features.md +65 -4
- package/src/core/commands/ideate/new.md +158 -124
- package/src/core/commands/impact.md +1 -0
- package/src/core/commands/learn/explain.md +118 -0
- package/src/core/commands/learn/glossary.md +135 -0
- package/src/core/commands/learn/patterns.md +138 -0
- package/src/core/commands/learn/tour.md +126 -0
- package/src/core/commands/migrate/codemods.md +151 -0
- package/src/core/commands/migrate/plan.md +131 -0
- package/src/core/commands/migrate/scan.md +114 -0
- package/src/core/commands/migrate/validate.md +119 -0
- package/src/core/commands/multi-expert.md +1 -0
- package/src/core/commands/pr.md +1 -0
- package/src/core/commands/review.md +1 -0
- package/src/core/commands/seo/audit.md +61 -6
- package/src/core/commands/sprint.md +1 -0
- package/src/core/commands/status/undo.md +191 -0
- package/src/core/commands/status.md +1 -0
- package/src/core/commands/story/edit.md +204 -0
- package/src/core/commands/story/view.md +29 -7
- package/src/core/commands/story-validate.md +1 -0
- package/src/core/commands/story.md +1 -0
- package/src/core/commands/tdd.md +1 -0
- package/src/core/commands/team/start.md +10 -6
- package/src/core/commands/tests.md +1 -0
- package/src/core/commands/verify.md +27 -1
- package/src/core/commands/workflow.md +2 -0
- package/src/core/teams/backend.json +41 -0
- package/src/core/teams/frontend.json +41 -0
- package/src/core/teams/qa.json +41 -0
- package/src/core/teams/solo.json +35 -0
- package/src/core/templates/agileflow-metadata.json +5 -0
- package/tools/cli/commands/setup.js +85 -3
- package/tools/cli/commands/update.js +42 -0
- package/tools/cli/installers/ide/claude-code.js +68 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Edit an existing story's fields (title, owner, estimate, status, priority)
|
|
3
|
+
argument-hint: "STORY=<US-ID> [TITLE=<text>] [OWNER=<id>] [ESTIMATE=<time>] [STATUS=<status>] [PRIORITY=<P0-P3|high|medium|low>]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:story:edit - Edit story fields with diff-preview-confirm"
|
|
8
|
+
- "{{RULES:json_operations}}"
|
|
9
|
+
- "{{RULES:user_confirmation}}"
|
|
10
|
+
- "{{RULES:file_preview}}"
|
|
11
|
+
- "MUST read current story from status.json BEFORE proposing changes"
|
|
12
|
+
- "MUST show diff of old vs new values"
|
|
13
|
+
- "MUST confirm with AskUserQuestion before writing"
|
|
14
|
+
- "MUST log edit event to bus/log.jsonl"
|
|
15
|
+
state_fields:
|
|
16
|
+
- story_id
|
|
17
|
+
- fields_changed
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# /agileflow:story:edit
|
|
21
|
+
|
|
22
|
+
Edit an existing story's metadata fields with diff preview and confirmation.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## STEP 0: Gather Context
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
node .agileflow/scripts/obtain-context.js story:edit
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
35
|
+
## Compact Summary
|
|
36
|
+
|
|
37
|
+
**Command**: `/agileflow:story:edit STORY=<US-ID> [TITLE=...] [OWNER=...] [ESTIMATE=...] [STATUS=...] [PRIORITY=...]`
|
|
38
|
+
**Purpose**: Edit story fields in status.json with diff-preview-confirm workflow
|
|
39
|
+
|
|
40
|
+
### Flow
|
|
41
|
+
1. Parse STORY parameter (required) and optional field overrides
|
|
42
|
+
2. Read current story from status.json
|
|
43
|
+
3. Show diff of proposed changes
|
|
44
|
+
4. Confirm via AskUserQuestion
|
|
45
|
+
5. Apply changes to status.json
|
|
46
|
+
6. Log edit event to bus/log.jsonl
|
|
47
|
+
|
|
48
|
+
### Critical Rules
|
|
49
|
+
- **Diff preview**: Always show old vs new before writing
|
|
50
|
+
- **Confirmation**: Never write without user approval
|
|
51
|
+
- **Bus logging**: Always append story-edited event
|
|
52
|
+
- **Validation**: Verify JSON integrity after write
|
|
53
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Arguments
|
|
58
|
+
|
|
59
|
+
| Argument | Required | Description |
|
|
60
|
+
|----------|----------|-------------|
|
|
61
|
+
| STORY | Yes | Story ID (e.g., US-0042) |
|
|
62
|
+
| TITLE | No | New story title |
|
|
63
|
+
| OWNER | No | New owner (e.g., AG-API, AG-UI) |
|
|
64
|
+
| ESTIMATE | No | New estimate (e.g., 2h, 1d) |
|
|
65
|
+
| STATUS | No | New status (ready, in_progress, blocked, done) |
|
|
66
|
+
| PRIORITY | No | New priority (P0, P1, P2, P3, high, medium, low) |
|
|
67
|
+
|
|
68
|
+
At least one optional field must be provided (otherwise suggest `/agileflow:story:view`).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## IMMEDIATE ACTIONS
|
|
73
|
+
|
|
74
|
+
### Step 1: Validate Input
|
|
75
|
+
|
|
76
|
+
If STORY not provided:
|
|
77
|
+
|
|
78
|
+
```xml
|
|
79
|
+
<invoke name="AskUserQuestion">
|
|
80
|
+
<parameter name="questions">[{
|
|
81
|
+
"question": "Which story would you like to edit?",
|
|
82
|
+
"header": "Select",
|
|
83
|
+
"multiSelect": false,
|
|
84
|
+
"options": [
|
|
85
|
+
{"label": "Enter story ID", "description": "Provide a US-XXXX identifier"}
|
|
86
|
+
]
|
|
87
|
+
}]</parameter>
|
|
88
|
+
</invoke>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Step 2: Read Current Story
|
|
92
|
+
|
|
93
|
+
Read the story entry from `docs/09-agents/status.json`:
|
|
94
|
+
|
|
95
|
+
```javascript
|
|
96
|
+
const data = JSON.parse(fs.readFileSync('docs/09-agents/status.json', 'utf8'));
|
|
97
|
+
const story = data.stories[storyId];
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
If story not found, show error: "Story {STORY} not found in status.json"
|
|
101
|
+
|
|
102
|
+
### Step 3: Build Change Set
|
|
103
|
+
|
|
104
|
+
Compare provided fields against current values. Skip fields that match current values (no-op).
|
|
105
|
+
|
|
106
|
+
If no fields would change, inform user: "No changes detected. Current values match provided values."
|
|
107
|
+
|
|
108
|
+
### Step 4: Show Diff Preview
|
|
109
|
+
|
|
110
|
+
Display a clear diff of what will change:
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
## Editing US-0042: Current Title
|
|
114
|
+
|
|
115
|
+
| Field | Current | New |
|
|
116
|
+
|-------|---------|-----|
|
|
117
|
+
| title | "Login Form" | "Login Form with Validation" |
|
|
118
|
+
| owner | AG-UI | AG-API |
|
|
119
|
+
| estimate | 2h | 4h |
|
|
120
|
+
|
|
121
|
+
Files modified:
|
|
122
|
+
1. docs/09-agents/status.json (story entry update)
|
|
123
|
+
2. docs/09-agents/bus/log.jsonl (edit event append)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Step 5: Confirm Changes
|
|
127
|
+
|
|
128
|
+
```xml
|
|
129
|
+
<invoke name="AskUserQuestion">
|
|
130
|
+
<parameter name="questions">[{
|
|
131
|
+
"question": "Apply these changes to US-0042?",
|
|
132
|
+
"header": "Confirm edit",
|
|
133
|
+
"multiSelect": false,
|
|
134
|
+
"options": [
|
|
135
|
+
{"label": "Yes, apply changes (Recommended)", "description": "Update status.json and log edit event"},
|
|
136
|
+
{"label": "No, cancel", "description": "Discard changes"}
|
|
137
|
+
]
|
|
138
|
+
}]</parameter>
|
|
139
|
+
</invoke>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step 6: Apply Changes
|
|
143
|
+
|
|
144
|
+
On confirmation:
|
|
145
|
+
|
|
146
|
+
1. **Update status.json** using Edit tool or jq:
|
|
147
|
+
- Update only the changed fields in the story entry
|
|
148
|
+
- Set `updated` timestamp to current ISO date
|
|
149
|
+
|
|
150
|
+
2. **Validate JSON**:
|
|
151
|
+
```bash
|
|
152
|
+
node -e "JSON.parse(require('fs').readFileSync('docs/09-agents/status.json','utf8')); console.log('valid')"
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
3. **Append to bus/log.jsonl**:
|
|
156
|
+
```json
|
|
157
|
+
{"ts":"<ISO>","type":"story-edited","from":"USER","story":"<STORY>","changes":{"field":"old_value->new_value"},"text":"Story edited: <changed fields>"}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Step 7: Confirm Success
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Story US-0042 updated:
|
|
164
|
+
title: "Login Form" -> "Login Form with Validation"
|
|
165
|
+
owner: AG-UI -> AG-API
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Example Usage
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# Edit title
|
|
174
|
+
/agileflow:story:edit STORY=US-0042 TITLE="Updated Title"
|
|
175
|
+
|
|
176
|
+
# Change owner and estimate
|
|
177
|
+
/agileflow:story:edit STORY=US-0042 OWNER=AG-API ESTIMATE=4h
|
|
178
|
+
|
|
179
|
+
# Change status
|
|
180
|
+
/agileflow:story:edit STORY=US-0042 STATUS=blocked
|
|
181
|
+
|
|
182
|
+
# Multiple fields at once
|
|
183
|
+
/agileflow:story:edit STORY=US-0042 TITLE="New Title" OWNER=AG-UI PRIORITY=high
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Rules
|
|
189
|
+
|
|
190
|
+
- **Always preview**: Show diff before applying
|
|
191
|
+
- **Always confirm**: Use AskUserQuestion before writes
|
|
192
|
+
- **Always log**: Append edit event to bus/log.jsonl
|
|
193
|
+
- **Always validate**: Check JSON integrity after write
|
|
194
|
+
- **No silent changes**: Every change must be visible to the user
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Related Commands
|
|
199
|
+
|
|
200
|
+
- `/agileflow:story:view` - View story details
|
|
201
|
+
- `/agileflow:story:list` - List all stories
|
|
202
|
+
- `/agileflow:story` - Create new story
|
|
203
|
+
- `/agileflow:status` - Quick status update
|
|
204
|
+
- `/agileflow:epic:edit` - Edit epic fields
|
|
@@ -6,6 +6,8 @@ compact_context:
|
|
|
6
6
|
preserve_rules:
|
|
7
7
|
- "ACTIVE COMMAND: /agileflow:story:view - Views story with context-aware actions"
|
|
8
8
|
- "MUST read story file and status.json entry"
|
|
9
|
+
- "MUST parse AC items and cross-reference with test files for verified/pending status"
|
|
10
|
+
- "MUST display AC Progress: X/Y verified with visual progress bar"
|
|
9
11
|
- "MUST display full story: AC (with checkboxes), tests, dependencies, blockers"
|
|
10
12
|
- "MUST offer CONTEXT-AWARE actions based on story status"
|
|
11
13
|
- "STATUS=ready → Start work, validate, view research"
|
|
@@ -51,13 +53,15 @@ node .agileflow/scripts/obtain-context.js story:view
|
|
|
51
53
|
|
|
52
54
|
### Flow
|
|
53
55
|
1. Read story file and status.json entry
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
56
|
+
2. Parse AC items and cross-reference with test files
|
|
57
|
+
3. Display full story details (AC progress, tests, dependencies)
|
|
58
|
+
4. Offer actions based on current status
|
|
59
|
+
5. Execute selected action
|
|
57
60
|
|
|
58
61
|
### Critical Rules
|
|
62
|
+
- **AC progress**: Parse AC items, cross-reference with tests, show X/Y verified with progress bar
|
|
59
63
|
- **Context-aware actions**: Different options based on story status
|
|
60
|
-
- **Show everything**: AC, test status, dependencies, blockers
|
|
64
|
+
- **Show everything**: AC progress, test status, dependencies, blockers
|
|
61
65
|
- **Always offer next steps**: End with relevant AskUserQuestion
|
|
62
66
|
<!-- COMPACT_SUMMARY_END -->
|
|
63
67
|
|
|
@@ -109,7 +113,22 @@ cat docs/09-agents/status.json | jq '.stories["<STORY>"]'
|
|
|
109
113
|
cat docs/07-testing/test-cases/<STORY>.md
|
|
110
114
|
```
|
|
111
115
|
|
|
112
|
-
### Step 3:
|
|
116
|
+
### Step 3: Parse AC and Compute Progress
|
|
117
|
+
|
|
118
|
+
Before displaying, count acceptance criteria completion:
|
|
119
|
+
|
|
120
|
+
1. **Parse AC from status.json**: Read the `ac` array from the story entry (string list of AC items)
|
|
121
|
+
2. **Parse AC from story file** (if exists): Look for Given/When/Then patterns or `- [ ]`/`- [x]` checkboxes
|
|
122
|
+
3. **Cross-reference with tests**: Check `docs/07-testing/test-cases/<STORY>.md` and `__tests__/<STORY>.test.*` for matching test descriptions
|
|
123
|
+
4. **Compute progress**: Count verified (has matching test OR `[x]` checkbox) vs total AC items
|
|
124
|
+
5. **Build ac_status**: `{ total: N, verified: M, items: [{text, verified, test_match}] }`
|
|
125
|
+
|
|
126
|
+
**Matching rules:**
|
|
127
|
+
- AC is "verified" if: story file has `[x]` checkbox for it, OR a test file has a describe/it/test matching the AC text
|
|
128
|
+
- Use fuzzy substring matching (lowercase, strip "given/when/then" prefixes)
|
|
129
|
+
- If no test files found, fall back to checkbox status only
|
|
130
|
+
|
|
131
|
+
### Step 4: Display Story Details
|
|
113
132
|
|
|
114
133
|
```markdown
|
|
115
134
|
## US-0042: User Login Form
|
|
@@ -124,11 +143,14 @@ cat docs/07-testing/test-cases/<STORY>.md
|
|
|
124
143
|
|
|
125
144
|
---
|
|
126
145
|
|
|
127
|
-
###
|
|
146
|
+
### AC Progress: 1/3 verified
|
|
147
|
+
|
|
148
|
+
[==========....................] 33%
|
|
128
149
|
|
|
129
150
|
- [x] Given a user on the login page
|
|
130
151
|
When they enter valid credentials
|
|
131
152
|
Then they are redirected to dashboard
|
|
153
|
+
(matched: LoginForm.test.tsx > "redirects on valid credentials")
|
|
132
154
|
|
|
133
155
|
- [ ] Given a user on the login page
|
|
134
156
|
When they enter invalid credentials
|
|
@@ -143,7 +165,7 @@ cat docs/07-testing/test-cases/<STORY>.md
|
|
|
143
165
|
### Dependencies
|
|
144
166
|
|
|
145
167
|
- US-0040: API authentication endpoint (done)
|
|
146
|
-
- US-0041: Session management (ready)
|
|
168
|
+
- US-0041: Session management (ready) - Not started yet
|
|
147
169
|
|
|
148
170
|
---
|
|
149
171
|
|
package/src/core/commands/tdd.md
CHANGED
|
@@ -43,12 +43,16 @@ node -e "console.log(JSON.stringify({ agentTeams: !!process.env.CLAUDE_CODE_EXPE
|
|
|
43
43
|
|
|
44
44
|
The argument specifies which team template to use. Available templates are in `.agileflow/teams/`:
|
|
45
45
|
|
|
46
|
-
| Template | Description |
|
|
47
|
-
|
|
48
|
-
| `fullstack` | API + UI + Testing specialists |
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
46
|
+
| Template | Description | Best For |
|
|
47
|
+
|----------|-------------|----------|
|
|
48
|
+
| `fullstack` | API + UI + Testing specialists | Full-stack feature development |
|
|
49
|
+
| `backend` | API + Database + Security specialists | Backend/API work |
|
|
50
|
+
| `frontend` | UI + Accessibility + Testing specialists | Frontend/component work |
|
|
51
|
+
| `solo` | Mentor + Testing (lightweight) | Solo developers, learning |
|
|
52
|
+
| `qa` | QA Strategy + Testing + Browser QA | Test coverage, regression |
|
|
53
|
+
| `code-review` | Code reviewer + Security + Performance | Pre-PR quality gates |
|
|
54
|
+
| `builder-validator` | Paired builders with validators | High-reliability features |
|
|
55
|
+
| `logic-audit` | Multi-perspective logic analysis | Complex business logic |
|
|
52
56
|
|
|
53
57
|
If no argument given, use AskUserQuestion to let user choose.
|
|
54
58
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Run project tests and update story test status
|
|
3
|
+
phase: implementation
|
|
3
4
|
argument-hint: "[<US-ID>]"
|
|
4
5
|
compact_context:
|
|
5
6
|
priority: critical
|
|
@@ -259,7 +260,32 @@ Record test verification in current session:
|
|
|
259
260
|
}
|
|
260
261
|
```
|
|
261
262
|
|
|
262
|
-
### 7.
|
|
263
|
+
### 7. AC Coverage Report (Optional)
|
|
264
|
+
|
|
265
|
+
After tests pass, if the current story has acceptance criteria, run the AC-to-test matcher to show coverage:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
node -e "
|
|
269
|
+
const { matchACToTests } = require('./.agileflow/scripts/lib/ac-test-matcher');
|
|
270
|
+
const result = matchACToTests('{{STORY_ID}}');
|
|
271
|
+
console.log(JSON.stringify(result, null, 2));
|
|
272
|
+
"
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Append AC coverage to the verification report:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
AC Coverage: 3/5 (60%)
|
|
279
|
+
✅ AC1: "Create audit command" → matched to audit.test.js (high)
|
|
280
|
+
✅ AC2: "Accept story ID" → matched to audit.test.js (high)
|
|
281
|
+
✅ AC3: "Run tests" → matched to verify.test.js (medium)
|
|
282
|
+
⬜ AC4: "Check AC met" → no matching tests
|
|
283
|
+
⬜ AC5: "Prompt for learnings" → no matching tests
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
If no story is specified or story has no AC, skip this section.
|
|
287
|
+
|
|
288
|
+
### 8. Generate Report
|
|
263
289
|
|
|
264
290
|
**Success Report**:
|
|
265
291
|
```
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Define and run parameterized workflow templates
|
|
3
|
+
phase: implementation
|
|
3
4
|
argument-hint: "<template> [<arguments>]"
|
|
4
5
|
compact_context:
|
|
5
6
|
priority: normal
|
|
@@ -228,6 +229,7 @@ docs/08-project/workflows/
|
|
|
228
229
|
---
|
|
229
230
|
name: deploy-staging
|
|
230
231
|
description: Deploy to staging environment
|
|
232
|
+
phase: implementation
|
|
231
233
|
arguments:
|
|
232
234
|
- name: version
|
|
233
235
|
required: true
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "backend",
|
|
3
|
+
"description": "Backend-focused team with API, database, and security specialists",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"lead": {
|
|
6
|
+
"agent": "team-lead",
|
|
7
|
+
"delegate_mode": true,
|
|
8
|
+
"plan_approval": true
|
|
9
|
+
},
|
|
10
|
+
"teammates": [
|
|
11
|
+
{
|
|
12
|
+
"agent": "agileflow-api",
|
|
13
|
+
"role": "builder",
|
|
14
|
+
"domain": "api",
|
|
15
|
+
"description": "Implements API endpoints, business logic, data models, and service layer"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"agent": "agileflow-database",
|
|
19
|
+
"role": "builder",
|
|
20
|
+
"domain": "database",
|
|
21
|
+
"description": "Designs schemas, writes migrations, optimizes queries"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"agent": "agileflow-security",
|
|
25
|
+
"role": "validator",
|
|
26
|
+
"domain": "security",
|
|
27
|
+
"description": "Reviews authentication, authorization, and input validation"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"quality_gates": {
|
|
31
|
+
"teammate_idle": {
|
|
32
|
+
"tests": true,
|
|
33
|
+
"lint": true,
|
|
34
|
+
"types": true
|
|
35
|
+
},
|
|
36
|
+
"task_completed": {
|
|
37
|
+
"require_validator_approval": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"tags": ["development", "backend", "api", "database"]
|
|
41
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend",
|
|
3
|
+
"description": "Frontend-focused team with UI, accessibility, and design specialists",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"lead": {
|
|
6
|
+
"agent": "team-lead",
|
|
7
|
+
"delegate_mode": true,
|
|
8
|
+
"plan_approval": true
|
|
9
|
+
},
|
|
10
|
+
"teammates": [
|
|
11
|
+
{
|
|
12
|
+
"agent": "agileflow-ui",
|
|
13
|
+
"role": "builder",
|
|
14
|
+
"domain": "frontend",
|
|
15
|
+
"description": "Implements UI components, styling, theming, and client-side logic"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"agent": "agileflow-accessibility",
|
|
19
|
+
"role": "validator",
|
|
20
|
+
"domain": "accessibility",
|
|
21
|
+
"description": "Reviews WCAG compliance, keyboard navigation, and screen reader support"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"agent": "agileflow-testing",
|
|
25
|
+
"role": "validator",
|
|
26
|
+
"domain": "quality",
|
|
27
|
+
"description": "Writes component tests, integration tests, and visual regression tests"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"quality_gates": {
|
|
31
|
+
"teammate_idle": {
|
|
32
|
+
"tests": true,
|
|
33
|
+
"lint": true,
|
|
34
|
+
"types": false
|
|
35
|
+
},
|
|
36
|
+
"task_completed": {
|
|
37
|
+
"require_validator_approval": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"tags": ["development", "frontend", "ui", "accessibility"]
|
|
41
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa",
|
|
3
|
+
"description": "QA-focused team with test strategy, coverage analysis, and regression testing",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"lead": {
|
|
6
|
+
"agent": "team-lead",
|
|
7
|
+
"delegate_mode": true,
|
|
8
|
+
"plan_approval": false
|
|
9
|
+
},
|
|
10
|
+
"teammates": [
|
|
11
|
+
{
|
|
12
|
+
"agent": "agileflow-qa",
|
|
13
|
+
"role": "strategist",
|
|
14
|
+
"domain": "test-strategy",
|
|
15
|
+
"description": "Defines test strategy, identifies coverage gaps, and plans regression suites"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"agent": "agileflow-testing",
|
|
19
|
+
"role": "builder",
|
|
20
|
+
"domain": "test-implementation",
|
|
21
|
+
"description": "Implements unit, integration, and end-to-end tests"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"agent": "agileflow-browser-qa",
|
|
25
|
+
"role": "validator",
|
|
26
|
+
"domain": "ui-testing",
|
|
27
|
+
"description": "Runs exploratory UI tests with browser automation and screenshot validation"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"quality_gates": {
|
|
31
|
+
"teammate_idle": {
|
|
32
|
+
"tests": true,
|
|
33
|
+
"lint": false,
|
|
34
|
+
"types": false
|
|
35
|
+
},
|
|
36
|
+
"task_completed": {
|
|
37
|
+
"require_validator_approval": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"tags": ["qa", "testing", "quality", "regression"]
|
|
41
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "solo",
|
|
3
|
+
"description": "Solo developer preset with mentor guidance and automated validation",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"lead": {
|
|
6
|
+
"agent": "team-lead",
|
|
7
|
+
"delegate_mode": true,
|
|
8
|
+
"plan_approval": false
|
|
9
|
+
},
|
|
10
|
+
"teammates": [
|
|
11
|
+
{
|
|
12
|
+
"agent": "agileflow-mentor",
|
|
13
|
+
"role": "mentor",
|
|
14
|
+
"domain": "guidance",
|
|
15
|
+
"description": "Guides implementation approach, suggests patterns, and reviews decisions"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"agent": "agileflow-testing",
|
|
19
|
+
"role": "validator",
|
|
20
|
+
"domain": "quality",
|
|
21
|
+
"description": "Generates and runs tests to validate implementation"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"quality_gates": {
|
|
25
|
+
"teammate_idle": {
|
|
26
|
+
"tests": true,
|
|
27
|
+
"lint": false,
|
|
28
|
+
"types": false
|
|
29
|
+
},
|
|
30
|
+
"task_completed": {
|
|
31
|
+
"require_validator_approval": false
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"tags": ["solo", "mentor", "beginner-friendly"]
|
|
35
|
+
}
|
|
@@ -133,6 +133,11 @@
|
|
|
133
133
|
"default_audit_model": null,
|
|
134
134
|
"description": "Override via MODEL=haiku|sonnet|opus in audit command arguments. null = use agent defaults."
|
|
135
135
|
},
|
|
136
|
+
"ci_feedback_loops": {
|
|
137
|
+
"enabled": true,
|
|
138
|
+
"max_rounds": 3,
|
|
139
|
+
"description": "Auto-retry agent work when CI/tests fail, up to max_rounds before escalating to human"
|
|
140
|
+
},
|
|
136
141
|
"ultradeep": {
|
|
137
142
|
"tab_naming": "prefix:name",
|
|
138
143
|
"custom_colors": null,
|