agileflow 2.90.7 → 2.92.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.
Files changed (144) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +6 -6
  3. package/lib/README.md +178 -0
  4. package/lib/codebase-indexer.js +818 -0
  5. package/lib/colors.js +190 -12
  6. package/lib/consent.js +232 -0
  7. package/lib/correlation.js +277 -0
  8. package/lib/error-codes.js +46 -0
  9. package/lib/errors.js +48 -6
  10. package/lib/file-cache.js +182 -0
  11. package/lib/format-error.js +156 -0
  12. package/lib/path-resolver.js +155 -7
  13. package/lib/paths.js +212 -20
  14. package/lib/placeholder-registry.js +205 -0
  15. package/lib/registry-di.js +358 -0
  16. package/lib/result-schema.js +363 -0
  17. package/lib/result.js +210 -0
  18. package/lib/session-registry.js +13 -0
  19. package/lib/session-state-machine.js +465 -0
  20. package/lib/validate-commands.js +308 -0
  21. package/lib/validate-names.js +3 -3
  22. package/lib/validate.js +116 -52
  23. package/package.json +4 -1
  24. package/scripts/af +34 -0
  25. package/scripts/agent-loop.js +63 -9
  26. package/scripts/agileflow-configure.js +2 -2
  27. package/scripts/agileflow-welcome.js +435 -23
  28. package/scripts/archive-completed-stories.sh +57 -11
  29. package/scripts/claude-tmux.sh +102 -0
  30. package/scripts/damage-control-bash.js +3 -70
  31. package/scripts/damage-control-edit.js +3 -20
  32. package/scripts/damage-control-write.js +3 -20
  33. package/scripts/dependency-check.js +310 -0
  34. package/scripts/get-env.js +11 -4
  35. package/scripts/lib/configure-detect.js +23 -1
  36. package/scripts/lib/configure-features.js +43 -2
  37. package/scripts/lib/context-formatter.js +771 -0
  38. package/scripts/lib/context-loader.js +699 -0
  39. package/scripts/lib/damage-control-utils.js +107 -0
  40. package/scripts/lib/json-utils.sh +162 -0
  41. package/scripts/lib/state-migrator.js +353 -0
  42. package/scripts/lib/story-state-machine.js +437 -0
  43. package/scripts/obtain-context.js +118 -1048
  44. package/scripts/pre-push-check.sh +46 -0
  45. package/scripts/precompact-context.sh +36 -11
  46. package/scripts/query-codebase.js +538 -0
  47. package/scripts/ralph-loop.js +5 -5
  48. package/scripts/session-manager.js +220 -42
  49. package/scripts/spawn-parallel.js +651 -0
  50. package/scripts/tui/blessed/data/watcher.js +180 -0
  51. package/scripts/tui/blessed/index.js +244 -0
  52. package/scripts/tui/blessed/panels/output.js +101 -0
  53. package/scripts/tui/blessed/panels/sessions.js +150 -0
  54. package/scripts/tui/blessed/panels/trace.js +97 -0
  55. package/scripts/tui/blessed/ui/help.js +77 -0
  56. package/scripts/tui/blessed/ui/screen.js +52 -0
  57. package/scripts/tui/blessed/ui/statusbar.js +47 -0
  58. package/scripts/tui/blessed/ui/tabbar.js +99 -0
  59. package/scripts/tui/index.js +38 -30
  60. package/scripts/validators/README.md +143 -0
  61. package/scripts/validators/component-validator.js +239 -0
  62. package/scripts/validators/json-schema-validator.js +186 -0
  63. package/scripts/validators/markdown-validator.js +152 -0
  64. package/scripts/validators/migration-validator.js +129 -0
  65. package/scripts/validators/security-validator.js +380 -0
  66. package/scripts/validators/story-format-validator.js +197 -0
  67. package/scripts/validators/test-result-validator.js +114 -0
  68. package/scripts/validators/workflow-validator.js +247 -0
  69. package/src/core/agents/accessibility.md +6 -0
  70. package/src/core/agents/adr-writer.md +6 -0
  71. package/src/core/agents/analytics.md +6 -0
  72. package/src/core/agents/api.md +6 -0
  73. package/src/core/agents/ci.md +6 -0
  74. package/src/core/agents/codebase-query.md +261 -0
  75. package/src/core/agents/compliance.md +6 -0
  76. package/src/core/agents/configuration-damage-control.md +6 -0
  77. package/src/core/agents/configuration-visual-e2e.md +6 -0
  78. package/src/core/agents/database.md +10 -0
  79. package/src/core/agents/datamigration.md +6 -0
  80. package/src/core/agents/design.md +6 -0
  81. package/src/core/agents/devops.md +6 -0
  82. package/src/core/agents/documentation.md +6 -0
  83. package/src/core/agents/epic-planner.md +6 -0
  84. package/src/core/agents/integrations.md +6 -0
  85. package/src/core/agents/mentor.md +6 -0
  86. package/src/core/agents/mobile.md +6 -0
  87. package/src/core/agents/monitoring.md +6 -0
  88. package/src/core/agents/multi-expert.md +6 -0
  89. package/src/core/agents/performance.md +6 -0
  90. package/src/core/agents/product.md +6 -0
  91. package/src/core/agents/qa.md +6 -0
  92. package/src/core/agents/readme-updater.md +6 -0
  93. package/src/core/agents/refactor.md +6 -0
  94. package/src/core/agents/research.md +6 -0
  95. package/src/core/agents/security.md +6 -0
  96. package/src/core/agents/testing.md +10 -0
  97. package/src/core/agents/ui.md +6 -0
  98. package/src/core/commands/adr.md +114 -0
  99. package/src/core/commands/agent.md +120 -0
  100. package/src/core/commands/assign.md +145 -0
  101. package/src/core/commands/audit.md +401 -0
  102. package/src/core/commands/babysit.md +32 -5
  103. package/src/core/commands/board.md +1 -0
  104. package/src/core/commands/changelog.md +118 -0
  105. package/src/core/commands/configure.md +42 -6
  106. package/src/core/commands/diagnose.md +114 -0
  107. package/src/core/commands/epic.md +205 -1
  108. package/src/core/commands/handoff.md +128 -0
  109. package/src/core/commands/help.md +76 -0
  110. package/src/core/commands/metrics.md +1 -0
  111. package/src/core/commands/pr.md +96 -0
  112. package/src/core/commands/research/analyze.md +1 -0
  113. package/src/core/commands/research/ask.md +2 -0
  114. package/src/core/commands/research/import.md +1 -0
  115. package/src/core/commands/research/list.md +2 -0
  116. package/src/core/commands/research/synthesize.md +584 -0
  117. package/src/core/commands/research/view.md +2 -0
  118. package/src/core/commands/roadmap/analyze.md +400 -0
  119. package/src/core/commands/session/new.md +113 -6
  120. package/src/core/commands/session/spawn.md +197 -0
  121. package/src/core/commands/sprint.md +22 -0
  122. package/src/core/commands/status.md +200 -1
  123. package/src/core/commands/story/list.md +9 -9
  124. package/src/core/commands/story/view.md +1 -0
  125. package/src/core/commands/story.md +143 -4
  126. package/src/core/experts/codebase-query/expertise.yaml +190 -0
  127. package/src/core/experts/codebase-query/question.md +73 -0
  128. package/src/core/experts/codebase-query/self-improve.md +105 -0
  129. package/src/core/templates/agileflow-metadata.json +55 -2
  130. package/src/core/templates/plan-template.md +125 -0
  131. package/src/core/templates/story-lifecycle.md +213 -0
  132. package/src/core/templates/story-template.md +4 -0
  133. package/src/core/templates/tdd-test-template.js +241 -0
  134. package/tools/cli/commands/setup.js +86 -0
  135. package/tools/cli/installers/core/installer.js +94 -0
  136. package/tools/cli/installers/ide/_base-ide.js +20 -11
  137. package/tools/cli/installers/ide/codex.js +29 -47
  138. package/tools/cli/lib/config-manager.js +17 -2
  139. package/tools/cli/lib/content-transformer.js +271 -0
  140. package/tools/cli/lib/error-handler.js +14 -22
  141. package/tools/cli/lib/ide-error-factory.js +421 -0
  142. package/tools/cli/lib/ide-health-monitor.js +364 -0
  143. package/tools/cli/lib/ide-registry.js +114 -1
  144. package/tools/cli/lib/ui.js +14 -25
@@ -277,3 +277,117 @@ fi
277
277
  - Display file sizes and story counts
278
278
  - Provide actionable recommendations for issues
279
279
  - Exit with code 0 if healthy, code 1 if issues found
280
+
281
+ ---
282
+
283
+ ## Expected Output
284
+
285
+ ### Healthy System
286
+
287
+ ```
288
+ 🔍 AgileFlow System Diagnostics
289
+ ================================
290
+
291
+ 📋 JSON File Validation
292
+ ----------------------
293
+ ✅ docs/00-meta/agileflow-metadata.json (2KB)
294
+ ✅ docs/09-agents/status.json (45KB)
295
+ ℹ️ docs/09-agents/status-archive.json - not found (optional)
296
+ ✅ .claude/settings.json (8KB)
297
+
298
+ 📦 Auto-Archival System
299
+ ----------------------
300
+ ✅ Archive script exists and is executable
301
+ ✅ Auto-archival hook configured
302
+ ✅ Archival threshold: 7 days
303
+
304
+ 🪝 Hooks System
305
+ ---------------
306
+ ✅ .claude/settings.json is valid JSON
307
+ ℹ️ SessionStart hooks: 3
308
+ ℹ️ UserPromptSubmit hooks: 1
309
+ ℹ️ Stop hooks: 0
310
+
311
+ 📏 File Size Analysis
312
+ ---------------------
313
+ status.json: 45KB (127 stories)
314
+ ✅ status.json size is healthy
315
+
316
+ 📊 Diagnostic Summary
317
+ =====================
318
+ ✅ All checks passed! System is healthy.
319
+ ```
320
+
321
+ ### System with Issues
322
+
323
+ ```
324
+ 🔍 AgileFlow System Diagnostics
325
+ ================================
326
+
327
+ 📋 JSON File Validation
328
+ ----------------------
329
+ ✅ docs/00-meta/agileflow-metadata.json (2KB)
330
+ ✅ docs/09-agents/status.json (156KB)
331
+ ⚠️ WARNING: status.json is large (156KB). Consider running archival.
332
+ ℹ️ docs/09-agents/status-archive.json - not found (optional)
333
+ ❌ .claude/settings.json - INVALID JSON
334
+ Error details:
335
+ parse error: Invalid numeric literal at line 42, column 15
336
+
337
+ 📦 Auto-Archival System
338
+ ----------------------
339
+ ⚠️ Archive script exists but is NOT executable
340
+ Fix: chmod +x scripts/archive-completed-stories.sh
341
+
342
+ 🪝 Hooks System
343
+ ---------------
344
+ ❌ .claude/settings.json is INVALID JSON
345
+
346
+ 📏 File Size Analysis
347
+ ---------------------
348
+ status.json: 156KB (423 stories)
349
+ ⚠️ WARNING: status.json exceeds 100KB
350
+ Recommendation: Run archival to reduce file size
351
+ Command: bash .agileflow/scripts/archive-completed-stories.sh 7
352
+
353
+ 📊 Diagnostic Summary
354
+ =====================
355
+ ⚠️ Found 4 issue(s) that need attention.
356
+
357
+ Next steps:
358
+ 1. Fix JSON validation errors using: jq empty <file> to check, then repair manually
359
+ 2. Make archive script executable: chmod +x scripts/archive-completed-stories.sh
360
+ 3. Run archival: bash .agileflow/scripts/archive-completed-stories.sh
361
+ 4. Re-run diagnostics: /agileflow:diagnose
362
+ ```
363
+
364
+ ### Missing Critical Files
365
+
366
+ ```
367
+ 🔍 AgileFlow System Diagnostics
368
+ ================================
369
+
370
+ 📋 JSON File Validation
371
+ ----------------------
372
+ ❌ docs/00-meta/agileflow-metadata.json - NOT FOUND (CRITICAL)
373
+ ❌ docs/09-agents/status.json - NOT FOUND (CRITICAL)
374
+ ℹ️ docs/09-agents/status-archive.json - not found (optional)
375
+ ℹ️ .claude/settings.json - not found (optional)
376
+
377
+ 📦 Auto-Archival System
378
+ ----------------------
379
+ ❌ Archive script NOT found (scripts/archive-completed-stories.sh)
380
+
381
+ 🪝 Hooks System
382
+ ---------------
383
+ ⚠️ Hooks system not configured
384
+
385
+ 📊 Diagnostic Summary
386
+ =====================
387
+ ⚠️ Found 4 issue(s) that need attention.
388
+
389
+ Next steps:
390
+ 1. Run AgileFlow setup: npx agileflow setup
391
+ 2. Verify installation completed successfully
392
+ 3. Re-run diagnostics: /agileflow:diagnose
393
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Create a new epic with stories
3
- argument-hint: EPIC=<EP-ID> TITLE=<text> OWNER=<id> GOAL=<text> [STORIES=<list>]
3
+ argument-hint: EPIC=<EP-ID> TITLE=<text> OWNER=<id> GOAL=<text> [STORIES=<list>] [RESEARCH=<file>]
4
4
  compact_context:
5
5
  priority: high
6
6
  preserve_rules:
@@ -11,11 +11,13 @@ compact_context:
11
11
  - "MUST validate JSON after every modification"
12
12
  - "MUST use AskUserQuestion for user confirmation (YES/NO/CANCEL format)"
13
13
  - "STORIES format: 'US-ID|title|owner,US-ID2|title2|owner2' (comma-separated triplets)"
14
+ - "RESEARCH-FIRST: Validate research exists before creating epic; warn if missing for complex features"
14
15
  state_fields:
15
16
  - epic_id
16
17
  - owner
17
18
  - story_count
18
19
  - creation_timestamp
20
+ - research_validated
19
21
  ---
20
22
 
21
23
  # epic-new
@@ -105,6 +107,8 @@ OWNER=<id> # Agent or person name (required)
105
107
  GOAL=<outcome> # Epic goal/metric (required)
106
108
  STORIES=<list> # Comma-separated triplets (optional)
107
109
  Format: "US-0001|Story One|owner,US-0002|Story Two|owner2"
110
+ RESEARCH=<file> # Research note filename (optional)
111
+ Format: "20260119-feature-research.md" (in docs/10-research/)
108
112
  ```
109
113
 
110
114
  **Output Files Created**:
@@ -182,6 +186,7 @@ STORIES=<list> # Comma-separated triplets (optional)
182
186
  - ALWAYS validate JSON after merge (prevents corruption)
183
187
  - Use TodoWrite for step tracking (6 steps)
184
188
  - Files: epic file, N story files, status.json, bus/log.jsonl
189
+ - **RESEARCH-FIRST**: For complex epics (3+ stories), validate research exists; suggest /agileflow:research:ask if missing
185
190
 
186
191
  <!-- COMPACT_SUMMARY_END -->
187
192
 
@@ -263,6 +268,92 @@ After successfully creating the epic, offer next steps:
263
268
 
264
269
  ---
265
270
 
271
+ ## Research-First Validation (GSD Integration)
272
+
273
+ Before creating an epic or starting work, validate that research exists for complex features.
274
+
275
+ ### Research Validation Flow
276
+
277
+ **Step 1: Check for Research Field**
278
+
279
+ When epic has a `research` field in status.json:
280
+ ```javascript
281
+ const epic = status.epics["EP-0022"];
282
+ if (epic.research) {
283
+ // Verify research file exists
284
+ const researchPath = `docs/10-research/${epic.research}`;
285
+ if (!fs.existsSync(researchPath)) {
286
+ console.warn(`⚠️ Research file not found: ${researchPath}`);
287
+ }
288
+ }
289
+ ```
290
+
291
+ **Step 2: Warn if No Research for Complex Epic**
292
+
293
+ If epic has 3+ stories and no research field, suggest research first:
294
+
295
+ ```xml
296
+ <invoke name="AskUserQuestion">
297
+ <parameter name="questions">[{
298
+ "question": "This epic has no linked research. Complex features benefit from research-first planning. What would you like to do?",
299
+ "header": "Research Check",
300
+ "multiSelect": false,
301
+ "options": [
302
+ {"label": "Create research first (Recommended)", "description": "Run /agileflow:research:ask to gather context"},
303
+ {"label": "Continue without research", "description": "Proceed with epic creation"},
304
+ {"label": "Link existing research", "description": "Specify research file to link"}
305
+ ]
306
+ }]</parameter>
307
+ </invoke>
308
+ ```
309
+
310
+ **If "Create research first"**:
311
+ - Suggest: `/agileflow:research:ask <topic>`
312
+ - After research created, re-run epic creation with RESEARCH parameter
313
+
314
+ **If "Link existing research"**:
315
+ - Show list of recent research files in docs/10-research/
316
+ - Let user select one
317
+ - Add to epic: `research: "selected-file.md"`
318
+
319
+ ### Epic Schema with Research
320
+
321
+ ```json
322
+ {
323
+ "EP-0022": {
324
+ "title": "GSD Integration",
325
+ "status": "in_progress",
326
+ "owner": "AG-DEVOPS",
327
+ "goal": "Adopt GSD workflow patterns",
328
+ "research": "20260119-gsd-agileflow-integration-analysis.md",
329
+ "research_required": false,
330
+ "stories": ["US-0129", "US-0130", "US-0131", "US-0132"]
331
+ }
332
+ }
333
+ ```
334
+
335
+ **Fields**:
336
+ - `research` (optional): Filename of research note in docs/10-research/
337
+ - `research_required` (optional): If true, blocks implementation until research exists
338
+
339
+ ### When Starting Work Without Research
340
+
341
+ If user tries to start a story in an epic that has `research_required: true` but no valid research file:
342
+
343
+ ```
344
+ ⚠️ Research Required
345
+
346
+ Epic EP-0022 requires research before implementation.
347
+ Research file not found: 20260119-missing-research.md
348
+
349
+ Suggested actions:
350
+ 1. Run /agileflow:research:ask "GSD workflow integration"
351
+ 2. Link existing research with /agileflow:epic RESEARCH=<file>
352
+ 3. Remove research_required flag if research is optional
353
+ ```
354
+
355
+ ---
356
+
266
357
  ## Related Commands
267
358
 
268
359
  - `/agileflow:epic:list` - View all epics with progress
@@ -271,3 +362,116 @@ After successfully creating the epic, offer next steps:
271
362
  - `/agileflow:story:list` - View all stories
272
363
  - `/agileflow:sprint` - Plan sprint with epic stories
273
364
  - `/agileflow:board` - Visual kanban board
365
+
366
+ ---
367
+
368
+ ## Expected Output
369
+
370
+ ### Successful Epic Creation
371
+
372
+ ```
373
+ 📦 Creating Epic: EP-0010
374
+
375
+ Title: User Authentication System
376
+ Owner: AG-API
377
+ Goal: Enable secure user login with OAuth support
378
+
379
+ Files to create:
380
+ ───────────────────────────
381
+ 1. docs/05-epics/EP-0010.md
382
+ - Epic definition with goal and stories
383
+
384
+ 2. docs/06-stories/EP-0010/US-0042-login-form.md
385
+ - Story: Login Form (AG-UI)
386
+
387
+ 3. docs/06-stories/EP-0010/US-0043-oauth-integration.md
388
+ - Story: OAuth Integration (AG-API)
389
+
390
+ 4. docs/06-stories/EP-0010/US-0044-session-management.md
391
+ - Story: Session Management (AG-API)
392
+
393
+ 5. docs/09-agents/status.json (merge)
394
+ + "EP-0010": {
395
+ + "id": "EP-0010",
396
+ + "owner": "AG-API",
397
+ + "status": "active",
398
+ + "stories": ["US-0042", "US-0043", "US-0044"]
399
+ + }
400
+ + "US-0042": { "epic": "EP-0010", "owner": "AG-UI", "status": "ready" }
401
+ + "US-0043": { "epic": "EP-0010", "owner": "AG-API", "status": "ready" }
402
+ + "US-0044": { "epic": "EP-0010", "owner": "AG-API", "status": "ready" }
403
+
404
+ 6. docs/09-agents/bus/log.jsonl (append)
405
+ + {"type":"assign","to":"AG-API","epic":"EP-0010","text":"Epic created"}
406
+ + {"type":"assign","to":"AG-UI","story":"US-0042","text":"Story created"}
407
+ + {"type":"assign","to":"AG-API","story":"US-0043","text":"Story created"}
408
+ + {"type":"assign","to":"AG-API","story":"US-0044","text":"Story created"}
409
+
410
+ [AskUserQuestion: "Create epic EP-0010 with 3 stories?"]
411
+
412
+ ✅ Epic EP-0010 created successfully!
413
+ ✅ Created 3 stories: US-0042, US-0043, US-0044
414
+ ✅ Bus messages sent to assigned owners
415
+
416
+ [AskUserQuestion: "What would you like to do next?"]
417
+ ```
418
+
419
+ ### Research Validation Warning
420
+
421
+ ```
422
+ 📦 Creating Epic: EP-0010 (5 stories)
423
+
424
+ ⚠️ Research Check
425
+
426
+ This epic has no linked research.
427
+ Complex features (3+ stories) benefit from research-first planning.
428
+
429
+ [AskUserQuestion: "What would you like to do?"]
430
+ - Create research first (Recommended)
431
+ - Continue without research
432
+ - Link existing research
433
+ ```
434
+
435
+ ### With Linked Research
436
+
437
+ ```
438
+ 📦 Creating Epic: EP-0010
439
+
440
+ Research linked: 20260121-auth-system-analysis.md
441
+
442
+ ✅ Research file validated
443
+ ✅ Key findings extracted:
444
+ • OAuth 2.0 recommended over custom auth
445
+ • JWT for session tokens
446
+ • 3 integration points identified
447
+
448
+ [Proceeding with epic creation...]
449
+ ```
450
+
451
+ ### Validation Error
452
+
453
+ ```
454
+ ❌ Invalid STORIES format
455
+
456
+ Received: US-0042,US-0043
457
+ Expected: US-0042|title|owner,US-0043|title|owner
458
+
459
+ Format: "US-ID|title|owner,US-ID2|title2|owner2"
460
+
461
+ Example:
462
+ STORIES="US-0042|Login Form|AG-UI,US-0043|OAuth|AG-API"
463
+ ```
464
+
465
+ ### Epic Already Exists
466
+
467
+ ```
468
+ ❌ Epic EP-0010 already exists
469
+
470
+ Existing epic:
471
+ Title: User Authentication System
472
+ Status: in_progress
473
+ Stories: 3 (1 done, 2 in progress)
474
+
475
+ To add stories, use:
476
+ /agileflow:story EPIC=EP-0010 STORY=US-00XX TITLE="..." OWNER=...
477
+ ```
@@ -246,3 +246,131 @@ ACTIONS
246
246
  2) Append bus line type="handoff".
247
247
 
248
248
  Diff-first; YES/NO.
249
+
250
+ ---
251
+
252
+ ## Expected Output
253
+
254
+ ### Successful Handoff
255
+
256
+ ```
257
+ 📋 Creating Handoff: US-0042
258
+
259
+ From: AG-API
260
+ To: AG-UI
261
+ Summary: Completed auth endpoints, tests passing
262
+
263
+ Files to create:
264
+ ───────────────────────────────────────────────
265
+ 1. docs/09-agents/comms/US-0042-20260121-handoff.md
266
+
267
+ Preview:
268
+ ─────────────────────────────────────────────
269
+ # Handoff: US-0042
270
+
271
+ **From**: AG-API
272
+ **To**: AG-UI
273
+ **Date**: 2026-01-21
274
+
275
+ ## Summary
276
+ Completed all authentication API endpoints including login, logout, and token refresh.
277
+ Unit and integration tests passing (14 tests).
278
+
279
+ ## Work Completed
280
+ - POST /api/auth/login endpoint
281
+ - POST /api/auth/logout endpoint
282
+ - POST /api/auth/refresh endpoint
283
+ - JWT token generation with 1h expiry
284
+ - Integration tests with mocked database
285
+
286
+ ## Blockers
287
+ - None - API is ready for UI integration
288
+
289
+ ## Notes for Next Agent
290
+ - Use the `useAuth` hook for token management
291
+ - Login endpoint returns { token, user } on success
292
+ - Error responses use standard { error, code } format
293
+ - See docs/04-architecture/auth-api.md for full spec
294
+
295
+ ## Files Modified
296
+ - src/api/auth/login.ts
297
+ - src/api/auth/logout.ts
298
+ - src/api/auth/refresh.ts
299
+ - tests/api/auth/*.test.ts
300
+ ─────────────────────────────────────────────
301
+
302
+ 2. docs/09-agents/bus/log.jsonl (append)
303
+ + {"ts":"2026-01-21T14:30:00Z","type":"handoff","story":"US-0042","from":"AG-API","to":"AG-UI","summary":"Completed auth endpoints"}
304
+
305
+ [AskUserQuestion: "Create this handoff?"]
306
+
307
+ ✅ Handoff created successfully!
308
+ Note: docs/09-agents/comms/US-0042-20260121-handoff.md
309
+ Bus log updated: handoff event appended
310
+ ```
311
+
312
+ ### Missing Required Inputs
313
+
314
+ ```
315
+ ❌ Missing required inputs
316
+
317
+ Please provide:
318
+ • STORY - Story ID (e.g., US-0042)
319
+ • FROM - Source agent (e.g., AG-API)
320
+ • TO - Target agent (e.g., AG-UI)
321
+ • SUMMARY - What was done
322
+
323
+ Usage:
324
+ /agileflow:handoff STORY=US-0042 FROM=AG-API TO=AG-UI SUMMARY="Completed auth endpoints"
325
+
326
+ Optional:
327
+ • BLOCKERS - Issues for next agent (e.g., "Need DBA review")
328
+ ```
329
+
330
+ ### Handoff with Blockers
331
+
332
+ ```
333
+ 📋 Creating Handoff: US-0042
334
+
335
+ From: AG-API
336
+ To: AG-UI
337
+ Summary: Completed auth endpoints
338
+ Blockers: 2 identified
339
+
340
+ Files to create:
341
+ ───────────────────────────────────────────────
342
+ 1. docs/09-agents/comms/US-0042-20260121-handoff.md
343
+
344
+ ## Blockers
345
+
346
+ ⚠️ The following blockers need attention:
347
+
348
+ 1. **Database migration pending**
349
+ Schema changes need DBA review before deployment.
350
+ Related: ADR-0015 (database upgrade strategy)
351
+
352
+ 2. **Rate limiting not configured**
353
+ Need to decide on rate limits for login endpoint.
354
+ Suggest: /agileflow:adr for rate limiting decision
355
+
356
+ [AskUserQuestion: "Create handoff with blockers?"]
357
+ ```
358
+
359
+ ### Invalid Agent ID
360
+
361
+ ```
362
+ ❌ Invalid agent ID: AG-UNKNOWN
363
+
364
+ Valid agent IDs:
365
+ • AG-UI - UI/frontend specialist
366
+ • AG-API - API/backend specialist
367
+ • AG-DATABASE - Database specialist
368
+ • AG-CI - CI/CD specialist
369
+ • AG-TESTING - Testing specialist
370
+ • AG-DEVOPS - DevOps specialist
371
+
372
+ Check the FROM and TO parameters.
373
+
374
+ Usage:
375
+ /agileflow:handoff STORY=US-0042 FROM=AG-API TO=AG-UI SUMMARY="..."
376
+ ```
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  description: Display AgileFlow system overview and commands
3
3
  argument-hint: (no arguments)
4
+ type: output-only # Display command - generates output, not an ongoing task
4
5
  compact_context:
5
6
  priority: medium
6
7
  preserve_rules:
@@ -91,3 +92,78 @@ Print a concise, one-screen overview:
91
92
  <!-- {{COMMAND_LIST}} -->
92
93
 
93
94
  OUTPUT: plain markdown only (no file writes)
95
+
96
+ ---
97
+
98
+ ## Expected Output
99
+
100
+ ```markdown
101
+ # AgileFlow System Overview
102
+
103
+ ## Folder Structure
104
+
105
+ ```
106
+ docs/
107
+ ├── 00-meta/ # Metadata and configuration
108
+ ├── 01-brainstorming/ # Ideas and proposals
109
+ ├── 02-practices/ # Development guidelines
110
+ ├── 03-decisions/ # Architecture Decision Records (ADRs)
111
+ ├── 04-architecture/ # System design documentation
112
+ ├── 05-epics/ # Epic definitions (EP-XXXX.md)
113
+ ├── 06-stories/ # User stories by epic (US-XXXX-<slug>.md)
114
+ ├── 07-testing/ # Test plans and coverage
115
+ ├── 08-project/ # Project overview, roadmaps, reviews
116
+ ├── 09-agents/ # Agent communication
117
+ │ ├── status.json # Story/epic status tracking
118
+ │ └── bus/log.jsonl # Inter-agent message bus
119
+ └── 10-research/ # Research notes and findings
120
+ ```
121
+
122
+ ## Key Concepts
123
+
124
+ **Epics** (EP-XXXX): Large features broken into stories
125
+ **Stories** (US-XXXX): Work items with acceptance criteria
126
+ **ADRs**: Architecture Decision Records for technical choices
127
+ **status.json**: Central source of truth for story/epic status
128
+ **bus/log.jsonl**: Async message bus for agent coordination
129
+
130
+ ## Daily Workflow
131
+
132
+ 1. Pick a ready story from status.json
133
+ 2. Mark as `in-progress`
134
+ 3. Implement to acceptance criteria
135
+ 4. Write/update tests
136
+ 5. Create PR
137
+ 6. Mark as `in-review`
138
+ 7. After merge: Mark as `done`
139
+
140
+ ## WIP Limits
141
+
142
+ - **Max 2 stories per agent** in progress or review
143
+ - Complete or unblock before starting new work
144
+
145
+ ## Available Commands
146
+
147
+ ### Project Management
148
+ - `/agileflow:epic` - Create a new epic
149
+ - `/agileflow:story` - Create a user story
150
+ - `/agileflow:status` - Update story status
151
+ - `/agileflow:board` - Visual kanban board
152
+ - `/agileflow:sprint` - Plan sprint stories
153
+
154
+ ### Development
155
+ - `/agileflow:babysit` - Guided implementation mentor
156
+ - `/agileflow:review` - AI code review
157
+ - `/agileflow:pr` - Generate PR description
158
+ - `/agileflow:tests` - Generate test cases
159
+
160
+ ### Documentation
161
+ - `/agileflow:adr` - Create architecture decision
162
+ - `/agileflow:docs` - Generate documentation
163
+ - `/agileflow:changelog` - Generate changelog entry
164
+
165
+ ### Utilities
166
+ - `/agileflow:help` - This overview
167
+ - `/agileflow:diagnose` - System health check
168
+ - `/agileflow:configure` - Setup AgileFlow
169
+ ```
@@ -2,6 +2,7 @@
2
2
  description: Analytics dashboard with cycle time and throughput
3
3
  argument-hint: "[TIMEFRAME=7d|30d|90d|all] [EPIC=<id>] [OWNER=<id>] [FORMAT=ascii|json|csv] [METRIC=cycle-time|lead-time|throughput|all]"
4
4
  model: haiku
5
+ type: output-only # Analytics display - read-only, not an ongoing task
5
6
  compact_context:
6
7
  priority: medium
7
8
  preserve_rules:
@@ -227,3 +227,99 @@ ACTIONS
227
227
  3) Suggest a Conventional Commit subject for squash.
228
228
 
229
229
  No file writes.
230
+
231
+ ---
232
+
233
+ ## Expected Output
234
+
235
+ ### Successful PR Description
236
+
237
+ ```
238
+ 📝 Generating PR description for US-0042...
239
+
240
+ Reading story file: docs/06-stories/EP-0010/US-0042-login-form.md
241
+ ✅ Found epic: EP-0010 (User Authentication)
242
+ ✅ Found 3 acceptance criteria
243
+ ✅ Found 1 dependency: US-0041
244
+
245
+ ───────────────────────────────────────────────────────────
246
+ PASTE-READY PR BODY (Copy everything below this line)
247
+ ───────────────────────────────────────────────────────────
248
+
249
+ ## US-0042: Implement Login Form with Validation
250
+
251
+ ### Summary
252
+
253
+ Implements the user login form with email/password validation as part of the
254
+ User Authentication epic (EP-0010). This PR adds client-side validation,
255
+ error handling, and integration with the authentication API.
256
+
257
+ ### Linked Issues
258
+
259
+ - Closes #US-0042
260
+ - Depends on #US-0041 (Authentication API)
261
+
262
+ ### Acceptance Criteria
263
+
264
+ - [x] User can enter email and password
265
+ - [x] Form validates email format
266
+ - [ ] Form shows error messages for invalid input
267
+ - [x] Submit button disabled while validating
268
+
269
+ ### Test Evidence
270
+
271
+ - `npm test src/components/LoginForm.test.tsx` - 12 tests passing
272
+ - Manual testing: Verified on Chrome, Firefox, Safari
273
+ - Screenshot: login-form-validation.png
274
+
275
+ ### Screenshots
276
+
277
+ ![Login Form](./screenshots/login-form.png)
278
+
279
+ ### Risk Assessment
280
+
281
+ - **Low risk**: UI-only changes, no backend modifications
282
+ - **Rollback**: Revert this PR if issues detected
283
+
284
+ ### Code Owners
285
+
286
+ @frontend-team
287
+
288
+ ───────────────────────────────────────────────────────────
289
+
290
+ **Suggested commit message:**
291
+ ```
292
+ feat(auth): implement login form with validation
293
+
294
+ Closes US-0042
295
+ ```
296
+
297
+ [AskUserQuestion: "Use this PR description?"]
298
+ ```
299
+
300
+ ### Missing Story ID
301
+
302
+ ```
303
+ ❌ Missing required input: STORY
304
+
305
+ Usage:
306
+ /agileflow:pr STORY=US-0042 TITLE="Login Form"
307
+
308
+ Optional parameters:
309
+ - AC_CHECKED="1,2,4" - Mark AC items 1, 2, 4 as checked
310
+ - TEST_EVIDENCE="npm test passes, manual QA complete"
311
+ - NOTES="Additional context for reviewers"
312
+ ```
313
+
314
+ ### Story File Not Found
315
+
316
+ ```
317
+ ❌ Story file not found
318
+
319
+ Searched:
320
+ - docs/06-stories/US-0042.md
321
+ - docs/06-stories/EP-*/US-0042-*.md
322
+
323
+ Create the story first:
324
+ /agileflow:story EPIC=EP-0010 STORY=US-0042 TITLE="Login Form" OWNER=AG-UI
325
+ ```
@@ -563,6 +563,7 @@ The implementation plan is now tracked and ready to execute.
563
563
  ## Related Commands
564
564
 
565
565
  - `/agileflow:research:import` - Import new research (includes analysis option)
566
+ - `/agileflow:research:synthesize` - Synthesize insights across multiple research files
566
567
  - `/agileflow:research:view` - Read-only view of research
567
568
  - `/agileflow:research:list` - Show all research notes
568
569
  - `/agileflow:research:ask` - Generate research prompt for web AI