@sniper.ai/core 2.0.0 → 3.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/README.md +88 -98
- package/agents/analyst.md +30 -0
- package/agents/architect.md +36 -0
- package/agents/backend-dev.md +43 -0
- package/agents/code-reviewer.md +72 -0
- package/agents/frontend-dev.md +43 -0
- package/agents/fullstack-dev.md +44 -0
- package/agents/gate-reviewer.md +62 -0
- package/agents/lead-orchestrator.md +51 -0
- package/agents/product-manager.md +38 -0
- package/agents/qa-engineer.md +37 -0
- package/agents/retro-analyst.md +98 -0
- package/checklists/discover.yaml +23 -0
- package/checklists/implement.yaml +28 -0
- package/checklists/ingest-document.yaml +18 -0
- package/checklists/ingest-extract.yaml +13 -0
- package/checklists/ingest-scan.yaml +18 -0
- package/checklists/multi-faceted-review.yaml +56 -0
- package/checklists/plan.yaml +36 -0
- package/checklists/refactor-analyze.yaml +18 -0
- package/checklists/review.yaml +28 -0
- package/claude-md.template +42 -0
- package/config.template.yaml +156 -0
- package/hooks/settings-hooks.json +31 -0
- package/hooks/signal-hooks.json +11 -0
- package/package.json +23 -5
- package/personas/cognitive/devils-advocate.md +24 -0
- package/personas/cognitive/performance-focused.md +23 -0
- package/personas/cognitive/security-first.md +24 -0
- package/protocols/explore.yaml +18 -0
- package/protocols/feature.yaml +45 -0
- package/protocols/full.yaml +63 -0
- package/protocols/hotfix.yaml +19 -0
- package/protocols/ingest.yaml +39 -0
- package/protocols/patch.yaml +30 -0
- package/protocols/refactor.yaml +41 -0
- package/schemas/checkpoint.schema.yaml +133 -0
- package/schemas/cost.schema.yaml +97 -0
- package/schemas/dependency-graph.schema.yaml +37 -0
- package/schemas/gate-result.schema.yaml +101 -0
- package/schemas/knowledge-manifest.schema.yaml +39 -0
- package/schemas/live-status.schema.yaml +122 -0
- package/schemas/protocol.schema.yaml +100 -0
- package/schemas/retro.schema.yaml +95 -0
- package/schemas/revert-plan.schema.yaml +40 -0
- package/schemas/signal.schema.yaml +39 -0
- package/schemas/velocity.schema.yaml +52 -0
- package/schemas/workspace-lock.schema.yaml +34 -0
- package/schemas/workspace.schema.yaml +82 -0
- package/skills/sniper-flow/SKILL.md +243 -0
- package/skills/sniper-flow-headless/SKILL.md +105 -0
- package/skills/sniper-init/SKILL.md +103 -0
- package/skills/sniper-review/SKILL.md +49 -0
- package/skills/sniper-status/SKILL.md +79 -0
- package/templates/architecture.md +23 -0
- package/templates/checkpoint.yaml +27 -0
- package/templates/codebase-overview.md +19 -0
- package/templates/cost.yaml +23 -0
- package/templates/custom-protocol.yaml +98 -0
- package/templates/knowledge-manifest.yaml +32 -0
- package/templates/live-status.yaml +26 -0
- package/templates/multi-faceted-review-report.md +28 -0
- package/templates/review-report.md +25 -0
- package/templates/signal-record.yaml +37 -0
- package/templates/spec.md +28 -0
- package/templates/story.md +19 -0
- package/templates/velocity.yaml +9 -0
- package/templates/workspace-config.yaml +44 -0
- package/framework/checklists/code-review.md +0 -33
- package/framework/checklists/debug-review.md +0 -34
- package/framework/checklists/discover-review.md +0 -33
- package/framework/checklists/doc-review.md +0 -39
- package/framework/checklists/feature-review.md +0 -42
- package/framework/checklists/ingest-review.md +0 -42
- package/framework/checklists/memory-review.md +0 -30
- package/framework/checklists/perf-review.md +0 -33
- package/framework/checklists/plan-review.md +0 -52
- package/framework/checklists/refactor-review.md +0 -33
- package/framework/checklists/security-review.md +0 -34
- package/framework/checklists/sprint-review.md +0 -41
- package/framework/checklists/story-review.md +0 -30
- package/framework/checklists/test-review.md +0 -32
- package/framework/checklists/workspace-review.md +0 -34
- package/framework/claude-md.template +0 -37
- package/framework/commands/sniper-audit.md +0 -1549
- package/framework/commands/sniper-compose.md +0 -323
- package/framework/commands/sniper-debug.md +0 -337
- package/framework/commands/sniper-discover.md +0 -423
- package/framework/commands/sniper-doc.md +0 -441
- package/framework/commands/sniper-feature.md +0 -515
- package/framework/commands/sniper-ingest.md +0 -506
- package/framework/commands/sniper-init.md +0 -388
- package/framework/commands/sniper-memory.md +0 -219
- package/framework/commands/sniper-plan.md +0 -630
- package/framework/commands/sniper-review.md +0 -369
- package/framework/commands/sniper-solve.md +0 -408
- package/framework/commands/sniper-sprint.md +0 -716
- package/framework/commands/sniper-status.md +0 -481
- package/framework/commands/sniper-workspace-feature.md +0 -267
- package/framework/commands/sniper-workspace-init.md +0 -252
- package/framework/commands/sniper-workspace-status.md +0 -112
- package/framework/commands/sniper-workspace-validate.md +0 -138
- package/framework/config.template.yaml +0 -196
- package/framework/personas/cognitive/devils-advocate.md +0 -30
- package/framework/personas/cognitive/mentor-explainer.md +0 -29
- package/framework/personas/cognitive/performance-focused.md +0 -30
- package/framework/personas/cognitive/security-first.md +0 -29
- package/framework/personas/cognitive/systems-thinker.md +0 -29
- package/framework/personas/cognitive/user-empathetic.md +0 -29
- package/framework/personas/domain/.gitkeep +0 -0
- package/framework/personas/process/analyst.md +0 -29
- package/framework/personas/process/architect.md +0 -30
- package/framework/personas/process/architecture-cartographer.md +0 -25
- package/framework/personas/process/code-archaeologist.md +0 -22
- package/framework/personas/process/code-investigator.md +0 -29
- package/framework/personas/process/code-reviewer.md +0 -26
- package/framework/personas/process/contract-designer.md +0 -31
- package/framework/personas/process/convention-miner.md +0 -27
- package/framework/personas/process/coverage-analyst.md +0 -24
- package/framework/personas/process/developer.md +0 -32
- package/framework/personas/process/doc-analyst.md +0 -63
- package/framework/personas/process/doc-reviewer.md +0 -62
- package/framework/personas/process/doc-writer.md +0 -42
- package/framework/personas/process/flake-hunter.md +0 -30
- package/framework/personas/process/impact-analyst.md +0 -23
- package/framework/personas/process/integration-validator.md +0 -29
- package/framework/personas/process/log-analyst.md +0 -22
- package/framework/personas/process/migration-architect.md +0 -24
- package/framework/personas/process/perf-profiler.md +0 -27
- package/framework/personas/process/product-manager.md +0 -32
- package/framework/personas/process/qa-engineer.md +0 -31
- package/framework/personas/process/release-manager.md +0 -23
- package/framework/personas/process/retro-analyst.md +0 -30
- package/framework/personas/process/scrum-master.md +0 -31
- package/framework/personas/process/threat-modeler.md +0 -30
- package/framework/personas/process/triage-lead.md +0 -23
- package/framework/personas/process/ux-designer.md +0 -31
- package/framework/personas/process/vuln-scanner.md +0 -27
- package/framework/personas/process/workspace-orchestrator.md +0 -30
- package/framework/personas/technical/ai-ml.md +0 -33
- package/framework/personas/technical/api-design.md +0 -32
- package/framework/personas/technical/backend.md +0 -32
- package/framework/personas/technical/database.md +0 -32
- package/framework/personas/technical/frontend.md +0 -33
- package/framework/personas/technical/infrastructure.md +0 -32
- package/framework/personas/technical/security.md +0 -34
- package/framework/settings.template.json +0 -6
- package/framework/spawn-prompts/_template.md +0 -25
- package/framework/teams/debug.yaml +0 -56
- package/framework/teams/discover.yaml +0 -57
- package/framework/teams/doc.yaml +0 -76
- package/framework/teams/feature-plan.yaml +0 -61
- package/framework/teams/ingest.yaml +0 -85
- package/framework/teams/perf.yaml +0 -33
- package/framework/teams/plan.yaml +0 -86
- package/framework/teams/refactor.yaml +0 -34
- package/framework/teams/retro.yaml +0 -30
- package/framework/teams/review-pr.yaml +0 -73
- package/framework/teams/review-release.yaml +0 -70
- package/framework/teams/security.yaml +0 -59
- package/framework/teams/solve.yaml +0 -48
- package/framework/teams/sprint.yaml +0 -68
- package/framework/teams/test.yaml +0 -59
- package/framework/teams/workspace-feature.yaml +0 -69
- package/framework/teams/workspace-validation.yaml +0 -27
- package/framework/templates/arch-delta.md +0 -74
- package/framework/templates/architecture.md +0 -95
- package/framework/templates/brief.md +0 -73
- package/framework/templates/bug-report.md +0 -55
- package/framework/templates/contract-validation-report.md +0 -68
- package/framework/templates/contract.yaml +0 -60
- package/framework/templates/conventions.md +0 -59
- package/framework/templates/coverage-report.md +0 -67
- package/framework/templates/doc-api.md +0 -53
- package/framework/templates/doc-guide.md +0 -35
- package/framework/templates/doc-readme.md +0 -49
- package/framework/templates/epic.md +0 -47
- package/framework/templates/feature-brief.md +0 -54
- package/framework/templates/feature-spec.md +0 -53
- package/framework/templates/flaky-report.md +0 -64
- package/framework/templates/investigation.md +0 -49
- package/framework/templates/memory-anti-pattern.yaml +0 -16
- package/framework/templates/memory-convention.yaml +0 -17
- package/framework/templates/memory-decision.yaml +0 -16
- package/framework/templates/migration-plan.md +0 -47
- package/framework/templates/optimization-plan.md +0 -59
- package/framework/templates/performance-profile.md +0 -64
- package/framework/templates/personas.md +0 -118
- package/framework/templates/postmortem.md +0 -69
- package/framework/templates/pr-review.md +0 -50
- package/framework/templates/prd.md +0 -92
- package/framework/templates/refactor-scope.md +0 -52
- package/framework/templates/release-readiness.md +0 -66
- package/framework/templates/retro.yaml +0 -44
- package/framework/templates/risks.md +0 -64
- package/framework/templates/security.md +0 -111
- package/framework/templates/sprint-review.md +0 -32
- package/framework/templates/story.md +0 -53
- package/framework/templates/threat-model.md +0 -71
- package/framework/templates/ux-spec.md +0 -71
- package/framework/templates/vulnerability-report.md +0 -56
- package/framework/templates/workspace-brief.md +0 -52
- package/framework/templates/workspace-plan.md +0 -50
- package/framework/workflows/discover-only.md +0 -39
- package/framework/workflows/full-lifecycle.md +0 -56
- package/framework/workflows/quick-feature.md +0 -44
- package/framework/workflows/sprint-cycle.md +0 -47
- package/framework/workflows/workspace-feature.md +0 -71
|
@@ -1,481 +0,0 @@
|
|
|
1
|
-
# /sniper-status -- Show Lifecycle Status and Artifact State
|
|
2
|
-
|
|
3
|
-
You are executing the `/sniper-status` command. Your job is to read the current project state and display a comprehensive, formatted status report. This is a READ-ONLY command -- do NOT modify any files.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Step 0: Pre-Flight -- Read Configuration
|
|
8
|
-
|
|
9
|
-
1. Read `.sniper/config.yaml`
|
|
10
|
-
2. If the file does not exist:
|
|
11
|
-
```
|
|
12
|
-
ERROR: .sniper/config.yaml not found.
|
|
13
|
-
SNIPER has not been initialized in this project.
|
|
14
|
-
Run /sniper-init to set up the framework.
|
|
15
|
-
```
|
|
16
|
-
Then STOP.
|
|
17
|
-
3. If the file exists but `project.name` is empty:
|
|
18
|
-
```
|
|
19
|
-
WARNING: SNIPER config exists but project name is not set.
|
|
20
|
-
The framework may be partially initialized. Run /sniper-init to complete setup.
|
|
21
|
-
```
|
|
22
|
-
Continue anyway and show what is available.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Step 1: Read Project Identity
|
|
27
|
-
|
|
28
|
-
Extract from config.yaml:
|
|
29
|
-
- `project.name`
|
|
30
|
-
- `project.type`
|
|
31
|
-
- `project.description`
|
|
32
|
-
- `stack` (all fields)
|
|
33
|
-
- `domain_pack`
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Step 2: Read Lifecycle State
|
|
38
|
-
|
|
39
|
-
Extract from config.yaml:
|
|
40
|
-
- `state.phase_log` (array of phase entries with context, started_at, completed_at)
|
|
41
|
-
- `state.current_sprint`
|
|
42
|
-
- `state.artifacts` (status and version of each artifact)
|
|
43
|
-
- `state.features` (array of feature lifecycle entries, if any)
|
|
44
|
-
- `state.bugs` (array of bug tracking entries, if any)
|
|
45
|
-
- `state.refactors` (array of refactor tracking entries, if any)
|
|
46
|
-
- `state.reviews` (array of review entries, if any)
|
|
47
|
-
- `state.test_audits` (array of test audit entries, if any)
|
|
48
|
-
- `state.security_audits` (array of security audit entries, if any)
|
|
49
|
-
- `state.perf_audits` (array of performance audit entries, if any)
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Step 3: Check Artifact Files on Disk
|
|
54
|
-
|
|
55
|
-
For each artifact, check whether the actual file exists on disk and has content. Compare the file-on-disk status with the state recorded in config.yaml:
|
|
56
|
-
|
|
57
|
-
| Artifact | Config Key | Expected Path(s) |
|
|
58
|
-
|--------------|-----------------|-------------------------------------|
|
|
59
|
-
| Brief | `brief` | `docs/brief.md` |
|
|
60
|
-
| PRD | `prd` | `docs/prd.md` |
|
|
61
|
-
| Architecture | `architecture` | `docs/architecture.md` |
|
|
62
|
-
| UX Spec | `ux_spec` | `docs/ux-spec.md` |
|
|
63
|
-
| Security | `security` | `docs/security.md` |
|
|
64
|
-
| Epics | `epics` | `docs/epics/*.md` |
|
|
65
|
-
| Stories | `stories` | `docs/stories/*.md` |
|
|
66
|
-
| Risks | `risks` | `docs/risks.md` |
|
|
67
|
-
| Personas | `personas` | `docs/personas.md` |
|
|
68
|
-
| Conventions | `conventions` | `docs/conventions.md` |
|
|
69
|
-
|
|
70
|
-
For epics and stories, count the number of `.md` files in the directory.
|
|
71
|
-
|
|
72
|
-
Determine each artifact's effective status:
|
|
73
|
-
- `missing` -- file does not exist on disk
|
|
74
|
-
- `empty` -- file exists but has no substantive content (only template markers)
|
|
75
|
-
- `draft` -- file exists with content, config says draft or null
|
|
76
|
-
- `approved` -- config says approved
|
|
77
|
-
- `out of sync` -- config says one status but disk state contradicts it (e.g., config says approved but file is missing)
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Step 4: Read Sprint Details (if applicable)
|
|
82
|
-
|
|
83
|
-
If `state.current_phase` is `sprint` or if `state.current_sprint` > 0:
|
|
84
|
-
|
|
85
|
-
1. Check for story files in `docs/stories/`
|
|
86
|
-
2. For each story file, read its header to determine status:
|
|
87
|
-
- Look for status markers in the story content (e.g., `Status: complete`, `Status: in-progress`, `Status: pending`)
|
|
88
|
-
- If no status marker, assume `pending`
|
|
89
|
-
3. Count stories by status
|
|
90
|
-
4. Check for any stories assigned to the current sprint
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Step 5: Read Review Gate Configuration
|
|
95
|
-
|
|
96
|
-
Extract `review_gates` from config.yaml:
|
|
97
|
-
- `after_discover`
|
|
98
|
-
- `after_plan`
|
|
99
|
-
- `after_solve`
|
|
100
|
-
- `after_sprint`
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Step 6: Compute Progress Estimate
|
|
105
|
-
|
|
106
|
-
Based on the current state, estimate overall progress:
|
|
107
|
-
|
|
108
|
-
| State | Progress |
|
|
109
|
-
|-------------------------------------|-------------------|
|
|
110
|
-
| No phase started | 0% -- Not started |
|
|
111
|
-
| discover phase active | 5-15% |
|
|
112
|
-
| discover complete, plan active | 15-35% |
|
|
113
|
-
| plan complete, solve active | 35-45% |
|
|
114
|
-
| solve complete, sprint active | 45-90% |
|
|
115
|
-
| All stories complete | 90-100% |
|
|
116
|
-
|
|
117
|
-
For sprint phase, calculate more precisely:
|
|
118
|
-
- Count total stories
|
|
119
|
-
- Count completed stories
|
|
120
|
-
- Sprint progress = (completed / total) as a percentage of the 45-90% range
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Step 7: Display Status Report
|
|
125
|
-
|
|
126
|
-
Print the following formatted report. Use the actual values from the steps above.
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
============================================
|
|
130
|
-
SNIPER Status Report
|
|
131
|
-
============================================
|
|
132
|
-
|
|
133
|
-
Project: {name}
|
|
134
|
-
Type: {type}
|
|
135
|
-
Description: {description}
|
|
136
|
-
Domain Pack: {domain_pack or "none"}
|
|
137
|
-
|
|
138
|
-
--------------------------------------------
|
|
139
|
-
Lifecycle Phase
|
|
140
|
-
--------------------------------------------
|
|
141
|
-
|
|
142
|
-
Current Phase: {active phase from phase_log or "NOT STARTED"}
|
|
143
|
-
Sprint: {current_sprint or "N/A"}
|
|
144
|
-
Progress: {estimated_progress}
|
|
145
|
-
|
|
146
|
-
Phase Log (most recent first):
|
|
147
|
-
{For each entry in phase_log, most recent first:}
|
|
148
|
-
{[x] if completed, [>] if active} {phase} ({context}) {started_at} - {completed_at or "in progress"}
|
|
149
|
-
|
|
150
|
-
{If phase_log is empty:}
|
|
151
|
-
No phases started yet.
|
|
152
|
-
|
|
153
|
-
Standard Phase Progression:
|
|
154
|
-
[ ] ingest -- Ingest existing codebase (optional, for existing projects)
|
|
155
|
-
[ ] discover -- Discovery & Analysis
|
|
156
|
-
[ ] plan -- Planning & Architecture
|
|
157
|
-
[ ] solve -- Epic Sharding & Story Creation
|
|
158
|
-
[ ] sprint -- Implementation Sprint
|
|
159
|
-
|
|
160
|
-
Use [x] for completed phases, [>] for the active phase, [ ] for not yet run.
|
|
161
|
-
Note: Phases can be run multiple times. The phase log shows all executions.
|
|
162
|
-
|
|
163
|
-
--------------------------------------------
|
|
164
|
-
Phase History (from phase_log)
|
|
165
|
-
--------------------------------------------
|
|
166
|
-
|
|
167
|
-
{For each entry in phase_log:}
|
|
168
|
-
Phase: {phase} Context: {context}
|
|
169
|
-
Started: {started_at}
|
|
170
|
-
Completed: {completed_at or "in progress"}
|
|
171
|
-
Approved by: {approved_by or "pending"}
|
|
172
|
-
|
|
173
|
-
{If phase_log is empty:}
|
|
174
|
-
No phases started yet.
|
|
175
|
-
|
|
176
|
-
--------------------------------------------
|
|
177
|
-
Artifacts
|
|
178
|
-
--------------------------------------------
|
|
179
|
-
|
|
180
|
-
| Artifact | Status | Version | On Disk | Path |
|
|
181
|
-
|---------------|--------|---------|----------------|--------------------------|
|
|
182
|
-
| Brief | {s} | v{n} | {disk_status} | docs/brief.md |
|
|
183
|
-
| Risks | {s} | v{n} | {disk_status} | docs/risks.md |
|
|
184
|
-
| Personas | {s} | v{n} | {disk_status} | docs/personas.md |
|
|
185
|
-
| PRD | {s} | v{n} | {disk_status} | docs/prd.md |
|
|
186
|
-
| Architecture | {s} | v{n} | {disk_status} | docs/architecture.md |
|
|
187
|
-
| UX Spec | {s} | v{n} | {disk_status} | docs/ux-spec.md |
|
|
188
|
-
| Security | {s} | v{n} | {disk_status} | docs/security.md |
|
|
189
|
-
| Conventions | {s} | v{n} | {disk_status} | docs/conventions.md |
|
|
190
|
-
| Epics | {s} | v{n} | {count} files | docs/epics/ |
|
|
191
|
-
| Stories | {s} | v{n} | {count} files | docs/stories/ |
|
|
192
|
-
|
|
193
|
-
For "Status" show: null, draft, approved (from state.artifacts.{key}.status)
|
|
194
|
-
For "Version" show: v0 if never produced, v1+, from state.artifacts.{key}.version
|
|
195
|
-
For "On Disk" show: missing, empty, has content, {N} files
|
|
196
|
-
|
|
197
|
-
--------------------------------------------
|
|
198
|
-
Sprint Details
|
|
199
|
-
--------------------------------------------
|
|
200
|
-
|
|
201
|
-
{If in sprint phase or current_sprint > 0:}
|
|
202
|
-
|
|
203
|
-
Sprint #{current_sprint}
|
|
204
|
-
|
|
205
|
-
| Story | Status | Complexity | Owner |
|
|
206
|
-
|-------------------------|-------------|------------|----------|
|
|
207
|
-
| {story_name} | {status} | {S/M/L/XL} | {owner} |
|
|
208
|
-
| ... | ... | ... | ... |
|
|
209
|
-
|
|
210
|
-
Progress: {completed}/{total} stories ({percentage}%)
|
|
211
|
-
|
|
212
|
-
{If not in sprint phase:}
|
|
213
|
-
No active sprint.
|
|
214
|
-
|
|
215
|
-
--------------------------------------------
|
|
216
|
-
Features
|
|
217
|
-
--------------------------------------------
|
|
218
|
-
|
|
219
|
-
{If state.features has entries:}
|
|
220
|
-
|
|
221
|
-
Active Features:
|
|
222
|
-
| ID | Feature | Phase | Progress |
|
|
223
|
-
|----|---------|-------|----------|
|
|
224
|
-
| SNPR-{XXXX} | {title} | {phase} | {stories_complete}/{stories_total} stories |
|
|
225
|
-
| ... | ... | ... | ... |
|
|
226
|
-
|
|
227
|
-
Completed Features:
|
|
228
|
-
| ID | Feature | Completed | Stories |
|
|
229
|
-
|----|---------|-----------|---------|
|
|
230
|
-
| SNPR-{XXXX} | {title} | {completed_at} | {stories_total} |
|
|
231
|
-
| ... | ... | ... | ... |
|
|
232
|
-
|
|
233
|
-
Total: {active count} active, {completed count} completed
|
|
234
|
-
|
|
235
|
-
{If state.features is empty:}
|
|
236
|
-
No features started. Run /sniper-feature to add an incremental feature.
|
|
237
|
-
|
|
238
|
-
--------------------------------------------
|
|
239
|
-
Bugs
|
|
240
|
-
--------------------------------------------
|
|
241
|
-
|
|
242
|
-
{If state.bugs has entries:}
|
|
243
|
-
|
|
244
|
-
Active Bugs:
|
|
245
|
-
| ID | Bug | Severity | Status |
|
|
246
|
-
|----|-----|----------|--------|
|
|
247
|
-
| BUG-{NNN} | {title} | {severity} | {status} |
|
|
248
|
-
|
|
249
|
-
Resolved Bugs:
|
|
250
|
-
| ID | Bug | Severity | Resolved | Root Cause |
|
|
251
|
-
|----|-----|----------|----------|------------|
|
|
252
|
-
| BUG-{NNN} | {title} | {severity} | {resolved_at} | {root_cause} |
|
|
253
|
-
|
|
254
|
-
{If state.bugs is empty:}
|
|
255
|
-
No bugs tracked. Run /sniper-debug to investigate a bug.
|
|
256
|
-
|
|
257
|
-
--------------------------------------------
|
|
258
|
-
Refactors
|
|
259
|
-
--------------------------------------------
|
|
260
|
-
|
|
261
|
-
{If state.refactors has entries:}
|
|
262
|
-
|
|
263
|
-
Active Refactors:
|
|
264
|
-
| ID | Refactor | Status | Progress |
|
|
265
|
-
|----|----------|--------|----------|
|
|
266
|
-
| REF-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
|
|
267
|
-
|
|
268
|
-
Completed Refactors:
|
|
269
|
-
| ID | Refactor | Completed |
|
|
270
|
-
|----|----------|-----------|
|
|
271
|
-
| REF-{NNN} | {title} | {completed_at} |
|
|
272
|
-
|
|
273
|
-
{If state.refactors is empty:}
|
|
274
|
-
No refactors tracked. Run /sniper-audit --target refactor to start one.
|
|
275
|
-
|
|
276
|
-
--------------------------------------------
|
|
277
|
-
Reviews
|
|
278
|
-
--------------------------------------------
|
|
279
|
-
|
|
280
|
-
{If state.reviews has entries:}
|
|
281
|
-
|
|
282
|
-
Recent Reviews:
|
|
283
|
-
| ID | Type | Target | Recommendation | Date |
|
|
284
|
-
|----|------|--------|---------------|------|
|
|
285
|
-
| {id} | {pr/release} | {target} | {recommendation} | {created_at} |
|
|
286
|
-
|
|
287
|
-
{If state.reviews is empty:}
|
|
288
|
-
No reviews tracked. Run /sniper-audit --target review to review a PR or release.
|
|
289
|
-
|
|
290
|
-
--------------------------------------------
|
|
291
|
-
Test Audits
|
|
292
|
-
--------------------------------------------
|
|
293
|
-
|
|
294
|
-
{If state.test_audits has entries:}
|
|
295
|
-
|
|
296
|
-
Active Test Audits:
|
|
297
|
-
| ID | Audit | Status | Progress |
|
|
298
|
-
|----|-------|--------|----------|
|
|
299
|
-
| TST-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
|
|
300
|
-
|
|
301
|
-
Completed Test Audits:
|
|
302
|
-
| ID | Audit | Completed | Stories |
|
|
303
|
-
|----|-------|-----------|---------|
|
|
304
|
-
| TST-{NNN} | {title} | {completed_at} | {stories_total} |
|
|
305
|
-
|
|
306
|
-
{If state.test_audits is empty:}
|
|
307
|
-
No test audits tracked. Run /sniper-audit --target tests to analyze test quality.
|
|
308
|
-
|
|
309
|
-
--------------------------------------------
|
|
310
|
-
Security Audits
|
|
311
|
-
--------------------------------------------
|
|
312
|
-
|
|
313
|
-
{If state.security_audits has entries:}
|
|
314
|
-
|
|
315
|
-
Active Security Audits:
|
|
316
|
-
| ID | Audit | Status | Findings | Progress |
|
|
317
|
-
|----|-------|--------|----------|----------|
|
|
318
|
-
| SEC-{NNN} | {title} | {status} | {critical}C {high}H {medium}M {low}L | {stories_complete}/{stories_total} stories |
|
|
319
|
-
|
|
320
|
-
Completed Security Audits:
|
|
321
|
-
| ID | Audit | Completed | Findings | Stories |
|
|
322
|
-
|----|-------|-----------|----------|---------|
|
|
323
|
-
| SEC-{NNN} | {title} | {completed_at} | {critical}C {high}H | {stories_total} |
|
|
324
|
-
|
|
325
|
-
{If state.security_audits is empty:}
|
|
326
|
-
No security audits tracked. Run /sniper-audit --target security to audit security.
|
|
327
|
-
|
|
328
|
-
--------------------------------------------
|
|
329
|
-
Performance Audits
|
|
330
|
-
--------------------------------------------
|
|
331
|
-
|
|
332
|
-
{If state.perf_audits has entries:}
|
|
333
|
-
|
|
334
|
-
Active Performance Audits:
|
|
335
|
-
| ID | Audit | Status | Progress |
|
|
336
|
-
|----|-------|--------|----------|
|
|
337
|
-
| PERF-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
|
|
338
|
-
|
|
339
|
-
Completed Performance Audits:
|
|
340
|
-
| ID | Audit | Completed | Stories |
|
|
341
|
-
|----|-------|-----------|---------|
|
|
342
|
-
| PERF-{NNN} | {title} | {completed_at} | {stories_total} |
|
|
343
|
-
|
|
344
|
-
{If state.perf_audits is empty:}
|
|
345
|
-
No performance audits tracked. Run /sniper-audit --target performance to profile performance.
|
|
346
|
-
|
|
347
|
-
--------------------------------------------
|
|
348
|
-
Memory
|
|
349
|
-
--------------------------------------------
|
|
350
|
-
|
|
351
|
-
{If .sniper/memory/ directory exists:}
|
|
352
|
-
|
|
353
|
-
Memory:
|
|
354
|
-
Conventions: {N} confirmed, {M} candidates
|
|
355
|
-
Anti-Patterns: {N} confirmed, {M} candidates
|
|
356
|
-
Decisions: {N} active, {M} superseded
|
|
357
|
-
Retrospectives: {N} (latest: Sprint {X}, {date})
|
|
358
|
-
|
|
359
|
-
{If .sniper/memory/ does not exist:}
|
|
360
|
-
Memory: not initialized (run /sniper-memory to set up)
|
|
361
|
-
|
|
362
|
-
{If workspace memory is configured:}
|
|
363
|
-
Workspace Memory:
|
|
364
|
-
Conventions: {N}
|
|
365
|
-
Anti-Patterns: {N}
|
|
366
|
-
Decisions: {N}
|
|
367
|
-
|
|
368
|
-
--------------------------------------------
|
|
369
|
-
Review Gates
|
|
370
|
-
--------------------------------------------
|
|
371
|
-
|
|
372
|
-
| Gate | Mode | Status |
|
|
373
|
-
|-----------------|------------|---------------------------|
|
|
374
|
-
| after_ingest | {mode} | {passed/pending/N/A} |
|
|
375
|
-
| after_discover | {mode} | {passed/pending/N/A} |
|
|
376
|
-
| after_plan | {mode} | {passed/pending/N/A} |
|
|
377
|
-
| after_solve | {mode} | {passed/pending/N/A} |
|
|
378
|
-
| after_sprint | {mode} | {passed/pending/N/A} |
|
|
379
|
-
|
|
380
|
-
Legend:
|
|
381
|
-
strict = Human must explicitly approve before advancing
|
|
382
|
-
flexible = Auto-advance, human reviews async
|
|
383
|
-
auto = No review required
|
|
384
|
-
|
|
385
|
-
--------------------------------------------
|
|
386
|
-
Tech Stack
|
|
387
|
-
--------------------------------------------
|
|
388
|
-
|
|
389
|
-
Language: {language}
|
|
390
|
-
Frontend: {frontend}
|
|
391
|
-
Backend: {backend}
|
|
392
|
-
Database: {database}
|
|
393
|
-
Cache: {cache}
|
|
394
|
-
Infrastructure: {infrastructure}
|
|
395
|
-
Test Runner: {test_runner}
|
|
396
|
-
Package Manager: {package_manager}
|
|
397
|
-
|
|
398
|
-
============================================
|
|
399
|
-
What's Next
|
|
400
|
-
============================================
|
|
401
|
-
|
|
402
|
-
{Generate contextual next-step suggestions based on current state:}
|
|
403
|
-
|
|
404
|
-
{If not started:}
|
|
405
|
-
-> Run /sniper-ingest to bootstrap artifacts from an existing codebase
|
|
406
|
-
-> Run /sniper-discover to begin Phase 1: Discovery & Analysis (for new projects)
|
|
407
|
-
|
|
408
|
-
{If in ingest phase:}
|
|
409
|
-
-> Ingestion is in progress. When complete, run /sniper-review to evaluate artifacts.
|
|
410
|
-
|
|
411
|
-
{If ingest complete:}
|
|
412
|
-
-> Run /sniper-feature to add incremental features using ingested artifacts
|
|
413
|
-
-> Run /sniper-discover to begin Phase 1: Discovery & Analysis
|
|
414
|
-
-> Run /sniper-audit to audit the codebase
|
|
415
|
-
|
|
416
|
-
{If in discover phase:}
|
|
417
|
-
-> Discovery is in progress. When complete, run /sniper-review to evaluate artifacts.
|
|
418
|
-
|
|
419
|
-
{If discover complete, plan not started:}
|
|
420
|
-
-> Run /sniper-plan to begin Phase 2: Planning & Architecture
|
|
421
|
-
|
|
422
|
-
{If in plan phase:}
|
|
423
|
-
-> Planning is in progress. When complete, run /sniper-review to evaluate artifacts.
|
|
424
|
-
-> Note: This gate is STRICT -- human approval required.
|
|
425
|
-
|
|
426
|
-
{If plan complete, solve not started:}
|
|
427
|
-
-> Run /sniper-solve to begin Phase 3: Epic Sharding & Story Creation
|
|
428
|
-
|
|
429
|
-
{If in solve phase:}
|
|
430
|
-
-> Story creation is in progress. When complete, run /sniper-review to evaluate stories.
|
|
431
|
-
|
|
432
|
-
{If solve complete, sprint not started:}
|
|
433
|
-
-> Run /sniper-sprint to begin Phase 4: Implementation Sprint
|
|
434
|
-
|
|
435
|
-
{If in sprint phase:}
|
|
436
|
-
-> Sprint #{N} is in progress. {completed}/{total} stories complete.
|
|
437
|
-
-> When all sprint stories are done, run /sniper-review to evaluate the sprint.
|
|
438
|
-
|
|
439
|
-
{If there are active bugs:}
|
|
440
|
-
-> {count} active bug(s). Run /sniper-debug --list to see details.
|
|
441
|
-
|
|
442
|
-
{If there are active refactors:}
|
|
443
|
-
-> {count} active refactor(s). Run /sniper-audit --target refactor --list to see details.
|
|
444
|
-
|
|
445
|
-
{If there are active features:}
|
|
446
|
-
-> {count} active feature(s). Run /sniper-feature --list to see details.
|
|
447
|
-
|
|
448
|
-
{If there are active test audits:}
|
|
449
|
-
-> {count} active test audit(s). Run /sniper-audit --target tests --list to see details.
|
|
450
|
-
|
|
451
|
-
{If there are active security audits:}
|
|
452
|
-
-> {count} active security audit(s). Run /sniper-audit --target security --list to see details.
|
|
453
|
-
|
|
454
|
-
{If there are active performance audits:}
|
|
455
|
-
-> {count} active performance audit(s). Run /sniper-audit --target performance --list to see details.
|
|
456
|
-
|
|
457
|
-
{Always show these as available commands:}
|
|
458
|
-
-> Run /sniper-debug to investigate a production bug
|
|
459
|
-
-> Run /sniper-audit --target review --pr {N} to review a pull request
|
|
460
|
-
-> Run /sniper-audit --target refactor to plan a large refactoring
|
|
461
|
-
-> Run /sniper-audit --target tests to analyze test quality
|
|
462
|
-
-> Run /sniper-audit --target security to audit security
|
|
463
|
-
-> Run /sniper-audit --target performance to profile performance
|
|
464
|
-
|
|
465
|
-
{If there are out-of-sync artifacts:}
|
|
466
|
-
-> WARNING: Some artifacts are out of sync between config and disk. Review the artifacts table above.
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
---
|
|
470
|
-
|
|
471
|
-
## IMPORTANT RULES
|
|
472
|
-
|
|
473
|
-
- This is a READ-ONLY command. Do NOT modify any files whatsoever.
|
|
474
|
-
- Do NOT modify `.sniper/config.yaml` -- only read it.
|
|
475
|
-
- Do NOT modify any artifact files -- only check their existence and read their headers.
|
|
476
|
-
- If config.yaml is malformed, report what you can read and note the parsing errors.
|
|
477
|
-
- Show ALL sections of the report even if some are empty -- use the "not started" / "N/A" defaults.
|
|
478
|
-
- Be precise about dates -- use the actual dates from phase_history, do not fabricate dates.
|
|
479
|
-
- For the progress estimate, be conservative -- do not overstate progress.
|
|
480
|
-
- If story files exist but have no status markers, default to "pending" and note the assumption.
|
|
481
|
-
- Always end with the contextual "What's Next" section to guide the user.
|