@su-record/vibe 2.7.14 → 2.7.15
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/.env.example +37 -37
- package/CLAUDE.md +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.js +54 -54
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
# Feature: {Feature Name}
|
|
2
|
-
|
|
3
|
-
> This file is **the core of quality assurance**. All scenarios passing = feature complete.
|
|
4
|
-
|
|
5
|
-
**SPEC**: `.claude/vibe/specs/{feature-name}.md`
|
|
6
|
-
**Last verified**: -
|
|
7
|
-
**Quality score**: -
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## User Story
|
|
12
|
-
|
|
13
|
-
**As a** {User role}
|
|
14
|
-
**I want** {Desired functionality}
|
|
15
|
-
**So that** {Reason/Value}
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Scenarios
|
|
20
|
-
|
|
21
|
-
> Each scenario is both an implementation unit and a verification unit.
|
|
22
|
-
|
|
23
|
-
### Scenario 1: {Happy Path - Normal Case}
|
|
24
|
-
|
|
25
|
-
```gherkin
|
|
26
|
-
Scenario: {Scenario title}
|
|
27
|
-
Given {Precondition}
|
|
28
|
-
# Verification: {What to check}
|
|
29
|
-
When {User action}
|
|
30
|
-
# Verification: {What functionality is executed}
|
|
31
|
-
Then {Expected result}
|
|
32
|
-
# Verification: {What is visible or returned}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**SPEC AC**: #1
|
|
36
|
-
**Status**: ⬜
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
### Scenario 2: {Edge Case - Error Case}
|
|
41
|
-
|
|
42
|
-
```gherkin
|
|
43
|
-
Scenario: {Error scenario title}
|
|
44
|
-
Given {Precondition}
|
|
45
|
-
When {Invalid input or exception}
|
|
46
|
-
Then {Error message or appropriate handling}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**SPEC AC**: #2
|
|
50
|
-
**Status**: ⬜
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
### Scenario 3: {Boundary Case}
|
|
55
|
-
|
|
56
|
-
```gherkin
|
|
57
|
-
Scenario: {Boundary value test}
|
|
58
|
-
Given {Precondition}
|
|
59
|
-
When {Boundary value input}
|
|
60
|
-
Then {Appropriate handling}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**SPEC AC**: #3
|
|
64
|
-
**Status**: ⬜
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Coverage Summary
|
|
69
|
-
|
|
70
|
-
| # | Scenario | SPEC AC | Status | Retries |
|
|
71
|
-
|---|----------|---------|--------|---------|
|
|
72
|
-
| 1 | {Happy Path} | AC-1 | ⬜ | - |
|
|
73
|
-
| 2 | {Edge Case} | AC-2 | ⬜ | - |
|
|
74
|
-
| 3 | {Boundary Case} | AC-3 | ⬜ | - |
|
|
75
|
-
|
|
76
|
-
**Total**: 0/3 passed (0%)
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Verification Commands
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# Full verification
|
|
84
|
-
/vibe.verify "{feature name}"
|
|
85
|
-
|
|
86
|
-
# Auto-fix on failure
|
|
87
|
-
/vibe.run "{feature name}" --fix
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Notes
|
|
93
|
-
|
|
94
|
-
- Update Coverage Summary when adding/modifying scenarios
|
|
95
|
-
- Specify verification points for each Given/When/Then
|
|
96
|
-
- Quality is assured when all scenarios pass
|
|
1
|
+
# Feature: {Feature Name}
|
|
2
|
+
|
|
3
|
+
> This file is **the core of quality assurance**. All scenarios passing = feature complete.
|
|
4
|
+
|
|
5
|
+
**SPEC**: `.claude/vibe/specs/{feature-name}.md`
|
|
6
|
+
**Last verified**: -
|
|
7
|
+
**Quality score**: -
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## User Story
|
|
12
|
+
|
|
13
|
+
**As a** {User role}
|
|
14
|
+
**I want** {Desired functionality}
|
|
15
|
+
**So that** {Reason/Value}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Scenarios
|
|
20
|
+
|
|
21
|
+
> Each scenario is both an implementation unit and a verification unit.
|
|
22
|
+
|
|
23
|
+
### Scenario 1: {Happy Path - Normal Case}
|
|
24
|
+
|
|
25
|
+
```gherkin
|
|
26
|
+
Scenario: {Scenario title}
|
|
27
|
+
Given {Precondition}
|
|
28
|
+
# Verification: {What to check}
|
|
29
|
+
When {User action}
|
|
30
|
+
# Verification: {What functionality is executed}
|
|
31
|
+
Then {Expected result}
|
|
32
|
+
# Verification: {What is visible or returned}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**SPEC AC**: #1
|
|
36
|
+
**Status**: ⬜
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Scenario 2: {Edge Case - Error Case}
|
|
41
|
+
|
|
42
|
+
```gherkin
|
|
43
|
+
Scenario: {Error scenario title}
|
|
44
|
+
Given {Precondition}
|
|
45
|
+
When {Invalid input or exception}
|
|
46
|
+
Then {Error message or appropriate handling}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**SPEC AC**: #2
|
|
50
|
+
**Status**: ⬜
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Scenario 3: {Boundary Case}
|
|
55
|
+
|
|
56
|
+
```gherkin
|
|
57
|
+
Scenario: {Boundary value test}
|
|
58
|
+
Given {Precondition}
|
|
59
|
+
When {Boundary value input}
|
|
60
|
+
Then {Appropriate handling}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**SPEC AC**: #3
|
|
64
|
+
**Status**: ⬜
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Coverage Summary
|
|
69
|
+
|
|
70
|
+
| # | Scenario | SPEC AC | Status | Retries |
|
|
71
|
+
|---|----------|---------|--------|---------|
|
|
72
|
+
| 1 | {Happy Path} | AC-1 | ⬜ | - |
|
|
73
|
+
| 2 | {Edge Case} | AC-2 | ⬜ | - |
|
|
74
|
+
| 3 | {Boundary Case} | AC-3 | ⬜ | - |
|
|
75
|
+
|
|
76
|
+
**Total**: 0/3 passed (0%)
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Verification Commands
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Full verification
|
|
84
|
+
/vibe.verify "{feature name}"
|
|
85
|
+
|
|
86
|
+
# Auto-fix on failure
|
|
87
|
+
/vibe.run "{feature name}" --fix
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Notes
|
|
93
|
+
|
|
94
|
+
- Update Coverage Summary when adding/modifying scenarios
|
|
95
|
+
- Specify verification points for each Given/When/Then
|
|
96
|
+
- Quality is assured when all scenarios pass
|
|
@@ -1,221 +1,221 @@
|
|
|
1
|
-
# SPEC: {Feature Name}
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
|
|
5
|
-
- **Created**: {YYYY-MM-DD}
|
|
6
|
-
- **Author**: {Name}
|
|
7
|
-
- **Status**: DRAFT
|
|
8
|
-
- **Priority**: {HIGH | MEDIUM | LOW}
|
|
9
|
-
- **Language**: {en | ko}
|
|
10
|
-
- **Assigned Agent**: {Agent Name}
|
|
11
|
-
- **Tech Stack**: {Project Tech Stack Summary}
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 1. Feature Overview
|
|
16
|
-
|
|
17
|
-
{1-2 sentence summary}
|
|
18
|
-
|
|
19
|
-
### Background
|
|
20
|
-
|
|
21
|
-
{Why is this feature needed}
|
|
22
|
-
|
|
23
|
-
### Goals
|
|
24
|
-
|
|
25
|
-
- Goal 1
|
|
26
|
-
- Goal 2
|
|
27
|
-
|
|
28
|
-
### Non-Goals
|
|
29
|
-
|
|
30
|
-
- What we won't do this time 1
|
|
31
|
-
- What we won't do this time 2
|
|
32
|
-
|
|
33
|
-
### Tech Stack Context
|
|
34
|
-
|
|
35
|
-
**Existing Technology:**
|
|
36
|
-
|
|
37
|
-
- Backend: {FastAPI, Django, Express, etc.}
|
|
38
|
-
- Frontend: {React, Flutter, Vue, etc.}
|
|
39
|
-
- Database: {PostgreSQL, MySQL, MongoDB, etc.}
|
|
40
|
-
- Infrastructure: {GCP, AWS, Azure, etc.}
|
|
41
|
-
|
|
42
|
-
**New Technology Required for This Feature:**
|
|
43
|
-
|
|
44
|
-
- {New library/service 1} - {Reason}
|
|
45
|
-
- {New library/service 2} - {Reason}
|
|
46
|
-
|
|
47
|
-
**External API/Service Integration:**
|
|
48
|
-
|
|
49
|
-
- {Service name} - {Purpose}
|
|
50
|
-
|
|
51
|
-
**Constraints:**
|
|
52
|
-
|
|
53
|
-
- Cost limit: {Amount}
|
|
54
|
-
- Performance requirements: {Target response time, throughput, etc.}
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## 2. User Stories
|
|
59
|
-
|
|
60
|
-
### Story 1: {Story Title}
|
|
61
|
-
|
|
62
|
-
**As a** {User role}
|
|
63
|
-
**I want** {Desired functionality}
|
|
64
|
-
**So that** {Reason/Value}
|
|
65
|
-
|
|
66
|
-
#### Acceptance Criteria
|
|
67
|
-
|
|
68
|
-
- [ ] {Verifiable condition 1}
|
|
69
|
-
- [ ] {Verifiable condition 2}
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## 3. Requirements (EARS Format)
|
|
74
|
-
|
|
75
|
-
### REQ-001: {Requirement Title}
|
|
76
|
-
|
|
77
|
-
**WHEN** {Specific condition}
|
|
78
|
-
**THEN** {System behavior} (SHALL | SHOULD | MAY)
|
|
79
|
-
|
|
80
|
-
#### Acceptance Criteria
|
|
81
|
-
|
|
82
|
-
- [ ] {Testable criterion 1}
|
|
83
|
-
- [ ] {Testable criterion 2}
|
|
84
|
-
|
|
85
|
-
#### Example
|
|
86
|
-
|
|
87
|
-
```text
|
|
88
|
-
Input: {...}
|
|
89
|
-
Output: {...}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 4. Non-Functional Requirements
|
|
95
|
-
|
|
96
|
-
### Performance
|
|
97
|
-
|
|
98
|
-
- Response time: {Target}
|
|
99
|
-
- Throughput: {Target}
|
|
100
|
-
|
|
101
|
-
### Security
|
|
102
|
-
|
|
103
|
-
- Authentication: {Method}
|
|
104
|
-
- Authorization: {Rules}
|
|
105
|
-
|
|
106
|
-
### Scalability
|
|
107
|
-
|
|
108
|
-
- Expected growth rate: {Value}
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 5. Data Model (Draft)
|
|
113
|
-
|
|
114
|
-
### Entity: {Name}
|
|
115
|
-
|
|
116
|
-
```json
|
|
117
|
-
{
|
|
118
|
-
"field1": "type",
|
|
119
|
-
"field2": "type"
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 6. API Contract (Draft)
|
|
126
|
-
|
|
127
|
-
### Endpoint: {Name}
|
|
128
|
-
|
|
129
|
-
```text
|
|
130
|
-
POST /api/v1/resource
|
|
131
|
-
Request: {...}
|
|
132
|
-
Response: {...}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## 7. Test Strategy
|
|
138
|
-
|
|
139
|
-
### BDD Scenarios (Gherkin)
|
|
140
|
-
|
|
141
|
-
**Generate Command**: `vibe feature "{feature name}"`
|
|
142
|
-
|
|
143
|
-
```gherkin
|
|
144
|
-
Scenario: {Scenario title}
|
|
145
|
-
Given {Precondition}
|
|
146
|
-
When {User action}
|
|
147
|
-
Then {Expected result}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**Mapping**:
|
|
151
|
-
|
|
152
|
-
- REQ-001 → Scenario 1, 2
|
|
153
|
-
- REQ-002 → Scenario 3
|
|
154
|
-
|
|
155
|
-
### Contract Tests (API Schema)
|
|
156
|
-
|
|
157
|
-
**Generate Command**: `vibe contract "{feature name}"`
|
|
158
|
-
|
|
159
|
-
**Backend Contract**:
|
|
160
|
-
|
|
161
|
-
```json
|
|
162
|
-
{
|
|
163
|
-
"request": {
|
|
164
|
-
"method": "POST",
|
|
165
|
-
"path": "/api/v1/{resource}",
|
|
166
|
-
"schema": {JSON Schema}
|
|
167
|
-
},
|
|
168
|
-
"response": {
|
|
169
|
-
"status": 201,
|
|
170
|
-
"schema": {JSON Schema}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Frontend Contract**:
|
|
176
|
-
|
|
177
|
-
- Independent testing with mock server
|
|
178
|
-
- Response schema validation (Zod, JSON Schema)
|
|
179
|
-
|
|
180
|
-
### Test Coverage Goals
|
|
181
|
-
|
|
182
|
-
- [ ] BDD: Cover all Acceptance Criteria
|
|
183
|
-
- [ ] Contract: Cover all API endpoints
|
|
184
|
-
- [ ] Unit: 70%+ coverage
|
|
185
|
-
- [ ] Integration: Cover critical paths
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## 8. Out of Scope
|
|
190
|
-
|
|
191
|
-
- ❌ {Excluded item 1}
|
|
192
|
-
- ❌ {Excluded item 2}
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## 9. Verification Checklist
|
|
197
|
-
|
|
198
|
-
### Requirements
|
|
199
|
-
|
|
200
|
-
- [ ] Are all requirements testable?
|
|
201
|
-
- [ ] Is SHALL/SHOULD/MAY clear?
|
|
202
|
-
- [ ] Are Acceptance Criteria specific?
|
|
203
|
-
- [ ] Are performance goals measurable?
|
|
204
|
-
|
|
205
|
-
### Testing
|
|
206
|
-
|
|
207
|
-
- [ ] BDD Feature file generation complete?
|
|
208
|
-
- [ ] Contract tests defined?
|
|
209
|
-
- [ ] Step Definitions written?
|
|
210
|
-
- [ ] Test coverage goal achieved?
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## 10. Approval
|
|
215
|
-
|
|
216
|
-
- [ ] User approval
|
|
217
|
-
- [ ] Technical review complete
|
|
218
|
-
- [ ] Test plan approved
|
|
219
|
-
|
|
220
|
-
Approval Date: ____________
|
|
221
|
-
Approver: ____________
|
|
1
|
+
# SPEC: {Feature Name}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **Created**: {YYYY-MM-DD}
|
|
6
|
+
- **Author**: {Name}
|
|
7
|
+
- **Status**: DRAFT
|
|
8
|
+
- **Priority**: {HIGH | MEDIUM | LOW}
|
|
9
|
+
- **Language**: {en | ko}
|
|
10
|
+
- **Assigned Agent**: {Agent Name}
|
|
11
|
+
- **Tech Stack**: {Project Tech Stack Summary}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Feature Overview
|
|
16
|
+
|
|
17
|
+
{1-2 sentence summary}
|
|
18
|
+
|
|
19
|
+
### Background
|
|
20
|
+
|
|
21
|
+
{Why is this feature needed}
|
|
22
|
+
|
|
23
|
+
### Goals
|
|
24
|
+
|
|
25
|
+
- Goal 1
|
|
26
|
+
- Goal 2
|
|
27
|
+
|
|
28
|
+
### Non-Goals
|
|
29
|
+
|
|
30
|
+
- What we won't do this time 1
|
|
31
|
+
- What we won't do this time 2
|
|
32
|
+
|
|
33
|
+
### Tech Stack Context
|
|
34
|
+
|
|
35
|
+
**Existing Technology:**
|
|
36
|
+
|
|
37
|
+
- Backend: {FastAPI, Django, Express, etc.}
|
|
38
|
+
- Frontend: {React, Flutter, Vue, etc.}
|
|
39
|
+
- Database: {PostgreSQL, MySQL, MongoDB, etc.}
|
|
40
|
+
- Infrastructure: {GCP, AWS, Azure, etc.}
|
|
41
|
+
|
|
42
|
+
**New Technology Required for This Feature:**
|
|
43
|
+
|
|
44
|
+
- {New library/service 1} - {Reason}
|
|
45
|
+
- {New library/service 2} - {Reason}
|
|
46
|
+
|
|
47
|
+
**External API/Service Integration:**
|
|
48
|
+
|
|
49
|
+
- {Service name} - {Purpose}
|
|
50
|
+
|
|
51
|
+
**Constraints:**
|
|
52
|
+
|
|
53
|
+
- Cost limit: {Amount}
|
|
54
|
+
- Performance requirements: {Target response time, throughput, etc.}
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 2. User Stories
|
|
59
|
+
|
|
60
|
+
### Story 1: {Story Title}
|
|
61
|
+
|
|
62
|
+
**As a** {User role}
|
|
63
|
+
**I want** {Desired functionality}
|
|
64
|
+
**So that** {Reason/Value}
|
|
65
|
+
|
|
66
|
+
#### Acceptance Criteria
|
|
67
|
+
|
|
68
|
+
- [ ] {Verifiable condition 1}
|
|
69
|
+
- [ ] {Verifiable condition 2}
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 3. Requirements (EARS Format)
|
|
74
|
+
|
|
75
|
+
### REQ-001: {Requirement Title}
|
|
76
|
+
|
|
77
|
+
**WHEN** {Specific condition}
|
|
78
|
+
**THEN** {System behavior} (SHALL | SHOULD | MAY)
|
|
79
|
+
|
|
80
|
+
#### Acceptance Criteria
|
|
81
|
+
|
|
82
|
+
- [ ] {Testable criterion 1}
|
|
83
|
+
- [ ] {Testable criterion 2}
|
|
84
|
+
|
|
85
|
+
#### Example
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Input: {...}
|
|
89
|
+
Output: {...}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4. Non-Functional Requirements
|
|
95
|
+
|
|
96
|
+
### Performance
|
|
97
|
+
|
|
98
|
+
- Response time: {Target}
|
|
99
|
+
- Throughput: {Target}
|
|
100
|
+
|
|
101
|
+
### Security
|
|
102
|
+
|
|
103
|
+
- Authentication: {Method}
|
|
104
|
+
- Authorization: {Rules}
|
|
105
|
+
|
|
106
|
+
### Scalability
|
|
107
|
+
|
|
108
|
+
- Expected growth rate: {Value}
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 5. Data Model (Draft)
|
|
113
|
+
|
|
114
|
+
### Entity: {Name}
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"field1": "type",
|
|
119
|
+
"field2": "type"
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 6. API Contract (Draft)
|
|
126
|
+
|
|
127
|
+
### Endpoint: {Name}
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
POST /api/v1/resource
|
|
131
|
+
Request: {...}
|
|
132
|
+
Response: {...}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 7. Test Strategy
|
|
138
|
+
|
|
139
|
+
### BDD Scenarios (Gherkin)
|
|
140
|
+
|
|
141
|
+
**Generate Command**: `vibe feature "{feature name}"`
|
|
142
|
+
|
|
143
|
+
```gherkin
|
|
144
|
+
Scenario: {Scenario title}
|
|
145
|
+
Given {Precondition}
|
|
146
|
+
When {User action}
|
|
147
|
+
Then {Expected result}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Mapping**:
|
|
151
|
+
|
|
152
|
+
- REQ-001 → Scenario 1, 2
|
|
153
|
+
- REQ-002 → Scenario 3
|
|
154
|
+
|
|
155
|
+
### Contract Tests (API Schema)
|
|
156
|
+
|
|
157
|
+
**Generate Command**: `vibe contract "{feature name}"`
|
|
158
|
+
|
|
159
|
+
**Backend Contract**:
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"request": {
|
|
164
|
+
"method": "POST",
|
|
165
|
+
"path": "/api/v1/{resource}",
|
|
166
|
+
"schema": {JSON Schema}
|
|
167
|
+
},
|
|
168
|
+
"response": {
|
|
169
|
+
"status": 201,
|
|
170
|
+
"schema": {JSON Schema}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Frontend Contract**:
|
|
176
|
+
|
|
177
|
+
- Independent testing with mock server
|
|
178
|
+
- Response schema validation (Zod, JSON Schema)
|
|
179
|
+
|
|
180
|
+
### Test Coverage Goals
|
|
181
|
+
|
|
182
|
+
- [ ] BDD: Cover all Acceptance Criteria
|
|
183
|
+
- [ ] Contract: Cover all API endpoints
|
|
184
|
+
- [ ] Unit: 70%+ coverage
|
|
185
|
+
- [ ] Integration: Cover critical paths
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 8. Out of Scope
|
|
190
|
+
|
|
191
|
+
- ❌ {Excluded item 1}
|
|
192
|
+
- ❌ {Excluded item 2}
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 9. Verification Checklist
|
|
197
|
+
|
|
198
|
+
### Requirements
|
|
199
|
+
|
|
200
|
+
- [ ] Are all requirements testable?
|
|
201
|
+
- [ ] Is SHALL/SHOULD/MAY clear?
|
|
202
|
+
- [ ] Are Acceptance Criteria specific?
|
|
203
|
+
- [ ] Are performance goals measurable?
|
|
204
|
+
|
|
205
|
+
### Testing
|
|
206
|
+
|
|
207
|
+
- [ ] BDD Feature file generation complete?
|
|
208
|
+
- [ ] Contract tests defined?
|
|
209
|
+
- [ ] Step Definitions written?
|
|
210
|
+
- [ ] Test coverage goal achieved?
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 10. Approval
|
|
215
|
+
|
|
216
|
+
- [ ] User approval
|
|
217
|
+
- [ ] Technical review complete
|
|
218
|
+
- [ ] Test plan approved
|
|
219
|
+
|
|
220
|
+
Approval Date: ____________
|
|
221
|
+
Approver: ____________
|