@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,111 +0,0 @@
|
|
|
1
|
-
# Security Assessment: {project_name}
|
|
2
|
-
|
|
3
|
-
> **Version:** 1
|
|
4
|
-
> **Status:** Draft
|
|
5
|
-
> **Last Updated:** {date}
|
|
6
|
-
> **Author:** Planning Team — Security Analyst
|
|
7
|
-
> **Change Log:**
|
|
8
|
-
> - v1 ({date}): Initial version
|
|
9
|
-
|
|
10
|
-
## Security Overview
|
|
11
|
-
<!-- sniper:managed:overview:start -->
|
|
12
|
-
<!-- 2-3 sentence summary of the project's security posture and key concerns -->
|
|
13
|
-
<!-- sniper:managed:overview:end -->
|
|
14
|
-
|
|
15
|
-
## Authentication & Authorization
|
|
16
|
-
|
|
17
|
-
<!-- sniper:managed:auth:start -->
|
|
18
|
-
### Authentication Model
|
|
19
|
-
<!-- OAuth 2.0 / JWT / Session-based / API Keys / Multi-factor -->
|
|
20
|
-
|
|
21
|
-
### Authorization Model
|
|
22
|
-
<!-- RBAC / ABAC / ACL — describe roles, permissions, and access levels -->
|
|
23
|
-
|
|
24
|
-
### Session Management
|
|
25
|
-
<!-- Token lifecycle, refresh strategy, revocation, concurrent sessions -->
|
|
26
|
-
<!-- sniper:managed:auth:end -->
|
|
27
|
-
|
|
28
|
-
## Data Security
|
|
29
|
-
|
|
30
|
-
<!-- sniper:managed:data-security:start -->
|
|
31
|
-
### Data Classification
|
|
32
|
-
| Data Type | Classification | Storage | Encryption | Retention |
|
|
33
|
-
|-----------|---------------|---------|------------|-----------|
|
|
34
|
-
| | | | | |
|
|
35
|
-
|
|
36
|
-
### Encryption Requirements
|
|
37
|
-
- **At Rest:** <!-- AES-256, database-level, field-level -->
|
|
38
|
-
- **In Transit:** <!-- TLS 1.3, certificate pinning -->
|
|
39
|
-
- **Key Management:** <!-- KMS, rotation policy -->
|
|
40
|
-
|
|
41
|
-
### PII Handling
|
|
42
|
-
<!-- What PII is collected, how it's stored, who can access it, deletion policy -->
|
|
43
|
-
<!-- sniper:managed:data-security:end -->
|
|
44
|
-
|
|
45
|
-
## API Security
|
|
46
|
-
|
|
47
|
-
<!-- sniper:managed:api-security:start -->
|
|
48
|
-
### Input Validation
|
|
49
|
-
<!-- Validation strategy, sanitization, schema enforcement -->
|
|
50
|
-
|
|
51
|
-
### Rate Limiting
|
|
52
|
-
<!-- Per-endpoint limits, burst handling, API key tiers -->
|
|
53
|
-
|
|
54
|
-
### OWASP Top 10 Mitigations
|
|
55
|
-
| Vulnerability | Risk Level | Mitigation |
|
|
56
|
-
|--------------|-----------|------------|
|
|
57
|
-
| Injection | | |
|
|
58
|
-
| Broken Authentication | | |
|
|
59
|
-
| Sensitive Data Exposure | | |
|
|
60
|
-
| XML External Entities | | |
|
|
61
|
-
| Broken Access Control | | |
|
|
62
|
-
| Security Misconfiguration | | |
|
|
63
|
-
| Cross-Site Scripting | | |
|
|
64
|
-
| Insecure Deserialization | | |
|
|
65
|
-
| Known Vulnerabilities | | |
|
|
66
|
-
| Insufficient Logging | | |
|
|
67
|
-
<!-- sniper:managed:api-security:end -->
|
|
68
|
-
|
|
69
|
-
## Infrastructure Security
|
|
70
|
-
|
|
71
|
-
<!-- sniper:managed:infra-security:start -->
|
|
72
|
-
### Network Architecture
|
|
73
|
-
<!-- VPC, subnets, security groups, WAF, CDN -->
|
|
74
|
-
|
|
75
|
-
### Secrets Management
|
|
76
|
-
<!-- Vault, environment variables, rotation policy -->
|
|
77
|
-
|
|
78
|
-
### Logging & Monitoring
|
|
79
|
-
<!-- Security event logging, alerting, SIEM integration -->
|
|
80
|
-
<!-- sniper:managed:infra-security:end -->
|
|
81
|
-
|
|
82
|
-
## Compliance Requirements
|
|
83
|
-
<!-- sniper:managed:compliance:start -->
|
|
84
|
-
<!-- Applicable frameworks: SOC 2, GDPR, HIPAA, PCI-DSS, etc. -->
|
|
85
|
-
<!-- sniper:managed:compliance:end -->
|
|
86
|
-
|
|
87
|
-
## Threat Model
|
|
88
|
-
|
|
89
|
-
<!-- sniper:managed:threat-model:start -->
|
|
90
|
-
### Attack Surface
|
|
91
|
-
<!-- Entry points, trust boundaries, data flows -->
|
|
92
|
-
|
|
93
|
-
### Key Threats
|
|
94
|
-
| Threat | Likelihood | Impact | Mitigation |
|
|
95
|
-
|--------|-----------|--------|------------|
|
|
96
|
-
| | | | |
|
|
97
|
-
<!-- sniper:managed:threat-model:end -->
|
|
98
|
-
|
|
99
|
-
## Recommendations
|
|
100
|
-
<!-- sniper:managed:recommendations:start -->
|
|
101
|
-
<!-- Prioritized security recommendations for implementation -->
|
|
102
|
-
1.
|
|
103
|
-
2.
|
|
104
|
-
3.
|
|
105
|
-
<!-- sniper:managed:recommendations:end -->
|
|
106
|
-
|
|
107
|
-
## Open Questions
|
|
108
|
-
<!-- sniper:managed:open-questions:start -->
|
|
109
|
-
1.
|
|
110
|
-
2.
|
|
111
|
-
<!-- sniper:managed:open-questions:end -->
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Sprint {number} Review
|
|
2
|
-
|
|
3
|
-
> **Date:** {date}
|
|
4
|
-
> **Stories Completed:** {count}/{total}
|
|
5
|
-
> **Team:** {teammate list}
|
|
6
|
-
|
|
7
|
-
## Stories Delivered
|
|
8
|
-
| Story | Status | Notes |
|
|
9
|
-
|-------|--------|-------|
|
|
10
|
-
| | Complete / Partial / Blocked | |
|
|
11
|
-
|
|
12
|
-
## Test Results
|
|
13
|
-
- **Tests passed:** {count}
|
|
14
|
-
- **Tests failed:** {count}
|
|
15
|
-
- **Coverage:** {percentage}
|
|
16
|
-
|
|
17
|
-
## Code Quality
|
|
18
|
-
- Linting: Pass / Fail
|
|
19
|
-
- Type checking: Pass / Fail
|
|
20
|
-
- Security scan: Pass / Fail
|
|
21
|
-
|
|
22
|
-
## Technical Debt Introduced
|
|
23
|
-
<!-- Any shortcuts taken, refactoring needed, or known issues -->
|
|
24
|
-
|
|
25
|
-
## Blockers Encountered
|
|
26
|
-
<!-- What blocked progress and how it was resolved -->
|
|
27
|
-
|
|
28
|
-
## Lessons Learned
|
|
29
|
-
<!-- What went well, what didn't, what to change next sprint -->
|
|
30
|
-
|
|
31
|
-
## Next Sprint Candidates
|
|
32
|
-
<!-- Suggested stories for the next sprint -->
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Story {epic}.{number}: {title}
|
|
2
|
-
|
|
3
|
-
> **Version:** 1
|
|
4
|
-
> **Last Updated:** {date}
|
|
5
|
-
> **Epic:** {epic title} (`docs/epics/{epic}.md`)
|
|
6
|
-
> **Complexity:** S | M | L | XL
|
|
7
|
-
> **Priority:** P{0|1|2}
|
|
8
|
-
> **File Ownership:** {directories this story touches}
|
|
9
|
-
> **Dependencies:** {story dependencies or "None"}
|
|
10
|
-
> **Change Log:**
|
|
11
|
-
> - v1 ({date}): Initial version
|
|
12
|
-
|
|
13
|
-
## Description
|
|
14
|
-
<!-- sniper:managed:description:start -->
|
|
15
|
-
<!-- What this story implements, in user-facing terms -->
|
|
16
|
-
<!-- sniper:managed:description:end -->
|
|
17
|
-
|
|
18
|
-
## Embedded Context
|
|
19
|
-
|
|
20
|
-
<!-- sniper:managed:embedded-context:start -->
|
|
21
|
-
### From PRD
|
|
22
|
-
<!-- COPY the relevant requirements and user stories from docs/prd.md -->
|
|
23
|
-
|
|
24
|
-
### From Architecture
|
|
25
|
-
<!-- COPY the relevant architecture sections (data models, API contracts, patterns) -->
|
|
26
|
-
|
|
27
|
-
### From UX Spec
|
|
28
|
-
<!-- COPY relevant screen descriptions, user flows, component specs (if frontend story) -->
|
|
29
|
-
<!-- sniper:managed:embedded-context:end -->
|
|
30
|
-
|
|
31
|
-
## Acceptance Criteria
|
|
32
|
-
<!-- sniper:managed:acceptance-criteria:start -->
|
|
33
|
-
<!-- Testable assertions in Given/When/Then format -->
|
|
34
|
-
1. **Given** ... **When** ... **Then** ...
|
|
35
|
-
2. **Given** ... **When** ... **Then** ...
|
|
36
|
-
<!-- sniper:managed:acceptance-criteria:end -->
|
|
37
|
-
|
|
38
|
-
## Test Requirements
|
|
39
|
-
<!-- sniper:managed:test-requirements:start -->
|
|
40
|
-
- [ ] Unit tests:
|
|
41
|
-
- [ ] Integration tests:
|
|
42
|
-
- [ ] E2E tests (if applicable):
|
|
43
|
-
<!-- sniper:managed:test-requirements:end -->
|
|
44
|
-
|
|
45
|
-
## Implementation Notes
|
|
46
|
-
<!-- sniper:managed:implementation-notes:start -->
|
|
47
|
-
<!-- Specific patterns, libraries, or approaches to use -->
|
|
48
|
-
<!-- sniper:managed:implementation-notes:end -->
|
|
49
|
-
|
|
50
|
-
## Out of Scope
|
|
51
|
-
<!-- sniper:managed:out-of-scope:start -->
|
|
52
|
-
<!-- What this story does NOT include, to prevent scope creep -->
|
|
53
|
-
<!-- sniper:managed:out-of-scope:end -->
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Threat Model: {title}
|
|
2
|
-
|
|
3
|
-
> **Audit ID:** SEC-{NNN}
|
|
4
|
-
> **Status:** Analyzing
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Threat Modeler
|
|
7
|
-
|
|
8
|
-
## Attack Surface Map
|
|
9
|
-
<!-- sniper:managed:attack-surface:start -->
|
|
10
|
-
<!-- All entry points with authentication requirements -->
|
|
11
|
-
|
|
12
|
-
| Entry Point | Type | Auth Required | Auth Method | Notes |
|
|
13
|
-
|------------|------|--------------|-------------|-------|
|
|
14
|
-
| | API / Webhook / Upload / Admin / WebSocket | Yes/No | JWT/Session/API Key/None | |
|
|
15
|
-
|
|
16
|
-
<!-- sniper:managed:attack-surface:end -->
|
|
17
|
-
|
|
18
|
-
## Trust Boundaries
|
|
19
|
-
<!-- sniper:managed:trust-boundaries:start -->
|
|
20
|
-
<!-- Where authenticated/unauthenticated, internal/external, user/admin boundaries exist -->
|
|
21
|
-
|
|
22
|
-
### Boundary: {name}
|
|
23
|
-
- **Separates:** {trusted side} ↔ {untrusted side}
|
|
24
|
-
- **Enforced by:** {mechanism — middleware, firewall, etc.}
|
|
25
|
-
- **Data crossing:** {what data crosses this boundary}
|
|
26
|
-
|
|
27
|
-
<!-- sniper:managed:trust-boundaries:end -->
|
|
28
|
-
|
|
29
|
-
## Data Classification
|
|
30
|
-
<!-- sniper:managed:data-classification:start -->
|
|
31
|
-
|
|
32
|
-
| Data Type | Classification | Stored In | Encrypted at Rest | Encrypted in Transit | Retention |
|
|
33
|
-
|-----------|---------------|-----------|-------------------|---------------------|-----------|
|
|
34
|
-
| | PII / Credentials / Financial / Internal | | Yes/No | Yes/No | |
|
|
35
|
-
|
|
36
|
-
<!-- sniper:managed:data-classification:end -->
|
|
37
|
-
|
|
38
|
-
## Threat Inventory (STRIDE)
|
|
39
|
-
<!-- sniper:managed:threat-inventory:start -->
|
|
40
|
-
|
|
41
|
-
### {Component/Flow Name}
|
|
42
|
-
|
|
43
|
-
| Category | Threat | Likelihood | Impact | Risk | Mitigation |
|
|
44
|
-
|----------|--------|-----------|--------|------|------------|
|
|
45
|
-
| Spoofing | | H/M/L | H/M/L | | |
|
|
46
|
-
| Tampering | | H/M/L | H/M/L | | |
|
|
47
|
-
| Repudiation | | H/M/L | H/M/L | | |
|
|
48
|
-
| Info Disclosure | | H/M/L | H/M/L | | |
|
|
49
|
-
| Denial of Service | | H/M/L | H/M/L | | |
|
|
50
|
-
| Elevation of Privilege | | H/M/L | H/M/L | | |
|
|
51
|
-
|
|
52
|
-
<!-- sniper:managed:threat-inventory:end -->
|
|
53
|
-
|
|
54
|
-
## Dependency Risk
|
|
55
|
-
<!-- sniper:managed:dependency-risk:start -->
|
|
56
|
-
|
|
57
|
-
| Package | Version | Known CVEs | Maintained | Risk Level |
|
|
58
|
-
|---------|---------|------------|------------|------------|
|
|
59
|
-
| | | Yes/No | Yes/No | High/Medium/Low |
|
|
60
|
-
|
|
61
|
-
<!-- sniper:managed:dependency-risk:end -->
|
|
62
|
-
|
|
63
|
-
## Priority Threats
|
|
64
|
-
<!-- sniper:managed:priority-threats:start -->
|
|
65
|
-
<!-- Top 5 threats ranked by likelihood x impact -->
|
|
66
|
-
|
|
67
|
-
| Rank | Threat | Component | Likelihood x Impact | Recommended Action |
|
|
68
|
-
|------|--------|-----------|--------------------|--------------------|
|
|
69
|
-
| 1 | | | | |
|
|
70
|
-
|
|
71
|
-
<!-- sniper:managed:priority-threats:end -->
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# UX Specification: {project_name}
|
|
2
|
-
|
|
3
|
-
> **Version:** 1
|
|
4
|
-
> **Status:** Draft
|
|
5
|
-
> **Last Updated:** {date}
|
|
6
|
-
> **Author:** Planning Team — UX Designer
|
|
7
|
-
> **Source:** `docs/prd.md`, `docs/personas.md`
|
|
8
|
-
> **Change Log:**
|
|
9
|
-
> - v1 ({date}): Initial version
|
|
10
|
-
|
|
11
|
-
## 1. Information Architecture
|
|
12
|
-
<!-- sniper:managed:information-architecture:start -->
|
|
13
|
-
<!-- Page hierarchy and navigation structure -->
|
|
14
|
-
<!-- sniper:managed:information-architecture:end -->
|
|
15
|
-
|
|
16
|
-
## 2. Screen Inventory
|
|
17
|
-
<!-- sniper:managed:screen-inventory:start -->
|
|
18
|
-
| Screen | Purpose | User Stories | Key Components |
|
|
19
|
-
|--------|---------|-------------|----------------|
|
|
20
|
-
| | | | |
|
|
21
|
-
<!-- sniper:managed:screen-inventory:end -->
|
|
22
|
-
|
|
23
|
-
## 3. User Flows
|
|
24
|
-
|
|
25
|
-
<!-- sniper:managed:user-flows:start -->
|
|
26
|
-
### 3.1 {Flow Name}
|
|
27
|
-
<!-- Step-by-step with decision points, error paths -->
|
|
28
|
-
```
|
|
29
|
-
Step 1: User does X
|
|
30
|
-
→ Success: Go to Step 2
|
|
31
|
-
→ Error: Show error message, stay on current screen
|
|
32
|
-
Step 2: ...
|
|
33
|
-
```
|
|
34
|
-
<!-- sniper:managed:user-flows:end -->
|
|
35
|
-
|
|
36
|
-
## 4. Component Hierarchy
|
|
37
|
-
<!-- sniper:managed:component-hierarchy:start -->
|
|
38
|
-
<!-- Reusable UI components and their variants -->
|
|
39
|
-
|
|
40
|
-
### 4.1 {Component Name}
|
|
41
|
-
- **States:** default, hover, active, disabled, loading, error
|
|
42
|
-
- **Props/Variants:**
|
|
43
|
-
- **Accessibility:**
|
|
44
|
-
<!-- sniper:managed:component-hierarchy:end -->
|
|
45
|
-
|
|
46
|
-
## 5. Interaction Patterns
|
|
47
|
-
<!-- sniper:managed:interaction-patterns:start -->
|
|
48
|
-
<!-- Loading states, transitions, empty states, error states -->
|
|
49
|
-
|
|
50
|
-
### Loading States
|
|
51
|
-
### Empty States
|
|
52
|
-
### Error States
|
|
53
|
-
### Confirmation Dialogs
|
|
54
|
-
<!-- sniper:managed:interaction-patterns:end -->
|
|
55
|
-
|
|
56
|
-
## 6. Responsive Strategy
|
|
57
|
-
<!-- sniper:managed:responsive:start -->
|
|
58
|
-
| Breakpoint | Width | Layout Changes |
|
|
59
|
-
|-----------|-------|---------------|
|
|
60
|
-
| Mobile | < 768px | |
|
|
61
|
-
| Tablet | 768-1024px | |
|
|
62
|
-
| Desktop | > 1024px | |
|
|
63
|
-
<!-- sniper:managed:responsive:end -->
|
|
64
|
-
|
|
65
|
-
## 7. Accessibility Requirements
|
|
66
|
-
<!-- sniper:managed:accessibility:start -->
|
|
67
|
-
- **WCAG Level:** AA
|
|
68
|
-
- **Keyboard Navigation:**
|
|
69
|
-
- **Screen Reader Support:**
|
|
70
|
-
- **Color Contrast:**
|
|
71
|
-
<!-- sniper:managed:accessibility:end -->
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Vulnerability Report: {title}
|
|
2
|
-
|
|
3
|
-
> **Audit ID:** SEC-{NNN}
|
|
4
|
-
> **Status:** Analyzing
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Vulnerability Scanner
|
|
7
|
-
|
|
8
|
-
## Findings Summary
|
|
9
|
-
<!-- sniper:managed:findings-summary:start -->
|
|
10
|
-
|
|
11
|
-
| Severity | Count |
|
|
12
|
-
|----------|-------|
|
|
13
|
-
| Critical | |
|
|
14
|
-
| High | |
|
|
15
|
-
| Medium | |
|
|
16
|
-
| Low | |
|
|
17
|
-
| **Total** | |
|
|
18
|
-
|
|
19
|
-
<!-- sniper:managed:findings-summary:end -->
|
|
20
|
-
|
|
21
|
-
## Vulnerability Inventory
|
|
22
|
-
<!-- sniper:managed:vulnerabilities:start -->
|
|
23
|
-
|
|
24
|
-
### VULN-001: {title}
|
|
25
|
-
- **Severity:** Critical / High / Medium / Low
|
|
26
|
-
- **Category:** {OWASP Top 10 category, e.g., A01:2021 Broken Access Control}
|
|
27
|
-
- **Location:** `path/to/file.ts:42`
|
|
28
|
-
- **Description:** {what the vulnerability is}
|
|
29
|
-
- **Evidence:** {the specific code pattern that creates the vulnerability}
|
|
30
|
-
- **Impact:** {what an attacker could achieve by exploiting this}
|
|
31
|
-
- **Remediation:** {how to fix it}
|
|
32
|
-
```
|
|
33
|
-
// Example fix
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
<!-- sniper:managed:vulnerabilities:end -->
|
|
37
|
-
|
|
38
|
-
## Patterns of Concern
|
|
39
|
-
<!-- sniper:managed:patterns:start -->
|
|
40
|
-
<!-- Systemic issues that appear across multiple locations -->
|
|
41
|
-
|
|
42
|
-
### {Pattern Name}
|
|
43
|
-
- **Occurrences:** {count} locations
|
|
44
|
-
- **Description:** {what the pattern is and why it's concerning}
|
|
45
|
-
- **Locations:** {list of file:line references}
|
|
46
|
-
- **Systemic Fix:** {how to address this across the codebase}
|
|
47
|
-
|
|
48
|
-
<!-- sniper:managed:patterns:end -->
|
|
49
|
-
|
|
50
|
-
## Positive Findings
|
|
51
|
-
<!-- sniper:managed:positive:start -->
|
|
52
|
-
<!-- Security practices that are done well and should be maintained -->
|
|
53
|
-
|
|
54
|
-
- {Positive finding — e.g., "Consistent use of parameterized queries in `src/db/` layer"}
|
|
55
|
-
|
|
56
|
-
<!-- sniper:managed:positive:end -->
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Workspace Feature Brief: {feature_title}
|
|
2
|
-
|
|
3
|
-
> **ID:** WKSP-{XXXX}
|
|
4
|
-
> **Version:** 1
|
|
5
|
-
> **Status:** Draft
|
|
6
|
-
> **Last Updated:** {date}
|
|
7
|
-
> **Author:** Workspace Orchestrator
|
|
8
|
-
|
|
9
|
-
## Feature Description
|
|
10
|
-
<!-- sniper:managed:description:start -->
|
|
11
|
-
{One-paragraph description of the cross-repo feature}
|
|
12
|
-
<!-- sniper:managed:description:end -->
|
|
13
|
-
|
|
14
|
-
## Affected Repositories
|
|
15
|
-
<!-- sniper:managed:affected-repos:start -->
|
|
16
|
-
| Repository | Role | Why Affected | Work Scope |
|
|
17
|
-
|-----------|------|-------------|------------|
|
|
18
|
-
| | | | |
|
|
19
|
-
<!-- sniper:managed:affected-repos:end -->
|
|
20
|
-
|
|
21
|
-
## New Interfaces
|
|
22
|
-
<!-- sniper:managed:new-interfaces:start -->
|
|
23
|
-
| Interface | Type | Between | Description |
|
|
24
|
-
|-----------|------|---------|-------------|
|
|
25
|
-
| | REST API / Shared Type / Event | repo-a ↔ repo-b | |
|
|
26
|
-
<!-- sniper:managed:new-interfaces:end -->
|
|
27
|
-
|
|
28
|
-
## Modified Interfaces
|
|
29
|
-
<!-- sniper:managed:modified-interfaces:start -->
|
|
30
|
-
| Contract | Current Version | Change Description | Breaking? |
|
|
31
|
-
|----------|----------------|-------------------|-----------|
|
|
32
|
-
| | | | |
|
|
33
|
-
<!-- sniper:managed:modified-interfaces:end -->
|
|
34
|
-
|
|
35
|
-
## Dependency Ordering
|
|
36
|
-
<!-- sniper:managed:dependency-ordering:start -->
|
|
37
|
-
Based on the workspace dependency graph:
|
|
38
|
-
|
|
39
|
-
### Wave 1
|
|
40
|
-
- **{repo}** — {what it produces that others need}
|
|
41
|
-
|
|
42
|
-
### Wave 2
|
|
43
|
-
- **{repo}** — {depends on Wave 1 outputs}
|
|
44
|
-
|
|
45
|
-
### Wave 3
|
|
46
|
-
- **{repo}** — {depends on Wave 2 outputs}
|
|
47
|
-
<!-- sniper:managed:dependency-ordering:end -->
|
|
48
|
-
|
|
49
|
-
## Risks & Considerations
|
|
50
|
-
<!-- sniper:managed:risks:start -->
|
|
51
|
-
- {risk or consideration}
|
|
52
|
-
<!-- sniper:managed:risks:end -->
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Cross-Repo Implementation Plan: {feature_title}
|
|
2
|
-
|
|
3
|
-
> **Feature:** WKSP-{XXXX}
|
|
4
|
-
> **Version:** 1
|
|
5
|
-
> **Status:** Draft
|
|
6
|
-
> **Last Updated:** {date}
|
|
7
|
-
> **Author:** Workspace Orchestrator
|
|
8
|
-
> **Contracts:** {list of contract files}
|
|
9
|
-
|
|
10
|
-
## Per-Repo Work Breakdown
|
|
11
|
-
<!-- sniper:managed:repo-breakdown:start -->
|
|
12
|
-
|
|
13
|
-
### {repo-name} (Wave {N})
|
|
14
|
-
**Repo Feature ID:** SNPR-{XXXX}
|
|
15
|
-
**Stories:**
|
|
16
|
-
| Story | Description | Contract Refs |
|
|
17
|
-
|-------|-------------|---------------|
|
|
18
|
-
| | | |
|
|
19
|
-
|
|
20
|
-
**Dependencies from other repos:** {what this repo needs from previous waves}
|
|
21
|
-
**Produces for other repos:** {what this repo provides to subsequent waves}
|
|
22
|
-
|
|
23
|
-
<!-- sniper:managed:repo-breakdown:end -->
|
|
24
|
-
|
|
25
|
-
## Sprint Wave Ordering
|
|
26
|
-
<!-- sniper:managed:wave-ordering:start -->
|
|
27
|
-
| Wave | Repositories | Parallel? | Depends On |
|
|
28
|
-
|------|-------------|-----------|------------|
|
|
29
|
-
| 1 | | Yes | — |
|
|
30
|
-
| 2 | | | Wave 1 |
|
|
31
|
-
| 3 | | | Wave 2 |
|
|
32
|
-
<!-- sniper:managed:wave-ordering:end -->
|
|
33
|
-
|
|
34
|
-
## Integration Validation Criteria
|
|
35
|
-
<!-- sniper:managed:validation-criteria:start -->
|
|
36
|
-
### Between Wave 1 and Wave 2
|
|
37
|
-
- [ ] {contract item to validate}
|
|
38
|
-
|
|
39
|
-
### Between Wave 2 and Wave 3
|
|
40
|
-
- [ ] {contract item to validate}
|
|
41
|
-
|
|
42
|
-
### Final Integration
|
|
43
|
-
- [ ] {end-to-end check}
|
|
44
|
-
<!-- sniper:managed:validation-criteria:end -->
|
|
45
|
-
|
|
46
|
-
## Rollback Plan
|
|
47
|
-
<!-- sniper:managed:rollback:start -->
|
|
48
|
-
If integration validation fails at any wave boundary:
|
|
49
|
-
1. {step}
|
|
50
|
-
<!-- sniper:managed:rollback:end -->
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Discovery-Only Workflow
|
|
2
|
-
|
|
3
|
-
Run just the discovery phase for research and analysis.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
- Exploring a new project idea before committing
|
|
7
|
-
- Market research or competitive analysis
|
|
8
|
-
- Validating feasibility before full planning
|
|
9
|
-
- User research for an existing product
|
|
10
|
-
|
|
11
|
-
## Execution
|
|
12
|
-
|
|
13
|
-
### Step 1: Initialize (if not already done)
|
|
14
|
-
```
|
|
15
|
-
/sniper-init
|
|
16
|
-
```
|
|
17
|
-
Minimal config — just project name and description needed.
|
|
18
|
-
|
|
19
|
-
### Step 2: Run Discovery
|
|
20
|
-
```
|
|
21
|
-
/sniper-discover
|
|
22
|
-
```
|
|
23
|
-
- Spawns 3-teammate discovery team
|
|
24
|
-
- Produces: project brief, risk assessment, user personas
|
|
25
|
-
- Auto-advances (flexible gate)
|
|
26
|
-
|
|
27
|
-
### Step 3: Review Artifacts
|
|
28
|
-
```
|
|
29
|
-
/sniper-review
|
|
30
|
-
```
|
|
31
|
-
Review the discovery artifacts. Decide whether to:
|
|
32
|
-
- Proceed to full planning (`/sniper-plan`)
|
|
33
|
-
- Iterate on discovery (re-run `/sniper-discover` with feedback)
|
|
34
|
-
- Shelve the project (no further action needed)
|
|
35
|
-
|
|
36
|
-
## Notes
|
|
37
|
-
- Discovery artifacts are useful standalone — no need to continue the lifecycle
|
|
38
|
-
- Domain pack context improves discovery quality significantly
|
|
39
|
-
- The analyst teammate benefits from web search for competitive research
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Full Lifecycle Workflow
|
|
2
|
-
|
|
3
|
-
Run the complete SNIPER lifecycle from discovery through implementation.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
- New greenfield projects
|
|
7
|
-
- Major product rewrites
|
|
8
|
-
- Projects requiring full planning and governance
|
|
9
|
-
|
|
10
|
-
## Execution Order
|
|
11
|
-
|
|
12
|
-
### Step 1: Initialize
|
|
13
|
-
```
|
|
14
|
-
/sniper-init
|
|
15
|
-
```
|
|
16
|
-
Configure project name, type, stack, and domain pack.
|
|
17
|
-
|
|
18
|
-
### Step 2: Discover (Phase 1)
|
|
19
|
-
```
|
|
20
|
-
/sniper-discover
|
|
21
|
-
```
|
|
22
|
-
- Spawns 3-teammate discovery team (analyst, risk-researcher, user-researcher)
|
|
23
|
-
- Produces: `docs/brief.md`, `docs/risks.md`, `docs/personas.md`
|
|
24
|
-
- Gate: FLEXIBLE (auto-advance, review async)
|
|
25
|
-
|
|
26
|
-
### Step 3: Plan (Phase 2)
|
|
27
|
-
```
|
|
28
|
-
/sniper-plan
|
|
29
|
-
```
|
|
30
|
-
- Spawns 4-teammate planning team (PM, architect, UX, security)
|
|
31
|
-
- Uses Opus model for higher quality output
|
|
32
|
-
- Produces: `docs/prd.md`, `docs/architecture.md`, `docs/ux-spec.md`, `docs/security.md`
|
|
33
|
-
- Gate: STRICT — human MUST approve before proceeding
|
|
34
|
-
|
|
35
|
-
### Step 4: Solve (Phase 3)
|
|
36
|
-
```
|
|
37
|
-
/sniper-solve
|
|
38
|
-
```
|
|
39
|
-
- Single agent (scrum master) — NOT a team
|
|
40
|
-
- Produces: `docs/epics/*.md`, `docs/stories/*.md`
|
|
41
|
-
- Gate: FLEXIBLE (auto-advance, review async)
|
|
42
|
-
|
|
43
|
-
### Step 5: Sprint (Phase 4 — repeating)
|
|
44
|
-
```
|
|
45
|
-
/sniper-sprint
|
|
46
|
-
```
|
|
47
|
-
- Select stories for the sprint
|
|
48
|
-
- Spawns implementation team based on story requirements
|
|
49
|
-
- Produces: source code, tests
|
|
50
|
-
- Gate: STRICT — human reviews code before merge
|
|
51
|
-
- Repeat for each sprint until all stories are complete
|
|
52
|
-
|
|
53
|
-
## Recovery
|
|
54
|
-
- If any phase produces poor output, re-run the phase command
|
|
55
|
-
- Completed files persist on disk — only the conversation resets
|
|
56
|
-
- Sprint failures only affect the current sprint's stories
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Quick Feature Workflow
|
|
2
|
-
|
|
3
|
-
Fast-track a single feature without full lifecycle planning.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
- Adding a feature to an existing codebase
|
|
7
|
-
- Feature is well-understood and doesn't need discovery or planning
|
|
8
|
-
- Architecture already exists
|
|
9
|
-
- Just need implementation + tests
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
- Existing codebase with established patterns
|
|
13
|
-
- Clear feature requirements (from user, issue, or brief description)
|
|
14
|
-
- Architecture document or existing code to follow patterns from
|
|
15
|
-
|
|
16
|
-
## Execution
|
|
17
|
-
|
|
18
|
-
### Step 1: Write a Story
|
|
19
|
-
Either:
|
|
20
|
-
- Write a story file manually at `docs/stories/quick-{name}.md`
|
|
21
|
-
- Or describe the feature to the lead and have it generate a story using the template
|
|
22
|
-
|
|
23
|
-
The story must include:
|
|
24
|
-
- Feature description and acceptance criteria
|
|
25
|
-
- File ownership (which directories to modify)
|
|
26
|
-
- Test requirements
|
|
27
|
-
- Any relevant context from existing architecture
|
|
28
|
-
|
|
29
|
-
### Step 2: Sprint with Single Story
|
|
30
|
-
```
|
|
31
|
-
/sniper-sprint
|
|
32
|
-
```
|
|
33
|
-
Select only the quick feature story. The command will:
|
|
34
|
-
1. Spawn only the teammates needed for this story
|
|
35
|
-
2. Skip unnecessary roles (e.g., no QA if it's a small change)
|
|
36
|
-
3. Execute the implementation
|
|
37
|
-
|
|
38
|
-
### Step 3: Review
|
|
39
|
-
Gate: STRICT — always review code before merge, even for quick features.
|
|
40
|
-
|
|
41
|
-
## Notes
|
|
42
|
-
- Skips Phases 1-3 entirely
|
|
43
|
-
- Best for S/M complexity features
|
|
44
|
-
- For L/XL features, use the full lifecycle — the planning is worth it
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Sprint Cycle Workflow
|
|
2
|
-
|
|
3
|
-
Execute a single implementation sprint with an Agent Team.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
- Stories already exist in `docs/stories/`
|
|
7
|
-
- Architecture and planning are complete
|
|
8
|
-
- Ready to implement a batch of stories
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
- `docs/architecture.md` exists and is approved
|
|
12
|
-
- Story files exist in `docs/stories/`
|
|
13
|
-
- Config state shows phase is `solve` (completed) or `sprint`
|
|
14
|
-
|
|
15
|
-
## Execution
|
|
16
|
-
|
|
17
|
-
### Step 1: Select Stories
|
|
18
|
-
The `/sniper-sprint` command will:
|
|
19
|
-
1. List all stories from `docs/stories/` that are not yet implemented
|
|
20
|
-
2. Prompt you to select stories for this sprint (or accept a suggested batch)
|
|
21
|
-
3. Determine which teammates are needed based on story file ownership
|
|
22
|
-
|
|
23
|
-
### Step 2: Team Composition
|
|
24
|
-
Based on selected stories, the command:
|
|
25
|
-
1. Reads `.sniper/teams/sprint.yaml` for available teammate definitions
|
|
26
|
-
2. Selects only the teammates needed (e.g., skip infra-dev if no infra stories)
|
|
27
|
-
3. Composes spawn prompts with story context embedded
|
|
28
|
-
4. Assigns file ownership boundaries from `config.yaml`
|
|
29
|
-
|
|
30
|
-
### Step 3: Sprint Execution
|
|
31
|
-
1. Creates team `sniper-sprint-{N}`
|
|
32
|
-
2. Creates tasks with dependencies (QA blocked until implementation done)
|
|
33
|
-
3. Spawns teammates with their composed prompts
|
|
34
|
-
4. Lead enters delegate mode — coordinates, does not code
|
|
35
|
-
5. Facilitates API contract alignment between backend/frontend
|
|
36
|
-
6. Monitors progress, intervenes on blocks
|
|
37
|
-
|
|
38
|
-
### Step 4: Sprint Review
|
|
39
|
-
1. All tasks must be marked complete
|
|
40
|
-
2. Run `/sniper-review` to check the sprint review checklist
|
|
41
|
-
3. Present code diff summary and test results to human
|
|
42
|
-
4. Gate: STRICT — human must approve
|
|
43
|
-
|
|
44
|
-
### Step 5: Post-Sprint
|
|
45
|
-
1. Update config state (increment sprint number, mark stories as complete)
|
|
46
|
-
2. Clean up the agent team
|
|
47
|
-
3. Proceed to next sprint or declare MVP complete
|