agileflow 2.90.7 → 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.
- package/CHANGELOG.md +5 -0
- package/README.md +6 -6
- package/lib/codebase-indexer.js +810 -0
- package/lib/validate-names.js +3 -3
- package/package.json +4 -1
- package/scripts/obtain-context.js +238 -0
- package/scripts/precompact-context.sh +13 -1
- package/scripts/query-codebase.js +430 -0
- package/scripts/tui/blessed/data/watcher.js +175 -0
- package/scripts/tui/blessed/index.js +244 -0
- package/scripts/tui/blessed/panels/output.js +95 -0
- package/scripts/tui/blessed/panels/sessions.js +143 -0
- package/scripts/tui/blessed/panels/trace.js +91 -0
- package/scripts/tui/blessed/ui/help.js +77 -0
- package/scripts/tui/blessed/ui/screen.js +52 -0
- package/scripts/tui/blessed/ui/statusbar.js +51 -0
- package/scripts/tui/blessed/ui/tabbar.js +99 -0
- package/scripts/tui/index.js +38 -30
- package/scripts/validators/README.md +143 -0
- package/scripts/validators/component-validator.js +212 -0
- package/scripts/validators/json-schema-validator.js +179 -0
- package/scripts/validators/markdown-validator.js +153 -0
- package/scripts/validators/migration-validator.js +117 -0
- package/scripts/validators/security-validator.js +276 -0
- package/scripts/validators/story-format-validator.js +176 -0
- package/scripts/validators/test-result-validator.js +99 -0
- package/scripts/validators/workflow-validator.js +240 -0
- package/src/core/agents/accessibility.md +6 -0
- package/src/core/agents/adr-writer.md +6 -0
- package/src/core/agents/analytics.md +6 -0
- package/src/core/agents/api.md +6 -0
- package/src/core/agents/ci.md +6 -0
- package/src/core/agents/codebase-query.md +237 -0
- package/src/core/agents/compliance.md +6 -0
- package/src/core/agents/configuration-damage-control.md +6 -0
- package/src/core/agents/configuration-visual-e2e.md +6 -0
- package/src/core/agents/database.md +10 -0
- package/src/core/agents/datamigration.md +6 -0
- package/src/core/agents/design.md +6 -0
- package/src/core/agents/devops.md +6 -0
- package/src/core/agents/documentation.md +6 -0
- package/src/core/agents/epic-planner.md +6 -0
- package/src/core/agents/integrations.md +6 -0
- package/src/core/agents/mentor.md +6 -0
- package/src/core/agents/mobile.md +6 -0
- package/src/core/agents/monitoring.md +6 -0
- package/src/core/agents/multi-expert.md +6 -0
- package/src/core/agents/performance.md +6 -0
- package/src/core/agents/product.md +6 -0
- package/src/core/agents/qa.md +6 -0
- package/src/core/agents/readme-updater.md +6 -0
- package/src/core/agents/refactor.md +6 -0
- package/src/core/agents/research.md +6 -0
- package/src/core/agents/security.md +6 -0
- package/src/core/agents/testing.md +10 -0
- package/src/core/agents/ui.md +6 -0
- package/src/core/commands/audit.md +401 -0
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/epic.md +92 -1
- package/src/core/commands/help.md +1 -0
- package/src/core/commands/metrics.md +1 -0
- package/src/core/commands/research/analyze.md +1 -0
- package/src/core/commands/research/ask.md +2 -0
- package/src/core/commands/research/import.md +1 -0
- package/src/core/commands/research/list.md +2 -0
- package/src/core/commands/research/synthesize.md +584 -0
- package/src/core/commands/research/view.md +2 -0
- package/src/core/commands/status.md +126 -1
- package/src/core/commands/story/list.md +9 -9
- package/src/core/commands/story/view.md +1 -0
- package/src/core/experts/codebase-query/expertise.yaml +190 -0
- package/src/core/experts/codebase-query/question.md +73 -0
- package/src/core/experts/codebase-query/self-improve.md +105 -0
|
@@ -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
|
|
@@ -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
|