@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,312 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Check for and apply plugin updates from GitHub repository
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /fire-update
|
|
6
|
+
|
|
7
|
+
> Check for plugin updates, view changelog, and apply updates from GitHub
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Automatic update system for Dominion Flow plugin that pulls updates from GitHub, maintains version history, and creates backups before updating. Ensures you always have the latest features and fixes.
|
|
14
|
+
|
|
15
|
+
**Commands:**
|
|
16
|
+
- `/fire-update check` - Check for available updates
|
|
17
|
+
- `/fire-update apply` - Apply available updates
|
|
18
|
+
- `/fire-update history` - View update history
|
|
19
|
+
- `/fire-update version` - Show current version
|
|
20
|
+
- `/fire-update rollback` - Rollback to previous version
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Arguments
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
arguments:
|
|
28
|
+
action:
|
|
29
|
+
required: false
|
|
30
|
+
type: string
|
|
31
|
+
enum: [check, apply, history, version, rollback]
|
|
32
|
+
default: check
|
|
33
|
+
description: "Update action to perform"
|
|
34
|
+
|
|
35
|
+
force:
|
|
36
|
+
required: false
|
|
37
|
+
type: boolean
|
|
38
|
+
default: false
|
|
39
|
+
description: "Force update even if on modified branch"
|
|
40
|
+
|
|
41
|
+
examples:
|
|
42
|
+
- "/fire-update" - Check for available updates
|
|
43
|
+
- "/fire-update check" - Check for updates with details
|
|
44
|
+
- "/fire-update apply" - Apply available updates
|
|
45
|
+
- "/fire-update history" - View update history
|
|
46
|
+
- "/fire-update rollback" - Rollback to previous version
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Configuration
|
|
52
|
+
|
|
53
|
+
### GitHub Repository Setup
|
|
54
|
+
|
|
55
|
+
The plugin must have a GitHub repository configured in `plugin.json`:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"repository": "https://github.com/username/dominion-flow"
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If repository is not configured:
|
|
64
|
+
```
|
|
65
|
+
⚠️ No repository configured for updates
|
|
66
|
+
|
|
67
|
+
To enable updates, add repository URL to plugin.json:
|
|
68
|
+
{
|
|
69
|
+
"repository": "https://github.com/username/dominion-flow"
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Process: Check for Updates
|
|
76
|
+
|
|
77
|
+
### Step 1: Validate Environment
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
PLUGIN_DIR="$HOME/.claude/plugins/dominion-flow"
|
|
81
|
+
VERSION_FILE="$PLUGIN_DIR/version.json"
|
|
82
|
+
PLUGIN_JSON="$PLUGIN_DIR/.claude-plugin/plugin.json"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Verify plugin directory exists and is a git repository:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
cd "$PLUGIN_DIR"
|
|
89
|
+
if [ ! -d ".git" ]; then
|
|
90
|
+
echo "Error: Not a git repository"
|
|
91
|
+
exit 1
|
|
92
|
+
fi
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Step 2: Load Current Version
|
|
96
|
+
|
|
97
|
+
Read `version.json` or create if missing:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
if [ ! -f "$VERSION_FILE" ]; then
|
|
101
|
+
# Initialize version file
|
|
102
|
+
CURRENT_COMMIT=$(git rev-parse HEAD)
|
|
103
|
+
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
104
|
+
PLUGIN_VERSION=$(jq -r '.version' "$PLUGIN_JSON")
|
|
105
|
+
|
|
106
|
+
cat > "$VERSION_FILE" <<EOF
|
|
107
|
+
{
|
|
108
|
+
"version": "$PLUGIN_VERSION",
|
|
109
|
+
"commit": "$CURRENT_COMMIT",
|
|
110
|
+
"branch": "$CURRENT_BRANCH",
|
|
111
|
+
"updatedAt": "$(date -Iseconds)",
|
|
112
|
+
"installMethod": "manual"
|
|
113
|
+
}
|
|
114
|
+
EOF
|
|
115
|
+
fi
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 3: Fetch and Compare
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
git fetch origin --quiet 2>&1
|
|
122
|
+
REMOTE_COMMIT=$(git rev-parse origin/main 2>/dev/null)
|
|
123
|
+
BEHIND_COUNT=$(git rev-list --count HEAD..origin/main)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Step 4: Display Results
|
|
127
|
+
|
|
128
|
+
**If updates available:**
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
🔄 Updates Available for Dominion Flow
|
|
132
|
+
|
|
133
|
+
Current Version: 3.0.0 (abc1234)
|
|
134
|
+
Remote Version: 3.1.0 (def5678)
|
|
135
|
+
Updates: 5 commits behind
|
|
136
|
+
|
|
137
|
+
Recent Changes:
|
|
138
|
+
• Add pattern discovery integration (def5678)
|
|
139
|
+
• Fix todo duplicate detection (cde4567)
|
|
140
|
+
• Improve verification reporting (bcd3456)
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
To apply updates: /fire-update apply
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Process: Apply Updates
|
|
150
|
+
|
|
151
|
+
### Step 1: Create Backup
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
BACKUP_DIR="$PLUGIN_DIR/.update-backups"
|
|
155
|
+
TIMESTAMP=$(date "+%Y-%m-%dT%H-%M-%S")
|
|
156
|
+
BACKUP_NAME="pre-update-$TIMESTAMP"
|
|
157
|
+
BACKUP_PATH="$BACKUP_DIR/$BACKUP_NAME"
|
|
158
|
+
|
|
159
|
+
mkdir -p "$BACKUP_PATH"
|
|
160
|
+
|
|
161
|
+
# Store current commit info
|
|
162
|
+
cat > "$BACKUP_PATH/backup-info.json" <<EOF
|
|
163
|
+
{
|
|
164
|
+
"commit": "$(git rev-parse HEAD)",
|
|
165
|
+
"branch": "$(git rev-parse --abbrev-ref HEAD)",
|
|
166
|
+
"version": "$(jq -r '.version' $VERSION_FILE)",
|
|
167
|
+
"createdAt": "$(date -Iseconds)",
|
|
168
|
+
"label": "pre-update"
|
|
169
|
+
}
|
|
170
|
+
EOF
|
|
171
|
+
|
|
172
|
+
# Stash any uncommitted changes
|
|
173
|
+
git stash push -m "Update backup $BACKUP_NAME" 2>/dev/null || true
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Step 2: Pull Updates
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
CURRENT_COMMIT=$(git rev-parse HEAD)
|
|
180
|
+
git pull origin main
|
|
181
|
+
|
|
182
|
+
NEW_COMMIT=$(git rev-parse HEAD)
|
|
183
|
+
PLUGIN_VERSION=$(jq -r '.version' "$PLUGIN_JSON")
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Step 3: Update Version File
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
jq --arg commit "$NEW_COMMIT" \
|
|
190
|
+
--arg version "$PLUGIN_VERSION" \
|
|
191
|
+
--arg updated "$(date -Iseconds)" \
|
|
192
|
+
'.commit = $commit | .version = $version | .updatedAt = $updated' \
|
|
193
|
+
"$VERSION_FILE" > "$VERSION_FILE.tmp" && mv "$VERSION_FILE.tmp" "$VERSION_FILE"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Step 4: Record History
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
HISTORY_FILE="$PLUGIN_DIR/.update-history.json"
|
|
200
|
+
|
|
201
|
+
HISTORY_ENTRY=$(cat <<EOF
|
|
202
|
+
{
|
|
203
|
+
"type": "update",
|
|
204
|
+
"beforeCommit": "$CURRENT_COMMIT",
|
|
205
|
+
"afterCommit": "$NEW_COMMIT",
|
|
206
|
+
"backup": "$BACKUP_NAME",
|
|
207
|
+
"timestamp": "$(date -Iseconds)"
|
|
208
|
+
}
|
|
209
|
+
EOF
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
# Prepend to history (keep last 50)
|
|
213
|
+
if [ -f "$HISTORY_FILE" ]; then
|
|
214
|
+
jq --argjson entry "$HISTORY_ENTRY" '. = [$entry] + . | .[0:50]' "$HISTORY_FILE" > "$HISTORY_FILE.tmp"
|
|
215
|
+
mv "$HISTORY_FILE.tmp" "$HISTORY_FILE"
|
|
216
|
+
else
|
|
217
|
+
echo "[$HISTORY_ENTRY]" > "$HISTORY_FILE"
|
|
218
|
+
fi
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Step 5: Display Success
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
✓ Dominion Flow Updated Successfully
|
|
225
|
+
|
|
226
|
+
Previous Version: 3.0.0 (abc1234)
|
|
227
|
+
New Version: 3.1.0 (def5678)
|
|
228
|
+
|
|
229
|
+
Changes Applied:
|
|
230
|
+
• 5 commits pulled
|
|
231
|
+
• 23 files changed
|
|
232
|
+
• Backup created: pre-update-2026-02-09T15-30-00
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
🎉 Update complete! New features are now available.
|
|
237
|
+
|
|
238
|
+
To rollback: /fire-update rollback
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Process: View History
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
HISTORY_FILE="$PLUGIN_DIR/.update-history.json"
|
|
247
|
+
|
|
248
|
+
jq -r '.[] | "\(.timestamp)|\(.type)|\(.beforeCommit[0:7])|\(.afterCommit[0:7])"' \
|
|
249
|
+
"$HISTORY_FILE" | while IFS='|' read timestamp type before after; do
|
|
250
|
+
|
|
251
|
+
DATE=$(date -d "$timestamp" "+%Y-%m-%d %H:%M" 2>/dev/null || echo "$timestamp")
|
|
252
|
+
|
|
253
|
+
case "$type" in
|
|
254
|
+
update)
|
|
255
|
+
echo "📦 $DATE: Update ($before → $after)"
|
|
256
|
+
;;
|
|
257
|
+
rollback)
|
|
258
|
+
echo "↩️ $DATE: Rollback ($before → $after)"
|
|
259
|
+
;;
|
|
260
|
+
esac
|
|
261
|
+
done
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Process: Rollback
|
|
267
|
+
|
|
268
|
+
List available backups and restore to selected version:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
BACKUP_DIR="$PLUGIN_DIR/.update-backups"
|
|
272
|
+
ls -t "$BACKUP_DIR" | head -n 5
|
|
273
|
+
|
|
274
|
+
# After user selects backup:
|
|
275
|
+
BACKUP_INFO="$BACKUP_DIR/$SELECTED/backup-info.json"
|
|
276
|
+
TARGET_COMMIT=$(jq -r '.commit' "$BACKUP_INFO")
|
|
277
|
+
|
|
278
|
+
# Create pre-rollback backup
|
|
279
|
+
# Reset to target commit
|
|
280
|
+
git reset --hard "$TARGET_COMMIT"
|
|
281
|
+
|
|
282
|
+
# Update version.json
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Success Criteria
|
|
288
|
+
|
|
289
|
+
- [ ] Current version loaded from version.json
|
|
290
|
+
- [ ] Remote repository fetched successfully
|
|
291
|
+
- [ ] Updates displayed with commit messages
|
|
292
|
+
- [ ] Backups created before applying updates
|
|
293
|
+
- [ ] Version file updated after changes
|
|
294
|
+
- [ ] Update history recorded
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## GitHub Token Setup (Private Repositories)
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
# Generate token at: https://github.com/settings/tokens
|
|
302
|
+
# Set token in git remote
|
|
303
|
+
cd ~/.claude/plugins/dominion-flow
|
|
304
|
+
git remote set-url origin https://YOUR_TOKEN@github.com/username/dominion-flow.git
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## References
|
|
310
|
+
|
|
311
|
+
- **Related:** `/fire-dashboard` - View current plugin version
|
|
312
|
+
- **Related:** `plugin.json` - Plugin metadata
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conversational User Acceptance Testing with automatic parallel diagnosis on failures
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /fire-verify-uat
|
|
6
|
+
|
|
7
|
+
> Conversational UAT testing with automatic parallel diagnosis when flows fail.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Arguments
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
arguments:
|
|
15
|
+
phase:
|
|
16
|
+
required: false
|
|
17
|
+
type: string
|
|
18
|
+
description: "Phase to test (e.g., 03). Defaults to current phase."
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
### Step 1: Load Phase Context
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
+---------------------------------------------------------------+
|
|
29
|
+
| DOMINION FLOW >>> UAT VERIFICATION |
|
|
30
|
+
+---------------------------------------------------------------+
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Read all RECORD.md files from the phase. Extract:
|
|
34
|
+
- What was built (from quick summaries)
|
|
35
|
+
- Critical flows (from PROJECT.md)
|
|
36
|
+
- Must-haves (from BLUEPRINT.md frontmatter)
|
|
37
|
+
|
|
38
|
+
### Step 2: Generate Test Flows
|
|
39
|
+
|
|
40
|
+
Create test flows from must-haves truths:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Critical Flows to Test:
|
|
44
|
+
1. [Must-have truth 1] - Must Pass
|
|
45
|
+
2. [Must-have truth 2] - Must Pass
|
|
46
|
+
3. [Edge case from PROJECT.md] - Should Pass
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Present to user: "Ready to start UAT? I'll guide you through each flow."
|
|
50
|
+
|
|
51
|
+
### Step 3: Guided Testing
|
|
52
|
+
|
|
53
|
+
For each flow:
|
|
54
|
+
1. Present exact steps to test
|
|
55
|
+
2. Wait for user result (pass/fail/issue description)
|
|
56
|
+
3. Record result
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
+---------------------------------------------------------------+
|
|
60
|
+
| TESTING: Flow 1 of N |
|
|
61
|
+
+---------------------------------------------------------------+
|
|
62
|
+
| |
|
|
63
|
+
| Flow: User can register with email and password |
|
|
64
|
+
| |
|
|
65
|
+
| Steps: |
|
|
66
|
+
| 1. Run: npm run dev |
|
|
67
|
+
| 2. Visit: http://localhost:3000/register |
|
|
68
|
+
| 3. Enter email: test@example.com |
|
|
69
|
+
| 4. Enter password: SecurePass123! |
|
|
70
|
+
| 5. Click "Register" |
|
|
71
|
+
| |
|
|
72
|
+
| Expected: Redirect to /dashboard, welcome message |
|
|
73
|
+
| |
|
|
74
|
+
|-----------------------------------------------------------------|
|
|
75
|
+
| Result? Type "pass", "fail", or describe the issue |
|
|
76
|
+
+-----------------------------------------------------------------+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 4: Automatic Diagnosis on Failure
|
|
80
|
+
|
|
81
|
+
When a flow fails, immediately spawn 3 parallel debug agents:
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
// Agent 1: Component where symptom appears
|
|
85
|
+
Task({ subagent_type: "fire-debugger", prompt: "Investigate [failing component]..." });
|
|
86
|
+
|
|
87
|
+
// Agent 2: What triggers it (parent/caller)
|
|
88
|
+
Task({ subagent_type: "fire-debugger", prompt: "Investigate [trigger component]..." });
|
|
89
|
+
|
|
90
|
+
// Agent 3: Working reference pattern
|
|
91
|
+
Task({ subagent_type: "Explore", prompt: "Find working pattern for [similar feature]..." });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Present diagnosis results and proposed fix.
|
|
95
|
+
|
|
96
|
+
### Step 5: Fix and Retest (if failures)
|
|
97
|
+
|
|
98
|
+
For each failure with diagnosis:
|
|
99
|
+
1. Implement fix
|
|
100
|
+
2. Commit: `fix({phase}): resolve UAT failure - [description]`
|
|
101
|
+
3. Retest the specific flow
|
|
102
|
+
4. If still failing: create P1 blocker
|
|
103
|
+
|
|
104
|
+
### Step 6: Generate UAT Report
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
## UAT Report: Phase XX
|
|
108
|
+
|
|
109
|
+
### Results
|
|
110
|
+
| Flow | Status | Notes |
|
|
111
|
+
|------|--------|-------|
|
|
112
|
+
| Registration | PASS | |
|
|
113
|
+
| Login | PASS | |
|
|
114
|
+
| Dashboard | FAIL -> PASS | Fixed: missing redirect |
|
|
115
|
+
|
|
116
|
+
### Verdict: [PASS / CONDITIONAL PASS / FAIL]
|
|
117
|
+
- Blocking issues: [N]
|
|
118
|
+
- Fixed during UAT: [N]
|
|
119
|
+
- Deferred: [N]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Step 7: Route
|
|
123
|
+
|
|
124
|
+
| Verdict | Next Action |
|
|
125
|
+
|---------|------------|
|
|
126
|
+
| PASS | `/fire-transition` to complete phase |
|
|
127
|
+
| CONDITIONAL PASS | User decides: proceed or fix |
|
|
128
|
+
| FAIL | Fix blockers, rerun `/fire-verify-uat` |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Success Criteria
|
|
133
|
+
|
|
134
|
+
- [ ] All critical flows tested
|
|
135
|
+
- [ ] Failures diagnosed with parallel agents
|
|
136
|
+
- [ ] Fixes committed and retested
|
|
137
|
+
- [ ] UAT report generated
|
|
138
|
+
- [ ] Clear verdict and next action
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## References
|
|
143
|
+
|
|
144
|
+
- **Template:** `@templates/UAT.md`
|
|
145
|
+
- **Debugging pattern:** CLAUDE.md parallel debugging section
|
|
146
|
+
- **Verification:** `@references/verification-patterns.md`
|