agileflow 2.90.6 → 2.91.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 (75) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +6 -6
  3. package/lib/codebase-indexer.js +810 -0
  4. package/lib/validate-names.js +3 -3
  5. package/package.json +4 -1
  6. package/scripts/obtain-context.js +238 -0
  7. package/scripts/precompact-context.sh +13 -1
  8. package/scripts/query-codebase.js +430 -0
  9. package/scripts/tui/blessed/data/watcher.js +175 -0
  10. package/scripts/tui/blessed/index.js +244 -0
  11. package/scripts/tui/blessed/panels/output.js +95 -0
  12. package/scripts/tui/blessed/panels/sessions.js +143 -0
  13. package/scripts/tui/blessed/panels/trace.js +91 -0
  14. package/scripts/tui/blessed/ui/help.js +77 -0
  15. package/scripts/tui/blessed/ui/screen.js +52 -0
  16. package/scripts/tui/blessed/ui/statusbar.js +51 -0
  17. package/scripts/tui/blessed/ui/tabbar.js +99 -0
  18. package/scripts/tui/index.js +38 -32
  19. package/scripts/tui/simple-tui.js +8 -5
  20. package/scripts/validators/README.md +143 -0
  21. package/scripts/validators/component-validator.js +212 -0
  22. package/scripts/validators/json-schema-validator.js +179 -0
  23. package/scripts/validators/markdown-validator.js +153 -0
  24. package/scripts/validators/migration-validator.js +117 -0
  25. package/scripts/validators/security-validator.js +276 -0
  26. package/scripts/validators/story-format-validator.js +176 -0
  27. package/scripts/validators/test-result-validator.js +99 -0
  28. package/scripts/validators/workflow-validator.js +240 -0
  29. package/src/core/agents/accessibility.md +6 -0
  30. package/src/core/agents/adr-writer.md +6 -0
  31. package/src/core/agents/analytics.md +6 -0
  32. package/src/core/agents/api.md +6 -0
  33. package/src/core/agents/ci.md +6 -0
  34. package/src/core/agents/codebase-query.md +237 -0
  35. package/src/core/agents/compliance.md +6 -0
  36. package/src/core/agents/configuration-damage-control.md +6 -0
  37. package/src/core/agents/configuration-visual-e2e.md +6 -0
  38. package/src/core/agents/database.md +10 -0
  39. package/src/core/agents/datamigration.md +6 -0
  40. package/src/core/agents/design.md +6 -0
  41. package/src/core/agents/devops.md +6 -0
  42. package/src/core/agents/documentation.md +6 -0
  43. package/src/core/agents/epic-planner.md +6 -0
  44. package/src/core/agents/integrations.md +6 -0
  45. package/src/core/agents/mentor.md +6 -0
  46. package/src/core/agents/mobile.md +6 -0
  47. package/src/core/agents/monitoring.md +6 -0
  48. package/src/core/agents/multi-expert.md +6 -0
  49. package/src/core/agents/performance.md +6 -0
  50. package/src/core/agents/product.md +6 -0
  51. package/src/core/agents/qa.md +6 -0
  52. package/src/core/agents/readme-updater.md +6 -0
  53. package/src/core/agents/refactor.md +6 -0
  54. package/src/core/agents/research.md +6 -0
  55. package/src/core/agents/security.md +6 -0
  56. package/src/core/agents/testing.md +10 -0
  57. package/src/core/agents/ui.md +6 -0
  58. package/src/core/commands/audit.md +401 -0
  59. package/src/core/commands/board.md +1 -0
  60. package/src/core/commands/epic.md +92 -1
  61. package/src/core/commands/help.md +1 -0
  62. package/src/core/commands/metrics.md +1 -0
  63. package/src/core/commands/research/analyze.md +1 -0
  64. package/src/core/commands/research/ask.md +2 -0
  65. package/src/core/commands/research/import.md +1 -0
  66. package/src/core/commands/research/list.md +2 -0
  67. package/src/core/commands/research/synthesize.md +584 -0
  68. package/src/core/commands/research/view.md +2 -0
  69. package/src/core/commands/status.md +126 -1
  70. package/src/core/commands/story/list.md +9 -9
  71. package/src/core/commands/story/view.md +1 -0
  72. package/src/core/experts/codebase-query/expertise.yaml +190 -0
  73. package/src/core/experts/codebase-query/question.md +73 -0
  74. package/src/core/experts/codebase-query/self-improve.md +105 -0
  75. package/tools/cli/commands/tui.js +40 -271
@@ -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
@@ -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:
@@ -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:
@@ -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
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  description: Generate detailed research prompt for web AI tools (ChatGPT, Perplexity, etc.)
3
3
  argument-hint: TOPIC=<text> [DETAILS=<constraints>] [ERROR=<error message>]
4
+ type: output-only # This command generates output for user to copy - not an ongoing task
4
5
  compact_context:
5
6
  priority: critical
6
7
  preserve_rules:
@@ -775,4 +776,5 @@ After clicking "Sign in with Google", immediately get unauthorized_client error.
775
776
  - `/agileflow:research:analyze` - Analyze existing research for implementation
776
777
  - `/agileflow:research:import` - Import research results back
777
778
  - `/agileflow:research:list` - Show research notes index
779
+ - `/agileflow:research:synthesize` - Synthesize insights across multiple research files
778
780
  - `/agileflow:research:view` - Read specific research note
@@ -827,4 +827,5 @@ The implementation plan is now tracked and ready to execute.
827
827
  - `/agileflow:research:analyze` - Revisit existing research for implementation analysis
828
828
  - `/agileflow:research:ask` - Generate research prompt for web AI
829
829
  - `/agileflow:research:list` - Show research notes index
830
+ - `/agileflow:research:synthesize` - Synthesize insights across multiple research files
830
831
  - `/agileflow:research:view` - Read specific research note
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  description: Show research notes index
3
3
  argument-hint: (no arguments)
4
+ type: output-only # This command displays output - not an ongoing task
4
5
  compact_context:
5
6
  priority: medium
6
7
  preserve_rules:
@@ -258,4 +259,5 @@ Quick actions:
258
259
  - `/agileflow:research:analyze` - Analyze research for implementation in your project
259
260
  - `/agileflow:research:ask` - Generate research prompt for web AI
260
261
  - `/agileflow:research:import` - Import research results
262
+ - `/agileflow:research:synthesize` - Synthesize insights across multiple research files
261
263
  - `/agileflow:research:view` - Read specific research note