@thierrynakoa/fire-flow 10.0.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/.claude-plugin/plugin.json +64 -0
- package/ARCHITECTURE-DIAGRAM.md +440 -0
- package/COMMAND-REFERENCE.md +172 -0
- package/DOMINION-FLOW-OVERVIEW.md +421 -0
- package/LICENSE +21 -0
- package/QUICK-START.md +351 -0
- package/README.md +398 -0
- package/TROUBLESHOOTING.md +264 -0
- package/agents/fire-codebase-mapper.md +484 -0
- package/agents/fire-debugger.md +535 -0
- package/agents/fire-executor.md +949 -0
- package/agents/fire-fact-checker.md +276 -0
- package/agents/fire-learncoding-explainer.md +237 -0
- package/agents/fire-learncoding-walker.md +147 -0
- package/agents/fire-planner.md +675 -0
- package/agents/fire-project-researcher.md +155 -0
- package/agents/fire-research-synthesizer.md +166 -0
- package/agents/fire-researcher.md +723 -0
- package/agents/fire-reviewer.md +499 -0
- package/agents/fire-roadmapper.md +203 -0
- package/agents/fire-verifier.md +880 -0
- package/bin/cli.js +208 -0
- package/commands/fire-0-orient.md +476 -0
- package/commands/fire-1-new.md +281 -0
- package/commands/fire-1a-discuss.md +455 -0
- package/commands/fire-2-plan.md +527 -0
- package/commands/fire-3-execute.md +1303 -0
- package/commands/fire-4-verify.md +845 -0
- package/commands/fire-5-handoff.md +515 -0
- package/commands/fire-6-resume.md +501 -0
- package/commands/fire-7-review.md +409 -0
- package/commands/fire-add-new-skill.md +598 -0
- package/commands/fire-analytics.md +499 -0
- package/commands/fire-assumptions.md +78 -0
- package/commands/fire-autonomous.md +528 -0
- package/commands/fire-brainstorm.md +413 -0
- package/commands/fire-complete-milestone.md +270 -0
- package/commands/fire-dashboard.md +375 -0
- package/commands/fire-debug.md +663 -0
- package/commands/fire-discover.md +616 -0
- package/commands/fire-double-check.md +460 -0
- package/commands/fire-execute-plan.md +182 -0
- package/commands/fire-learncoding.md +242 -0
- package/commands/fire-loop-resume.md +272 -0
- package/commands/fire-loop-stop.md +198 -0
- package/commands/fire-loop.md +1168 -0
- package/commands/fire-map-codebase.md +313 -0
- package/commands/fire-new-milestone.md +356 -0
- package/commands/fire-reflect.md +235 -0
- package/commands/fire-research.md +246 -0
- package/commands/fire-search.md +330 -0
- package/commands/fire-security-audit-repo.md +293 -0
- package/commands/fire-security-scan.md +484 -0
- package/commands/fire-session-summary.md +252 -0
- package/commands/fire-skills-diff.md +506 -0
- package/commands/fire-skills-history.md +388 -0
- package/commands/fire-skills-rollback.md +408 -0
- package/commands/fire-skills-sync.md +470 -0
- package/commands/fire-test.md +520 -0
- package/commands/fire-todos.md +335 -0
- package/commands/fire-transition.md +186 -0
- package/commands/fire-update.md +312 -0
- package/commands/fire-verify-uat.md +146 -0
- package/commands/fire-vuln-scan.md +493 -0
- package/hooks/hooks.json +16 -0
- package/hooks/run-hook.cmd +69 -0
- package/hooks/run-hook.sh +8 -0
- package/hooks/run-session-end.cmd +49 -0
- package/hooks/run-session-end.sh +7 -0
- package/hooks/session-end.sh +90 -0
- package/hooks/session-start.sh +111 -0
- package/package.json +52 -0
- package/plugin.json +7 -0
- package/references/auto-skill-extraction.md +136 -0
- package/references/behavioral-directives.md +365 -0
- package/references/blocker-tracking.md +155 -0
- package/references/checkpoints.md +165 -0
- package/references/circuit-breaker.md +410 -0
- package/references/context-engineering.md +587 -0
- package/references/decision-time-guidance.md +289 -0
- package/references/error-classification.md +326 -0
- package/references/execution-mode-intelligence.md +242 -0
- package/references/git-integration.md +217 -0
- package/references/honesty-protocols.md +304 -0
- package/references/integration-architecture.md +470 -0
- package/references/issue-to-pr-pipeline.md +150 -0
- package/references/metrics-and-trends.md +234 -0
- package/references/playwright-e2e-testing.md +326 -0
- package/references/questioning.md +125 -0
- package/references/research-improvements.md +110 -0
- package/references/skills-usage-guide.md +429 -0
- package/references/tdd.md +131 -0
- package/references/testing-enforcement.md +192 -0
- package/references/ui-brand.md +383 -0
- package/references/validation-checklist.md +456 -0
- package/references/verification-patterns.md +187 -0
- package/references/warrior-principles.md +173 -0
- package/skills-library/SKILLS-INDEX.md +588 -0
- package/skills-library/_general/frontend/html-visual-reports.md +292 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -0
- package/skills-library/_general/methodology/learncoding-agentic-pattern.md +114 -0
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +238 -0
- package/skills-library/basics/api-rest-basics.md +162 -0
- package/skills-library/basics/env-variables.md +96 -0
- package/skills-library/basics/error-handling-basics.md +125 -0
- package/skills-library/basics/git-commit-conventions.md +106 -0
- package/skills-library/basics/readme-template.md +108 -0
- package/skills-library/common-tasks/async-await-patterns.md +157 -0
- package/skills-library/common-tasks/auth-jwt-basics.md +164 -0
- package/skills-library/common-tasks/database-schema-design.md +166 -0
- package/skills-library/common-tasks/file-upload-basics.md +166 -0
- package/skills-library/common-tasks/form-validation.md +159 -0
- package/skills-library/debugging/FAILURE_TAXONOMY_CLASSIFICATION.md +117 -0
- package/skills-library/debugging/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +86 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +678 -0
- package/skills-library/methodology/CONFIDENCE_GATED_EXECUTION.md +243 -0
- package/skills-library/methodology/EVIDENCE_BASED_VALIDATION.md +308 -0
- package/skills-library/methodology/MULTI_PERSPECTIVE_CODE_REVIEW.md +330 -0
- package/skills-library/methodology/PATH_VERIFICATION_GATE.md +211 -0
- package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +183 -0
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +263 -0
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +267 -0
- package/skills-library/methodology/STONE_AND_SCAFFOLD.md +220 -0
- package/skills-library/performance/cache-augmented-generation.md +172 -0
- package/skills-library/quality-safety/debugging-steps.md +147 -0
- package/skills-library/quality-safety/deployment-checklist.md +155 -0
- package/skills-library/quality-safety/security-checklist.md +204 -0
- package/skills-library/quality-safety/testing-basics.md +180 -0
- package/skills-library/security/agent-security-scanner.md +445 -0
- package/skills-library/specialists/api-architecture/api-designer.md +49 -0
- package/skills-library/specialists/api-architecture/graphql-architect.md +49 -0
- package/skills-library/specialists/api-architecture/mcp-developer.md +51 -0
- package/skills-library/specialists/api-architecture/microservices-architect.md +50 -0
- package/skills-library/specialists/api-architecture/websocket-engineer.md +48 -0
- package/skills-library/specialists/backend/django-expert.md +52 -0
- package/skills-library/specialists/backend/fastapi-expert.md +52 -0
- package/skills-library/specialists/backend/laravel-specialist.md +52 -0
- package/skills-library/specialists/backend/nestjs-expert.md +51 -0
- package/skills-library/specialists/backend/rails-expert.md +53 -0
- package/skills-library/specialists/backend/spring-boot-engineer.md +56 -0
- package/skills-library/specialists/data-ml/fine-tuning-expert.md +48 -0
- package/skills-library/specialists/data-ml/ml-pipeline.md +47 -0
- package/skills-library/specialists/data-ml/pandas-pro.md +47 -0
- package/skills-library/specialists/data-ml/rag-architect.md +51 -0
- package/skills-library/specialists/data-ml/spark-engineer.md +47 -0
- package/skills-library/specialists/frontend/angular-architect.md +52 -0
- package/skills-library/specialists/frontend/flutter-expert.md +51 -0
- package/skills-library/specialists/frontend/nextjs-developer.md +54 -0
- package/skills-library/specialists/frontend/react-native-expert.md +50 -0
- package/skills-library/specialists/frontend/vue-expert.md +51 -0
- package/skills-library/specialists/infrastructure/chaos-engineer.md +74 -0
- package/skills-library/specialists/infrastructure/cloud-architect.md +70 -0
- package/skills-library/specialists/infrastructure/database-optimizer.md +64 -0
- package/skills-library/specialists/infrastructure/devops-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/kubernetes-specialist.md +52 -0
- package/skills-library/specialists/infrastructure/monitoring-expert.md +70 -0
- package/skills-library/specialists/infrastructure/sre-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/terraform-engineer.md +51 -0
- package/skills-library/specialists/languages/cpp-pro.md +74 -0
- package/skills-library/specialists/languages/csharp-developer.md +69 -0
- package/skills-library/specialists/languages/dotnet-core-expert.md +54 -0
- package/skills-library/specialists/languages/golang-pro.md +51 -0
- package/skills-library/specialists/languages/java-architect.md +49 -0
- package/skills-library/specialists/languages/javascript-pro.md +68 -0
- package/skills-library/specialists/languages/kotlin-specialist.md +68 -0
- package/skills-library/specialists/languages/php-pro.md +49 -0
- package/skills-library/specialists/languages/python-pro.md +52 -0
- package/skills-library/specialists/languages/react-expert.md +51 -0
- package/skills-library/specialists/languages/rust-engineer.md +50 -0
- package/skills-library/specialists/languages/sql-pro.md +56 -0
- package/skills-library/specialists/languages/swift-expert.md +69 -0
- package/skills-library/specialists/languages/typescript-pro.md +51 -0
- package/skills-library/specialists/platform/atlassian-mcp.md +52 -0
- package/skills-library/specialists/platform/embedded-systems.md +53 -0
- package/skills-library/specialists/platform/game-developer.md +53 -0
- package/skills-library/specialists/platform/salesforce-developer.md +53 -0
- package/skills-library/specialists/platform/shopify-expert.md +49 -0
- package/skills-library/specialists/platform/wordpress-pro.md +49 -0
- package/skills-library/specialists/quality/code-documenter.md +51 -0
- package/skills-library/specialists/quality/code-reviewer.md +67 -0
- package/skills-library/specialists/quality/debugging-wizard.md +51 -0
- package/skills-library/specialists/quality/fullstack-guardian.md +51 -0
- package/skills-library/specialists/quality/legacy-modernizer.md +50 -0
- package/skills-library/specialists/quality/playwright-expert.md +65 -0
- package/skills-library/specialists/quality/spec-miner.md +56 -0
- package/skills-library/specialists/quality/test-master.md +65 -0
- package/skills-library/specialists/security/secure-code-guardian.md +55 -0
- package/skills-library/specialists/security/security-reviewer.md +53 -0
- package/skills-library/specialists/workflow/architecture-designer.md +53 -0
- package/skills-library/specialists/workflow/cli-developer.md +70 -0
- package/skills-library/specialists/workflow/feature-forge.md +65 -0
- package/skills-library/specialists/workflow/prompt-engineer.md +54 -0
- package/skills-library/specialists/workflow/the-fool.md +62 -0
- package/templates/ASSUMPTIONS.md +125 -0
- package/templates/BLOCKERS.md +73 -0
- package/templates/DECISION_LOG.md +116 -0
- package/templates/UAT.md +96 -0
- package/templates/blueprint.md +94 -0
- package/templates/brainstorm.md +185 -0
- package/templates/conscience.md +92 -0
- package/templates/fire-handoff.md +159 -0
- package/templates/metrics.md +67 -0
- package/templates/phase-prompt.md +142 -0
- package/templates/record.md +131 -0
- package/templates/review-report.md +117 -0
- package/templates/skills-index.md +157 -0
- package/templates/verification.md +149 -0
- package/templates/vision.md +79 -0
- package/validation-config.yml +793 -0
- package/version.json +7 -0
- package/workflows/execute-phase.md +732 -0
- package/workflows/handoff-session.md +678 -0
- package/workflows/new-project.md +578 -0
- package/workflows/plan-phase.md +592 -0
- package/workflows/verify-phase.md +874 -0
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fire-test
|
|
3
|
+
description: Run Dominion Flow plugin integration tests to verify all commands and integrations work correctly
|
|
4
|
+
arguments:
|
|
5
|
+
- name: suite
|
|
6
|
+
description: "Test suite to run: --e2e, --integration, or --command [name]"
|
|
7
|
+
required: false
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Bash
|
|
10
|
+
- Read
|
|
11
|
+
- Write
|
|
12
|
+
- Glob
|
|
13
|
+
- Grep
|
|
14
|
+
- Edit
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /fire-test - Dominion Flow Integration Tests
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Run the Dominion Flow plugin test suite to verify all commands and integrations work correctly. Provides comprehensive validation of the entire plugin ecosystem before deployment or after updates.
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
/fire-test # Run all tests (E2E + Integration)
|
|
27
|
+
/fire-test --e2e # Run E2E tests only (8 tests)
|
|
28
|
+
/fire-test --integration # Run integration tests only (3 tests)
|
|
29
|
+
/fire-test --command [name] # Test specific command (e.g., fire-1-new)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Test Suites
|
|
33
|
+
|
|
34
|
+
### E2E Tests (8 tests)
|
|
35
|
+
|
|
36
|
+
End-to-end tests verify each command works in isolation:
|
|
37
|
+
|
|
38
|
+
| Test | Command | Verification |
|
|
39
|
+
|------|---------|--------------|
|
|
40
|
+
| 1 | `/fire-1-new` | Creates correct .planning/ structure with all required files |
|
|
41
|
+
| 2 | `/fire-2-plan` | Generates valid BLUEPRINT.md with skills references and must-haves |
|
|
42
|
+
| 3 | `/fire-3-execute` | Completes breath execution with RECORD.md output |
|
|
43
|
+
| 4 | `/fire-4-verify` | Runs all Must-Haves + WARRIOR validation checks |
|
|
44
|
+
| 5 | `/fire-5-handoff` | Creates unified fire-handoff.md with 7-step format |
|
|
45
|
+
| 6 | `/fire-6-resume` | Restores full context from handoff file |
|
|
46
|
+
| 7 | `/fire-search` | Finds relevant skills from library by query |
|
|
47
|
+
| 8 | `/fire-contribute` | Adds new skill to library with proper structure |
|
|
48
|
+
|
|
49
|
+
### Integration Tests (3 tests)
|
|
50
|
+
|
|
51
|
+
Integration tests verify cross-component functionality:
|
|
52
|
+
|
|
53
|
+
| Test | Scenario | Verification |
|
|
54
|
+
|------|----------|--------------|
|
|
55
|
+
| 1 | Full Workflow | Complete cycle: new -> plan -> execute -> verify -> handoff -> resume |
|
|
56
|
+
| 2 | Skills Sync | Bidirectional sync between project and global skills library |
|
|
57
|
+
| 3 | Hooks | SessionStart hook fires and injects context correctly |
|
|
58
|
+
|
|
59
|
+
## Test Execution Process
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Step 1: Parse Arguments
|
|
63
|
+
├── Check for --e2e, --integration, or --command flags
|
|
64
|
+
├── Determine which test suite(s) to run
|
|
65
|
+
└── Validate command name if --command specified
|
|
66
|
+
|
|
67
|
+
Step 2: Create Temp Test Directory
|
|
68
|
+
├── Create isolated test directory: $TEMP/dominion-flow-test-{timestamp}/
|
|
69
|
+
├── Initialize minimal project structure
|
|
70
|
+
├── Copy test fixtures from tests/fixtures/
|
|
71
|
+
└── Set up clean environment variables
|
|
72
|
+
|
|
73
|
+
Step 3: Run Selected Test Suite(s)
|
|
74
|
+
├── E2E Tests:
|
|
75
|
+
│ ├── For each command test:
|
|
76
|
+
│ │ ├── Execute command in test directory
|
|
77
|
+
│ │ ├── Verify expected outputs exist
|
|
78
|
+
│ │ ├── Validate file contents/structure
|
|
79
|
+
│ │ └── Record pass/fail status
|
|
80
|
+
│ └── Aggregate E2E results
|
|
81
|
+
│
|
|
82
|
+
├── Integration Tests:
|
|
83
|
+
│ ├── Full workflow test:
|
|
84
|
+
│ │ ├── Run complete workflow sequence
|
|
85
|
+
│ │ ├── Verify state transitions
|
|
86
|
+
│ │ └── Check final artifacts
|
|
87
|
+
│ ├── Skills sync test:
|
|
88
|
+
│ │ ├── Create test skill locally
|
|
89
|
+
│ │ ├── Sync to global library
|
|
90
|
+
│ │ ├── Verify bidirectional sync
|
|
91
|
+
│ │ └── Clean up test skills
|
|
92
|
+
│ └── Hooks test:
|
|
93
|
+
│ ├── Trigger SessionStart event
|
|
94
|
+
│ ├── Verify context injection
|
|
95
|
+
│ └── Check hook output
|
|
96
|
+
│
|
|
97
|
+
└── Command-specific test (if --command used):
|
|
98
|
+
├── Run only the specified command test
|
|
99
|
+
└── Provide detailed output
|
|
100
|
+
|
|
101
|
+
Step 4: Capture Results
|
|
102
|
+
├── Collect pass/fail for each test
|
|
103
|
+
├── Capture any error messages
|
|
104
|
+
├── Record execution times
|
|
105
|
+
└── Note any warnings or skipped tests
|
|
106
|
+
|
|
107
|
+
Step 5: Generate Test Report
|
|
108
|
+
├── Create formatted report (see format below)
|
|
109
|
+
├── Calculate totals and percentages
|
|
110
|
+
├── Highlight failures with details
|
|
111
|
+
└── Provide recommendations for fixes
|
|
112
|
+
|
|
113
|
+
Step 6: Clean Up
|
|
114
|
+
├── Remove temp test directory
|
|
115
|
+
├── Restore any modified global state
|
|
116
|
+
└── Clear test environment variables
|
|
117
|
+
|
|
118
|
+
Step 7: Return Status
|
|
119
|
+
├── Exit 0 if all tests passed
|
|
120
|
+
├── Exit 1 if any tests failed
|
|
121
|
+
└── Display summary message
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Test Report Format
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
# Dominion Flow Test Report
|
|
128
|
+
|
|
129
|
+
**Run Date:** YYYY-MM-DD HH:MM:SS
|
|
130
|
+
**Duration:** X.Xs
|
|
131
|
+
**Plugin Version:** 1.0.0
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## E2E Tests: X/8
|
|
136
|
+
|
|
137
|
+
| Status | Test | Duration | Notes |
|
|
138
|
+
|--------|------|----------|-------|
|
|
139
|
+
| [x] | /fire-1-new creates correct structure | 0.5s | |
|
|
140
|
+
| [x] | /fire-2-plan generates valid plans | 0.8s | |
|
|
141
|
+
| [x] | /fire-3-execute completes breaths | 1.2s | |
|
|
142
|
+
| [x] | /fire-4-verify runs all checks | 0.6s | |
|
|
143
|
+
| [x] | /fire-5-handoff creates unified format | 0.4s | |
|
|
144
|
+
| [x] | /fire-6-resume restores context | 0.3s | |
|
|
145
|
+
| [x] | /fire-search finds relevant skills | 0.2s | |
|
|
146
|
+
| [x] | /fire-contribute adds new skills | 0.5s | |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Integration Tests: X/3
|
|
151
|
+
|
|
152
|
+
| Status | Test | Duration | Notes |
|
|
153
|
+
|--------|------|----------|-------|
|
|
154
|
+
| [x] | Full workflow end-to-end | 3.5s | |
|
|
155
|
+
| [x] | Skills sync bidirectional | 1.2s | |
|
|
156
|
+
| [x] | Hooks fire correctly | 0.8s | |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Summary
|
|
161
|
+
|
|
162
|
+
**Total: X/11 PASSED**
|
|
163
|
+
|
|
164
|
+
### Failures (if any)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Test: [test name]
|
|
168
|
+
Error: [error message]
|
|
169
|
+
Expected: [expected result]
|
|
170
|
+
Actual: [actual result]
|
|
171
|
+
Fix: [recommended action]
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Warnings (if any)
|
|
175
|
+
|
|
176
|
+
- [warning 1]
|
|
177
|
+
- [warning 2]
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
**Test Environment:**
|
|
182
|
+
- OS: [Windows/macOS/Linux]
|
|
183
|
+
- Shell: [PowerShell/Bash/Zsh]
|
|
184
|
+
- Plugin Path: ~/.claude/plugins/dominion-flow/
|
|
185
|
+
- Temp Directory: [path]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Test Fixtures
|
|
189
|
+
|
|
190
|
+
Located in `tests/fixtures/`:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
tests/fixtures/
|
|
194
|
+
├── test-project/ # Sample project for testing
|
|
195
|
+
│ ├── .planning/
|
|
196
|
+
│ │ ├── PROJECT.md
|
|
197
|
+
│ │ ├── VISION.md
|
|
198
|
+
│ │ ├── CONSCIENCE.md
|
|
199
|
+
│ │ └── phases/
|
|
200
|
+
│ │ └── 01-test-phase/
|
|
201
|
+
│ │ ├── 01-01-BLUEPRINT.md
|
|
202
|
+
│ │ └── 01-01-RECORD.md
|
|
203
|
+
│ └── src/
|
|
204
|
+
│ └── index.ts
|
|
205
|
+
│
|
|
206
|
+
├── test-skills/ # Sample skills for testing
|
|
207
|
+
│ ├── database-solutions/
|
|
208
|
+
│ │ └── test-skill.md
|
|
209
|
+
│ └── api-patterns/
|
|
210
|
+
│ └── test-pattern.md
|
|
211
|
+
│
|
|
212
|
+
├── test-handoff/ # Sample handoff for resume testing
|
|
213
|
+
│ └── TEST-PROJECT_2026-01-22.md
|
|
214
|
+
│
|
|
215
|
+
└── expected-outputs/ # Expected test outputs for comparison
|
|
216
|
+
├── new-project-structure.json
|
|
217
|
+
├── plan-frontmatter.json
|
|
218
|
+
└── handoff-structure.json
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Success Criteria
|
|
222
|
+
|
|
223
|
+
### All Tests Must:
|
|
224
|
+
1. Complete without unhandled exceptions
|
|
225
|
+
2. Produce expected file outputs
|
|
226
|
+
3. Maintain proper file structure
|
|
227
|
+
4. Preserve data integrity
|
|
228
|
+
5. Clean up after themselves
|
|
229
|
+
|
|
230
|
+
### E2E Test Criteria:
|
|
231
|
+
|
|
232
|
+
| Test | Success Criteria |
|
|
233
|
+
|------|------------------|
|
|
234
|
+
| fire-1-new | Creates .planning/ with PROJECT.md, VISION.md, CONSCIENCE.md, SKILLS-INDEX.md |
|
|
235
|
+
| fire-2-plan | Creates BLUEPRINT.md with valid YAML frontmatter including skills_to_apply |
|
|
236
|
+
| fire-3-execute | Creates RECORD.md with task commits and WARRIOR handoff section |
|
|
237
|
+
| fire-4-verify | Creates VERIFICATION.md with Must-Haves and WARRIOR validation scores |
|
|
238
|
+
| fire-5-handoff | Creates fire-handoff.md with all 7 WARRIOR sections (W-A-R-R-I-O-R) |
|
|
239
|
+
| fire-6-resume | Loads handoff, displays status, routes to correct next action |
|
|
240
|
+
| fire-search | Returns matching skills with relevance ranking |
|
|
241
|
+
| fire-contribute | Creates skill file with proper frontmatter and structure |
|
|
242
|
+
|
|
243
|
+
### Integration Test Criteria:
|
|
244
|
+
|
|
245
|
+
| Test | Success Criteria |
|
|
246
|
+
|------|------------------|
|
|
247
|
+
| Full Workflow | All 6 core commands execute in sequence without errors |
|
|
248
|
+
| Skills Sync | Local skill appears in global library after push; global skill available locally after pull |
|
|
249
|
+
| Hooks | SessionStart hook outputs context; CONSCIENCE.md and handoff are injected |
|
|
250
|
+
|
|
251
|
+
## Individual Test Specifications
|
|
252
|
+
|
|
253
|
+
### Test 1: fire-1-new
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
**Setup:**
|
|
257
|
+
- Create empty test directory
|
|
258
|
+
- No existing .planning/ folder
|
|
259
|
+
|
|
260
|
+
**Execute:**
|
|
261
|
+
- Run /fire-1-new with test project name
|
|
262
|
+
|
|
263
|
+
**Verify:**
|
|
264
|
+
- .planning/ directory exists
|
|
265
|
+
- .planning/PROJECT.md exists and contains project name
|
|
266
|
+
- .planning/VISION.md exists with phase placeholders
|
|
267
|
+
- .planning/CONSCIENCE.md exists with WARRIOR fields
|
|
268
|
+
- .planning/SKILLS-INDEX.md exists and is empty/initialized
|
|
269
|
+
- .planning/phases/ directory exists
|
|
270
|
+
|
|
271
|
+
**Pass:** All files exist with correct structure
|
|
272
|
+
**Fail:** Any file missing or malformed
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Test 2: fire-2-plan
|
|
276
|
+
|
|
277
|
+
```markdown
|
|
278
|
+
**Setup:**
|
|
279
|
+
- Use test-project fixture
|
|
280
|
+
- Phase 01 exists in VISION.md
|
|
281
|
+
|
|
282
|
+
**Execute:**
|
|
283
|
+
- Run /fire-2-plan 1
|
|
284
|
+
|
|
285
|
+
**Verify:**
|
|
286
|
+
- .planning/phases/01-test-phase/01-01-BLUEPRINT.md exists
|
|
287
|
+
- BLUEPRINT.md has valid YAML frontmatter
|
|
288
|
+
- Frontmatter includes: phase, plan, breath, autonomous
|
|
289
|
+
- Frontmatter includes: skills_to_apply (array)
|
|
290
|
+
- Frontmatter includes: must_haves with truths, artifacts, warrior_validation
|
|
291
|
+
- Plan body includes Tasks section
|
|
292
|
+
|
|
293
|
+
**Pass:** Valid BLUEPRINT.md with all required sections
|
|
294
|
+
**Fail:** Missing or invalid frontmatter/sections
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Test 3: fire-3-execute
|
|
298
|
+
|
|
299
|
+
```markdown
|
|
300
|
+
**Setup:**
|
|
301
|
+
- Use test-project fixture with existing BLUEPRINT.md
|
|
302
|
+
- Plan has executable tasks
|
|
303
|
+
|
|
304
|
+
**Execute:**
|
|
305
|
+
- Run /fire-3-execute 1
|
|
306
|
+
|
|
307
|
+
**Verify:**
|
|
308
|
+
- RECORD.md created in phase directory
|
|
309
|
+
- RECORD.md has task commits table
|
|
310
|
+
- RECORD.md has WARRIOR handoff section
|
|
311
|
+
- SKILLS-INDEX.md updated if skills were applied
|
|
312
|
+
- CONSCIENCE.md updated with execution progress
|
|
313
|
+
|
|
314
|
+
**Pass:** RECORD.md complete with all sections
|
|
315
|
+
**Fail:** Missing sections or incomplete execution
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Test 4: fire-4-verify
|
|
319
|
+
|
|
320
|
+
```markdown
|
|
321
|
+
**Setup:**
|
|
322
|
+
- Use test-project fixture with completed execution
|
|
323
|
+
- RECORD.md exists
|
|
324
|
+
|
|
325
|
+
**Execute:**
|
|
326
|
+
- Run /fire-4-verify 1
|
|
327
|
+
|
|
328
|
+
**Verify:**
|
|
329
|
+
- VERIFICATION.md created
|
|
330
|
+
- Must-Haves section present with pass/fail
|
|
331
|
+
- WARRIOR Validation section present with scores
|
|
332
|
+
- Overall status determined (PASSED/FAILED)
|
|
333
|
+
- Gaps section lists any failures
|
|
334
|
+
|
|
335
|
+
**Pass:** Complete verification report generated
|
|
336
|
+
**Fail:** Missing sections or verification errors
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Test 5: fire-5-handoff
|
|
340
|
+
|
|
341
|
+
```markdown
|
|
342
|
+
**Setup:**
|
|
343
|
+
- Use test-project fixture with completed phase
|
|
344
|
+
- CONSCIENCE.md has current project data
|
|
345
|
+
|
|
346
|
+
**Execute:**
|
|
347
|
+
- Run /fire-5-handoff
|
|
348
|
+
|
|
349
|
+
**Verify:**
|
|
350
|
+
- Handoff file created in ~/.claude/warrior-handoffs/
|
|
351
|
+
- Handoff filename matches pattern: PROJECT-NAME_YYYY-MM-DD.md
|
|
352
|
+
- Handoff contains all 7 WARRIOR sections:
|
|
353
|
+
- W: Work Completed
|
|
354
|
+
- A: Assessment
|
|
355
|
+
- R: Resources
|
|
356
|
+
- R: Readiness
|
|
357
|
+
- I: Issues
|
|
358
|
+
- O: Outlook
|
|
359
|
+
- R: References
|
|
360
|
+
- CONSCIENCE.md updated with handoff reference
|
|
361
|
+
|
|
362
|
+
**Pass:** Complete handoff file with all sections
|
|
363
|
+
**Fail:** Missing sections or file not created
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### Test 6: fire-6-resume
|
|
367
|
+
|
|
368
|
+
```markdown
|
|
369
|
+
**Setup:**
|
|
370
|
+
- Use test-handoff fixture
|
|
371
|
+
- Handoff file exists in warrior-handoffs/
|
|
372
|
+
|
|
373
|
+
**Execute:**
|
|
374
|
+
- Run /fire-6-resume
|
|
375
|
+
|
|
376
|
+
**Verify:**
|
|
377
|
+
- Handoff file is read successfully
|
|
378
|
+
- Project status summary is displayed
|
|
379
|
+
- Correct next action is identified
|
|
380
|
+
- CONSCIENCE.md is updated with resume timestamp
|
|
381
|
+
|
|
382
|
+
**Pass:** Context restored, next action identified
|
|
383
|
+
**Fail:** Failed to read handoff or incorrect routing
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Test 7: fire-search
|
|
387
|
+
|
|
388
|
+
```markdown
|
|
389
|
+
**Setup:**
|
|
390
|
+
- Skills library populated with test skills
|
|
391
|
+
- Known skills exist in database-solutions/
|
|
392
|
+
|
|
393
|
+
**Execute:**
|
|
394
|
+
- Run /fire-search "database performance"
|
|
395
|
+
|
|
396
|
+
**Verify:**
|
|
397
|
+
- Results returned (not empty)
|
|
398
|
+
- Results are relevant to query
|
|
399
|
+
- Each result has skill name, category, description
|
|
400
|
+
- Results are ranked by relevance
|
|
401
|
+
|
|
402
|
+
**Pass:** Relevant skills found and displayed
|
|
403
|
+
**Fail:** No results or irrelevant matches
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### Test 8: fire-contribute
|
|
407
|
+
|
|
408
|
+
```markdown
|
|
409
|
+
**Setup:**
|
|
410
|
+
- Skills library exists
|
|
411
|
+
- No existing skill with test name
|
|
412
|
+
|
|
413
|
+
**Execute:**
|
|
414
|
+
- Run /fire-contribute with test skill data
|
|
415
|
+
|
|
416
|
+
**Verify:**
|
|
417
|
+
- Skill file created in correct category folder
|
|
418
|
+
- Skill file has valid frontmatter (name, category, version, contributed)
|
|
419
|
+
- Skill file has required sections (Problem, Solution, Example)
|
|
420
|
+
- SKILLS-INDEX.md updated with new skill
|
|
421
|
+
|
|
422
|
+
**Pass:** Skill file created with proper structure
|
|
423
|
+
**Fail:** File not created or malformed
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
## Error Handling
|
|
427
|
+
|
|
428
|
+
### Common Errors and Fixes:
|
|
429
|
+
|
|
430
|
+
| Error | Cause | Fix |
|
|
431
|
+
|-------|-------|-----|
|
|
432
|
+
| "Plugin not found" | dominion-flow not installed | Install plugin to ~/.claude/plugins/dominion-flow/ |
|
|
433
|
+
| "Skills library empty" | Skills not copied | Copy skills from WARRIOR to skills-library/ |
|
|
434
|
+
| "Hook not firing" | hooks.json misconfigured | Check hooks/hooks.json syntax |
|
|
435
|
+
| "Permission denied" | File permissions | Check write permissions on test directory |
|
|
436
|
+
| "Command not recognized" | Commands not registered | Verify plugin.json has all commands listed |
|
|
437
|
+
|
|
438
|
+
### Test Isolation:
|
|
439
|
+
|
|
440
|
+
- Each test runs in isolated temp directory
|
|
441
|
+
- Tests do not modify global state
|
|
442
|
+
- Cleanup runs even if tests fail
|
|
443
|
+
- Failed cleanup is logged but doesn't fail tests
|
|
444
|
+
|
|
445
|
+
## Running Tests
|
|
446
|
+
|
|
447
|
+
### Prerequisites:
|
|
448
|
+
1. Dominion Flow plugin installed at ~/.claude/plugins/dominion-flow/
|
|
449
|
+
2. Skills library populated (or will use fixtures)
|
|
450
|
+
3. Write access to temp directory
|
|
451
|
+
4. Write access to ~/.claude/warrior-handoffs/
|
|
452
|
+
|
|
453
|
+
### Quick Start:
|
|
454
|
+
```bash
|
|
455
|
+
# Run all tests
|
|
456
|
+
/fire-test
|
|
457
|
+
|
|
458
|
+
# Run only E2E tests (faster)
|
|
459
|
+
/fire-test --e2e
|
|
460
|
+
|
|
461
|
+
# Test a specific command
|
|
462
|
+
/fire-test --command fire-1-new
|
|
463
|
+
|
|
464
|
+
# Run integration tests (requires full setup)
|
|
465
|
+
/fire-test --integration
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### CI/CD Integration:
|
|
469
|
+
```bash
|
|
470
|
+
# Exit code 0 = all passed, 1 = failures
|
|
471
|
+
/fire-test --e2e && echo "E2E Passed" || echo "E2E Failed"
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
## Execution Instructions
|
|
475
|
+
|
|
476
|
+
When `/fire-test` is invoked:
|
|
477
|
+
|
|
478
|
+
1. **Parse arguments** to determine test scope:
|
|
479
|
+
- No args: Run all 11 tests
|
|
480
|
+
- `--e2e`: Run 8 E2E tests only
|
|
481
|
+
- `--integration`: Run 3 integration tests only
|
|
482
|
+
- `--command [name]`: Run single command test
|
|
483
|
+
|
|
484
|
+
2. **Set up test environment**:
|
|
485
|
+
```bash
|
|
486
|
+
# Create temp directory
|
|
487
|
+
TEST_DIR="$TEMP/dominion-flow-test-$(date +%s)"
|
|
488
|
+
mkdir -p "$TEST_DIR"
|
|
489
|
+
|
|
490
|
+
# Copy fixtures
|
|
491
|
+
cp -r "$PLUGIN_ROOT/tests/fixtures/test-project" "$TEST_DIR/"
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
3. **Execute tests sequentially**, capturing output:
|
|
495
|
+
```
|
|
496
|
+
Running E2E Tests...
|
|
497
|
+
[1/8] Testing /fire-1-new... PASS (0.5s)
|
|
498
|
+
[2/8] Testing /fire-2-plan... PASS (0.8s)
|
|
499
|
+
...
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
4. **Generate and display report** in the format shown above
|
|
503
|
+
|
|
504
|
+
5. **Clean up**:
|
|
505
|
+
```bash
|
|
506
|
+
rm -rf "$TEST_DIR"
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
6. **Return status**:
|
|
510
|
+
- Display "All tests passed!" or "X tests failed"
|
|
511
|
+
- Return appropriate exit code
|
|
512
|
+
|
|
513
|
+
## Notes
|
|
514
|
+
|
|
515
|
+
- Tests are designed to be non-destructive to the actual plugin
|
|
516
|
+
- All file operations happen in temp directory
|
|
517
|
+
- Skills library tests use copies, not originals
|
|
518
|
+
- Handoff tests create files in a test subdirectory
|
|
519
|
+
- Integration tests may take longer (5-10 seconds total)
|
|
520
|
+
- Individual command tests complete in under 1 second each
|