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.
Files changed (115) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +4 -4
  3. package/package.json +1 -1
  4. package/scripts/agileflow-welcome.js +79 -0
  5. package/scripts/claude-tmux.sh +12 -36
  6. package/scripts/lib/ac-test-matcher.js +452 -0
  7. package/scripts/lib/audit-registry.js +94 -2
  8. package/scripts/lib/configure-features.js +35 -0
  9. package/scripts/lib/model-profiles.js +25 -5
  10. package/scripts/lib/quality-gates.js +163 -0
  11. package/scripts/lib/signal-detectors.js +43 -0
  12. package/scripts/lib/status-writer.js +255 -0
  13. package/scripts/lib/story-claiming.js +128 -45
  14. package/scripts/lib/task-sync.js +32 -38
  15. package/scripts/lib/tmux-audit-monitor.js +611 -0
  16. package/scripts/lib/tmux-group-colors.js +2 -2
  17. package/scripts/lib/tool-registry.yaml +241 -0
  18. package/scripts/lib/tool-shed.js +441 -0
  19. package/scripts/native-team-observer.js +219 -0
  20. package/scripts/obtain-context.js +14 -0
  21. package/scripts/ralph-loop.js +30 -5
  22. package/scripts/smart-detect.js +21 -0
  23. package/scripts/spawn-audit-sessions.js +373 -45
  24. package/scripts/team-manager.js +19 -0
  25. package/src/core/agents/a11y-analyzer-aria.md +155 -0
  26. package/src/core/agents/a11y-analyzer-forms.md +162 -0
  27. package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
  28. package/src/core/agents/a11y-analyzer-semantic.md +153 -0
  29. package/src/core/agents/a11y-analyzer-visual.md +158 -0
  30. package/src/core/agents/a11y-consensus.md +248 -0
  31. package/src/core/agents/ads-consensus.md +74 -0
  32. package/src/core/agents/ads-generate.md +145 -0
  33. package/src/core/agents/ads-performance-tracker.md +197 -0
  34. package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
  35. package/src/core/agents/api-quality-analyzer-docs.md +176 -0
  36. package/src/core/agents/api-quality-analyzer-errors.md +183 -0
  37. package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
  38. package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
  39. package/src/core/agents/api-quality-consensus.md +214 -0
  40. package/src/core/agents/arch-analyzer-circular.md +148 -0
  41. package/src/core/agents/arch-analyzer-complexity.md +171 -0
  42. package/src/core/agents/arch-analyzer-coupling.md +146 -0
  43. package/src/core/agents/arch-analyzer-layering.md +151 -0
  44. package/src/core/agents/arch-analyzer-patterns.md +162 -0
  45. package/src/core/agents/arch-consensus.md +227 -0
  46. package/src/core/commands/adr.md +1 -0
  47. package/src/core/commands/ads/audit.md +67 -5
  48. package/src/core/commands/ads/generate.md +238 -0
  49. package/src/core/commands/ads/health.md +327 -0
  50. package/src/core/commands/ads/test-plan.md +317 -0
  51. package/src/core/commands/ads/track.md +288 -0
  52. package/src/core/commands/ads.md +28 -16
  53. package/src/core/commands/assign.md +1 -0
  54. package/src/core/commands/audit.md +43 -6
  55. package/src/core/commands/babysit.md +90 -6
  56. package/src/core/commands/baseline.md +1 -0
  57. package/src/core/commands/blockers.md +1 -0
  58. package/src/core/commands/board.md +1 -0
  59. package/src/core/commands/changelog.md +1 -0
  60. package/src/core/commands/choose.md +1 -0
  61. package/src/core/commands/ci.md +1 -0
  62. package/src/core/commands/code/accessibility.md +347 -0
  63. package/src/core/commands/code/api.md +297 -0
  64. package/src/core/commands/code/architecture.md +297 -0
  65. package/src/core/commands/code/completeness.md +43 -6
  66. package/src/core/commands/code/legal.md +43 -6
  67. package/src/core/commands/code/logic.md +43 -6
  68. package/src/core/commands/code/performance.md +43 -6
  69. package/src/core/commands/code/security.md +43 -6
  70. package/src/core/commands/code/test.md +43 -6
  71. package/src/core/commands/configure.md +1 -0
  72. package/src/core/commands/council.md +1 -0
  73. package/src/core/commands/deploy.md +1 -0
  74. package/src/core/commands/diagnose.md +1 -0
  75. package/src/core/commands/docs.md +1 -0
  76. package/src/core/commands/epic/edit.md +213 -0
  77. package/src/core/commands/epic.md +1 -0
  78. package/src/core/commands/export.md +238 -0
  79. package/src/core/commands/help.md +16 -1
  80. package/src/core/commands/ideate/discover.md +7 -3
  81. package/src/core/commands/ideate/features.md +65 -4
  82. package/src/core/commands/ideate/new.md +158 -124
  83. package/src/core/commands/impact.md +1 -0
  84. package/src/core/commands/learn/explain.md +118 -0
  85. package/src/core/commands/learn/glossary.md +135 -0
  86. package/src/core/commands/learn/patterns.md +138 -0
  87. package/src/core/commands/learn/tour.md +126 -0
  88. package/src/core/commands/migrate/codemods.md +151 -0
  89. package/src/core/commands/migrate/plan.md +131 -0
  90. package/src/core/commands/migrate/scan.md +114 -0
  91. package/src/core/commands/migrate/validate.md +119 -0
  92. package/src/core/commands/multi-expert.md +1 -0
  93. package/src/core/commands/pr.md +1 -0
  94. package/src/core/commands/review.md +1 -0
  95. package/src/core/commands/seo/audit.md +61 -6
  96. package/src/core/commands/sprint.md +1 -0
  97. package/src/core/commands/status/undo.md +191 -0
  98. package/src/core/commands/status.md +1 -0
  99. package/src/core/commands/story/edit.md +204 -0
  100. package/src/core/commands/story/view.md +29 -7
  101. package/src/core/commands/story-validate.md +1 -0
  102. package/src/core/commands/story.md +1 -0
  103. package/src/core/commands/tdd.md +1 -0
  104. package/src/core/commands/team/start.md +10 -6
  105. package/src/core/commands/tests.md +1 -0
  106. package/src/core/commands/verify.md +27 -1
  107. package/src/core/commands/workflow.md +2 -0
  108. package/src/core/teams/backend.json +41 -0
  109. package/src/core/teams/frontend.json +41 -0
  110. package/src/core/teams/qa.json +41 -0
  111. package/src/core/teams/solo.json +35 -0
  112. package/src/core/templates/agileflow-metadata.json +5 -0
  113. package/tools/cli/commands/setup.js +85 -3
  114. package/tools/cli/commands/update.js +42 -0
  115. package/tools/cli/installers/ide/claude-code.js +68 -0
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Update story status and progress
3
+ phase: pre-story
3
4
  argument-hint: "STORY=<US-ID> STATUS=<status> [SUMMARY=<text>] [PR=<url>] [TO=<agent-id>]"
4
5
  compact_context:
5
6
  priority: high
@@ -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. Display full story details (AC, tests, progress)
55
- 3. Offer actions based on current status
56
- 4. Execute selected action
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: Display Story Details
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
- ### Acceptance Criteria
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) ⚠️ Not started yet
168
+ - US-0041: Session management (ready) - Not started yet
147
169
 
148
170
  ---
149
171
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Validate story completeness before development
3
+ phase: pre-story
3
4
  argument-hint: "STORY=<US-ID>"
4
5
  compact_context:
5
6
  priority: high
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Create a user story with acceptance criteria
3
+ phase: pre-story
3
4
  argument-hint: "EPIC=<EP-ID> STORY=<US-ID> TITLE=<text> OWNER=<id> [ESTIMATE=<pts>] [AC=<list>] [TDD=true]"
4
5
  compact_context:
5
6
  priority: high
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Start TDD workflow with RED→GREEN→REFACTOR phases
3
+ phase: implementation
3
4
  argument-hint: "<US-ID>"
4
5
  compact_context:
5
6
  priority: high
@@ -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
- | `code-review` | Code reviewer + Security + Performance |
50
- | `builder-validator` | Paired builders with validators |
51
- | `logic-audit` | Multi-perspective logic analysis |
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: Set up automated testing infrastructure
3
+ phase: implementation
3
4
  argument-hint: "(no arguments)"
4
5
  compact_context:
5
6
  priority: high
@@ -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. Generate Report
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,