@su-record/vibe 2.9.25 β 2.9.32
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 +109 -106
- package/LICENSE +21 -21
- package/README.en.md +220 -220
- package/README.md +171 -171
- 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/event/event-comms.md +78 -78
- package/agents/event/event-content.md +68 -68
- package/agents/event/event-image.md +95 -95
- package/agents/event/event-ops.md +84 -84
- package/agents/event/event-scheduler.md +69 -69
- package/agents/event/event-speaker.md +86 -86
- 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/qa/qa-coordinator.md +131 -131
- 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/teams/debug-team.md +70 -70
- package/agents/teams/dev-team.md +88 -88
- package/agents/teams/docs-team.md +80 -80
- package/agents/teams/figma/figma-analyst.md +52 -52
- package/agents/teams/figma/figma-architect.md +112 -112
- package/agents/teams/figma/figma-auditor.md +82 -82
- package/agents/teams/figma/figma-builder.md +100 -100
- package/agents/teams/figma-team.md +85 -85
- package/agents/teams/fullstack-team.md +83 -83
- package/agents/teams/lite-team.md +69 -69
- package/agents/teams/migration-team.md +78 -78
- package/agents/teams/refactor-team.md +94 -94
- package/agents/teams/research-team.md +86 -86
- package/agents/teams/review-debate-team.md +125 -125
- package/agents/teams/security-team.md +81 -81
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +102 -102
- 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 +533 -533
- package/commands/vibe.contract.md +105 -105
- package/commands/vibe.docs.md +33 -33
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +600 -584
- package/commands/vibe.harness.md +177 -177
- package/commands/vibe.regress.md +73 -73
- package/commands/vibe.review.md +624 -624
- package/commands/vibe.run.md +1946 -1940
- package/commands/vibe.scaffold.md +195 -195
- package/commands/vibe.spec.md +577 -577
- package/commands/vibe.test.md +49 -49
- package/commands/vibe.trace.md +276 -276
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +572 -550
- package/dist/cli/auth.d.ts +7 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +51 -11
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.d.ts +5 -1
- package/dist/cli/collaborator.d.ts.map +1 -1
- package/dist/cli/collaborator.js +60 -55
- package/dist/cli/collaborator.js.map +1 -1
- package/dist/cli/commands/codex-proxy.js +15 -15
- package/dist/cli/commands/config.js +9 -9
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/figma.js +20 -20
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +47 -63
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts +13 -5
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +71 -35
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +35 -22
- package/dist/cli/commands/remove.js.map +1 -1
- 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/stats.js +6 -6
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +10 -6
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +37 -35
- package/dist/cli/index.js.map +1 -1
- 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/postinstall/global-config.d.ts.map +1 -1
- package/dist/cli/postinstall/global-config.js +8 -4
- package/dist/cli/postinstall/global-config.js.map +1 -1
- package/dist/cli/setup/LegacyMigration.d.ts +14 -0
- package/dist/cli/setup/LegacyMigration.d.ts.map +1 -1
- package/dist/cli/setup/LegacyMigration.js +61 -0
- package/dist/cli/setup/LegacyMigration.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts +9 -3
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +60 -36
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +44 -44
- package/dist/cli/setup/Provisioner.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/utils/cli-detector.d.ts +9 -6
- package/dist/cli/utils/cli-detector.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.js +127 -8
- package/dist/cli/utils/cli-detector.js.map +1 -1
- 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.d.ts +3 -3
- 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/browser/compare.d.ts +27 -0
- package/dist/infra/lib/browser/compare.d.ts.map +1 -1
- package/dist/infra/lib/browser/compare.js +55 -0
- package/dist/infra/lib/browser/compare.js.map +1 -1
- package/dist/infra/lib/browser/index.d.ts +2 -1
- package/dist/infra/lib/browser/index.d.ts.map +1 -1
- package/dist/infra/lib/browser/index.js +1 -1
- package/dist/infra/lib/browser/index.js.map +1 -1
- 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/ParityTester.js +57 -57
- 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/figma/audit.d.ts +37 -0
- package/dist/infra/lib/figma/audit.d.ts.map +1 -0
- package/dist/infra/lib/figma/audit.js +130 -0
- package/dist/infra/lib/figma/audit.js.map +1 -0
- package/dist/infra/lib/figma/extract.d.ts +21 -1
- package/dist/infra/lib/figma/extract.d.ts.map +1 -1
- package/dist/infra/lib/figma/extract.js +84 -12
- package/dist/infra/lib/figma/extract.js.map +1 -1
- package/dist/infra/lib/figma/index.d.ts +4 -2
- package/dist/infra/lib/figma/index.d.ts.map +1 -1
- package/dist/infra/lib/figma/index.js +2 -1
- package/dist/infra/lib/figma/index.js.map +1 -1
- package/dist/infra/lib/figma/types.d.ts +31 -0
- package/dist/infra/lib/figma/types.d.ts.map +1 -1
- 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.d.ts +5 -0
- package/dist/infra/lib/memory/MemoryStorage.d.ts.map +1 -1
- package/dist/infra/lib/memory/MemoryStorage.js +202 -183
- package/dist/infra/lib/memory/MemoryStorage.js.map +1 -1
- 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 +134 -126
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +409 -409
- package/hooks/scripts/__tests__/sentinel-guard.test.js +208 -208
- package/hooks/scripts/auto-commit.js +97 -97
- package/hooks/scripts/auto-format.js +64 -64
- package/hooks/scripts/auto-test.js +81 -81
- package/hooks/scripts/code-check.js +271 -271
- package/hooks/scripts/codex-detect.js +46 -46
- package/hooks/scripts/codex-review-gate.js +80 -80
- package/hooks/scripts/command-log.js +32 -32
- package/hooks/scripts/context-save.js +353 -353
- package/hooks/scripts/evolution-engine.js +91 -91
- package/hooks/scripts/figma-extract.js +768 -635
- package/hooks/scripts/figma-guard.js +219 -219
- package/hooks/scripts/figma-refine.js +315 -315
- package/hooks/scripts/figma-to-scss.js +394 -394
- package/hooks/scripts/figma-validate.js +353 -353
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/lib/dispatcher.js +87 -83
- package/hooks/scripts/lib/scope-from-spec.js +276 -261
- package/hooks/scripts/llm-orchestrate.js +645 -645
- package/hooks/scripts/post-edit.js +35 -35
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +259 -259
- package/hooks/scripts/prompt-dispatcher.js +192 -190
- package/hooks/scripts/scope-guard.js +145 -145
- package/hooks/scripts/sentinel-guard.js +130 -130
- package/hooks/scripts/session-start.js +186 -186
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/step-counter.js +45 -0
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +315 -257
- 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 +106 -106
- package/skills/agents-md/SKILL.md +121 -121
- package/skills/agents-md/rubrics/what-to-keep.md +49 -49
- package/skills/agents-md/templates/agents-md.md +36 -36
- package/skills/arch-guard/SKILL.md +181 -181
- package/skills/arch-guard/agents/detector.md +48 -48
- package/skills/arch-guard/agents/reporter.md +48 -48
- package/skills/arch-guard/agents/rule-generator.md +49 -49
- package/skills/arch-guard/agents/violation-checker.md +51 -51
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
- package/skills/arch-guard/frameworks/solid.md +102 -102
- package/skills/arch-guard/scripts/check-boundaries.js +90 -90
- package/skills/arch-guard/templates/arch-rules.json +47 -47
- package/skills/arch-guard/templates/violation-report.md +53 -53
- package/skills/brand-assets/SKILL.md +147 -147
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
- package/skills/brand-assets/templates/brand-guide.md +161 -161
- package/skills/capability-loop/SKILL.md +272 -272
- package/skills/capability-loop/agents/capability-designer.md +61 -61
- package/skills/capability-loop/agents/failure-analyst.md +55 -55
- package/skills/capability-loop/agents/implementer.md +50 -50
- package/skills/capability-loop/agents/tester.md +53 -53
- package/skills/capability-loop/templates/capability-spec.md +118 -118
- package/skills/capability-loop/templates/failure-analysis.md +118 -118
- package/skills/characterization-test/SKILL.md +207 -207
- package/skills/characterization-test/agents/behavior-capturer.md +50 -50
- package/skills/characterization-test/agents/coverage-checker.md +54 -54
- package/skills/characterization-test/agents/reporter.md +50 -50
- package/skills/characterization-test/agents/test-writer.md +49 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
- package/skills/characterization-test/templates/test-template.ts +101 -101
- package/skills/chub-usage/SKILL.md +139 -139
- package/skills/claude-md-guide/SKILL.md +351 -351
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
- package/skills/claude-md-guide/templates/claude-md.md +54 -54
- package/skills/commerce-patterns/SKILL.md +64 -64
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
- package/skills/commerce-patterns/templates/product-schema.md +85 -85
- package/skills/commit-push-pr/SKILL.md +77 -77
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
- package/skills/commit-push-pr/agents/message-writer.md +50 -50
- package/skills/commit-push-pr/agents/pr-writer.md +58 -58
- package/skills/commit-push-pr/agents/reviewer.md +52 -52
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
- package/skills/commit-push-pr/templates/pr-body.md +63 -63
- package/skills/context7-usage/SKILL.md +106 -106
- package/skills/context7-usage/rubrics/when-to-use.md +50 -50
- package/skills/create-prd/SKILL.md +90 -90
- package/skills/create-prd/agents/edge-case-finder.md +48 -48
- package/skills/create-prd/agents/prioritizer.md +60 -60
- package/skills/create-prd/agents/requirements-writer.md +48 -48
- package/skills/create-prd/agents/researcher.md +55 -55
- package/skills/create-prd/agents/reviewer.md +54 -54
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
- package/skills/create-prd/frameworks/rice-scoring.md +97 -97
- package/skills/create-prd/orchestrator.md +70 -70
- package/skills/create-prd/rubrics/completeness.md +58 -58
- package/skills/create-prd/templates/prd.md +139 -139
- package/skills/design-audit/SKILL.md +152 -152
- package/skills/design-audit/agents/a11y-auditor.md +43 -43
- package/skills/design-audit/agents/performance-auditor.md +46 -46
- package/skills/design-audit/agents/responsive-auditor.md +46 -46
- package/skills/design-audit/agents/scorer.md +47 -47
- package/skills/design-audit/agents/slop-detector.md +47 -47
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
- package/skills/design-audit/orchestrator.md +64 -64
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
- package/skills/design-audit/rubrics/scoring.md +63 -63
- package/skills/design-audit/templates/report.md +88 -88
- package/skills/design-critique/SKILL.md +139 -139
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
- package/skills/design-critique/templates/critique-report.md +86 -86
- package/skills/design-distill/SKILL.md +130 -130
- package/skills/design-distill/templates/design-system.md +132 -132
- package/skills/design-normalize/SKILL.md +133 -133
- package/skills/design-normalize/rubrics/token-naming.md +117 -117
- package/skills/design-normalize/templates/token-audit.md +89 -89
- package/skills/design-polish/SKILL.md +131 -131
- package/skills/design-polish/rubrics/polish-checklist.md +68 -68
- package/skills/design-polish/templates/polish-report.md +64 -64
- package/skills/design-teach/SKILL.md +182 -182
- package/skills/design-teach/rubrics/brand-personality.md +73 -73
- package/skills/design-teach/templates/design-context.json +36 -36
- package/skills/devlog/SKILL.md +143 -143
- package/skills/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +172 -172
- package/skills/event-comms/templates/email-invite.md +99 -99
- package/skills/event-comms/templates/sns-post.md +133 -133
- package/skills/event-ops/SKILL.md +207 -207
- package/skills/event-ops/rubrics/contingency.md +85 -85
- package/skills/event-ops/templates/d-day-checklist.md +65 -65
- package/skills/event-planning/SKILL.md +144 -144
- package/skills/event-planning/rubrics/timeline.md +70 -70
- package/skills/event-planning/templates/event-plan.md +91 -91
- package/skills/exec-plan/SKILL.md +149 -149
- package/skills/exec-plan/agents/decomposer.md +47 -47
- package/skills/exec-plan/agents/dependency-mapper.md +44 -44
- package/skills/exec-plan/agents/estimator.md +43 -43
- package/skills/exec-plan/agents/validator.md +55 -55
- package/skills/exec-plan/orchestrator.md +70 -70
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
- package/skills/exec-plan/templates/plan.md +147 -147
- package/skills/git-worktree/SKILL.md +73 -73
- package/skills/git-worktree/rubrics/when-to-use.md +55 -55
- package/skills/handoff/SKILL.md +110 -110
- package/skills/handoff/agents/context-summarizer.md +51 -51
- package/skills/handoff/agents/document-writer.md +63 -63
- package/skills/handoff/agents/state-collector.md +53 -53
- package/skills/handoff/agents/verifier.md +48 -48
- package/skills/handoff/rubrics/completeness.md +62 -62
- package/skills/handoff/templates/handoff.md +107 -107
- package/skills/parallel-research/SKILL.md +104 -104
- package/skills/parallel-research/agents/best-practices.md +43 -43
- package/skills/parallel-research/agents/codebase-patterns.md +46 -46
- package/skills/parallel-research/agents/framework-docs.md +45 -45
- package/skills/parallel-research/agents/security-advisory.md +46 -46
- package/skills/parallel-research/agents/synthesizer.md +57 -57
- package/skills/parallel-research/experts/best-practices.md +50 -50
- package/skills/parallel-research/experts/codebase-patterns.md +70 -70
- package/skills/parallel-research/experts/framework-docs.md +65 -65
- package/skills/parallel-research/experts/security-advisory.md +69 -69
- package/skills/parallel-research/orchestrator.md +79 -79
- package/skills/parallel-research/templates/awesome-list.md +32 -32
- package/skills/parallel-research/templates/paper.md +88 -88
- package/skills/parallel-research/templates/synthesis.md +101 -101
- package/skills/prioritization-frameworks/SKILL.md +87 -87
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
- package/skills/priority-todos/SKILL.md +64 -64
- package/skills/priority-todos/rubrics/prioritization.md +70 -70
- package/skills/priority-todos/templates/todo-board.md +59 -59
- package/skills/seo-checklist/SKILL.md +58 -58
- package/skills/seo-checklist/frameworks/structured-data.md +153 -153
- package/skills/seo-checklist/rubrics/content-seo.md +42 -42
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
- package/skills/techdebt/SKILL.md +124 -124
- package/skills/techdebt/agents/analyzer.md +50 -50
- package/skills/techdebt/agents/fixer.md +41 -41
- package/skills/techdebt/agents/reviewer.md +47 -47
- package/skills/techdebt/agents/scanner.md +44 -44
- package/skills/techdebt/orchestrator.md +70 -70
- package/skills/techdebt/rubrics/severity.md +51 -51
- package/skills/techdebt/scripts/scan.js +90 -90
- package/skills/techdebt/templates/report.md +86 -86
- package/skills/tool-fallback/SKILL.md +104 -104
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
- package/skills/typescript-advanced-types/SKILL.md +67 -67
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
- package/skills/ui-ux-pro-max/SKILL.md +236 -236
- package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
- package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
- package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
- package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
- package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
- package/skills/ui-ux-pro-max/reference/typography.md +455 -455
- package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
- package/skills/user-personas/SKILL.md +75 -75
- package/skills/user-personas/rubrics/research-methods.md +56 -56
- package/skills/user-personas/templates/persona.md +89 -89
- package/skills/vercel-react-best-practices/SKILL.md +60 -60
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
- package/skills/vibe-contract/SKILL.md +166 -166
- package/skills/vibe-docs/templates/architecture.md +80 -80
- package/skills/vibe-docs/templates/readme.md +84 -84
- package/skills/vibe-docs/templates/release-notes.md +74 -74
- package/skills/vibe-figma/SKILL.md +363 -363
- package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -51
- package/skills/vibe-figma/templates/component-index.md +126 -126
- package/skills/vibe-figma/templates/component-spec.md +168 -168
- package/skills/vibe-figma/templates/figma-handoff.md +100 -100
- package/skills/vibe-figma/templates/remapped-tree.md +277 -277
- package/skills/vibe-figma-convert/SKILL.md +235 -235
- package/skills/vibe-figma-convert/rubrics/conversion-rules.md +141 -141
- package/skills/vibe-figma-convert/templates/component.md +140 -140
- package/skills/vibe-figma-extract/SKILL.md +241 -219
- package/skills/vibe-figma-extract/rubrics/image-rules.md +157 -157
- package/skills/vibe-interview/SKILL.md +358 -358
- package/skills/vibe-interview/checklists/api.md +101 -101
- package/skills/vibe-interview/checklists/feature.md +88 -88
- package/skills/vibe-interview/checklists/library.md +95 -95
- package/skills/vibe-interview/checklists/mobile.md +89 -89
- package/skills/vibe-interview/checklists/webapp.md +97 -97
- package/skills/vibe-interview/checklists/website.md +99 -99
- package/skills/vibe-plan/SKILL.md +254 -254
- package/skills/vibe-regress/SKILL.md +174 -174
- package/skills/vibe-regress/templates/bug.md +44 -44
- package/skills/vibe-regress/templates/test-jest.md +29 -29
- package/skills/vibe-regress/templates/test-vitest.md +30 -30
- package/skills/vibe-spec/SKILL.md +1195 -1195
- package/skills/vibe-spec-review/SKILL.md +726 -726
- package/skills/vibe-test/SKILL.md +140 -140
- package/skills/video-production/SKILL.md +52 -52
- package/skills/video-production/rubrics/quality-checklist.md +58 -58
- package/skills/video-production/templates/production-plan.md +104 -104
- 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/claudemd-template.md +74 -74
- package/vibe/templates/constitution-template.md +267 -267
- 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/plan-template.md +194 -194
- 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
package/commands/vibe.spec.md
CHANGED
|
@@ -1,577 +1,577 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: νλ‘μ νΈ λͺ
μΈ ν΅ν© μ§μ
μ β interview β plan β spec β review β run/figma μ 체 μν¬νλ‘ μ€μΌμ€νΈλ μ΄μ
|
|
3
|
-
argument-hint: "(μ ν) feature name, plan/interview file path, or idea"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /vibe.spec
|
|
7
|
-
|
|
8
|
-
**vibe μν¬νλ‘ ν΅ν© μ§μ
μ .** "무μμ κ°λ°ν μ§" μ§λ¬ΈμΌλ‘ μμν΄μ interview β plan β SPEC μμ± β review β ꡬν + UI λμμΈκΉμ§ μ 체 νλ¦μ μ€μΌμ€νΈλ μ΄μ
νλ€.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
/vibe.spec # λΉ μμ β "무μμ λ§λ€κΉμ?"λΆν°
|
|
14
|
-
/vibe.spec "ν¨λ΄λμ€ μΉμ¬μ΄νΈ" # μμ΄λμ΄/νΌμ²λͺ
μ§μ μμ
|
|
15
|
-
/vibe.spec ".claude/vibe/plans/{feature}.md" # κΈ°νμ μ
λ ₯ (plan λ¨κ³ μ€ν΅)
|
|
16
|
-
/vibe.spec ".claude/vibe/interviews/{feature}.md" # interview μ
λ ₯ (interview λ¨κ³ μ€ν΅)
|
|
17
|
-
/vibe.spec "docs/prd.md" # μΈλΆ PRD/μμ΄λμ΄ νμΌ μ
λ ₯
|
|
18
|
-
/vibe.spec + π μ²¨λΆ # μ²¨λΆ κΈ°λ° μμ
|
|
19
|
-
/vibe.spec "feature-name" ultrawork # μ€λ¨ κ²μ΄νΈ μμ΄ μλ μ νλ¦ μ€ν
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Philosophy
|
|
23
|
-
|
|
24
|
-
> **μ¬μ©μλ "무μμ λ§λ€μ§"λ§ λ§νλ©΄ λλ€. μ΄λ€ μ€ν¬μ μΈμ λΆλ₯Όμ§λ vibeκ° κ²°μ νλ€.**
|
|
25
|
-
|
|
26
|
-
- **λ¨μΌ μ§μ
μ **: `/vibe.spec` νλλ‘ μ 체 μν¬νλ‘ μμ. λ€λ₯Έ `/vibe.*` 컀맨λ μ΄λ¦ μΈμΈ νμ μμ.
|
|
27
|
-
- **Smart resume**: κΈ°μ‘΄ interview/plan/spec νμΌ μ‘΄μ¬ μ¬λΆλ‘ μ΄λ λ¨κ³λΆν° μμν μ§ μλ νλ¨.
|
|
28
|
-
- **μλ 체μ΄λ**: μ€ν¬ `chain-next` λ©νλ°μ΄ν° λ°λΌ vibe-interview β vibe-plan β vibe-spec β vibe-spec-review μ§ν.
|
|
29
|
-
- **λΆκΈ° νλ¨**: κΈ°νμμ `type` νλλ‘ UI νΈλ/λ‘μ§ νΈλ μ¬λΆ κ²°μ .
|
|
30
|
-
- **μ¬μ©μ μ μ΄**: κ° λ¨κ³ μ¬μ΄μ μ¬μ©μ νμΈ μ§μ (stop gate) μ 곡 (ultrawork λͺ¨λλ μ€ν΅).
|
|
31
|
-
|
|
32
|
-
## Flow
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
/vibe.spec ["input"?]
|
|
36
|
-
β
|
|
37
|
-
Phase 0: Git branch setup
|
|
38
|
-
β
|
|
39
|
-
Phase 0.5: Input λΆμ + Smart resume κ²°μ
|
|
40
|
-
- 첨λΆ/νμΌ/μμ΄λμ΄ κ°μ§
|
|
41
|
-
- κΈ°μ‘΄ .claude/vibe/{interviews,plans,specs}/ νμΈ
|
|
42
|
-
- μμ λ¨κ³ κ²°μ : interview | plan | spec | review
|
|
43
|
-
β
|
|
44
|
-
Phase 1: Interview (skill: vibe-interview)
|
|
45
|
-
- 쑰건: interview νμΌ μμ
|
|
46
|
-
- μ¬μ©μ "κ·Έλ§"κΉμ§ λ°λ³΅ μΈν°λ·°
|
|
47
|
-
- μΆλ ₯: .claude/vibe/interviews/{feature}.md
|
|
48
|
-
β
|
|
49
|
-
[Stop Gate 1] β ultrawork λͺ¨λμμλ μ€ν΅
|
|
50
|
-
β
|
|
51
|
-
Phase 2: Plan (skill: vibe-plan)
|
|
52
|
-
- 쑰건: plan νμΌ μμ
|
|
53
|
-
- interview β λ§ν¬λ€μ΄ κΈ°νμ μ μ
|
|
54
|
-
- μΆλ ₯: .claude/vibe/plans/{feature}.md
|
|
55
|
-
β
|
|
56
|
-
[Stop Gate 2 + λΆκΈ° νλ¨]
|
|
57
|
-
κΈ°νμ type μ½κ³ κ²½λ‘ κ²°μ :
|
|
58
|
-
- website/webapp/mobile β UI + Logic λ³λ ¬
|
|
59
|
-
- api/library/feature-data β Logicλ§
|
|
60
|
-
β
|
|
61
|
-
Phase 3: SPEC μμ± (skill: vibe-spec)
|
|
62
|
-
- PTCF ꡬ쑰 SPEC λ¬Έμ + Feature(BDD) νμΌ
|
|
63
|
-
- Parallel research (GPT/Gemini/Claude agents)
|
|
64
|
-
- Large scope μλ λΆν
|
|
65
|
-
- Ambiguity scan + νμ§ κ²μ΄νΈ(100μ , μλ ΄κΉμ§ 루ν)
|
|
66
|
-
- μΆλ ₯: .claude/vibe/specs/{feature}.md + .claude/vibe/features/{feature}.feature
|
|
67
|
-
β
|
|
68
|
-
Phase 4: SPEC Review (skill: vibe-spec-review)
|
|
69
|
-
- Race Review (GPT + Gemini, λΌμ΄λ μ μΊ‘ μμ, μλ ΄κΉμ§ 루ν)
|
|
70
|
-
- (μ΅μ
) Codex adversarial review
|
|
71
|
-
- μ¬μ©μ μ΅μ’
체ν¬ν¬μΈνΈ
|
|
72
|
-
β
|
|
73
|
-
Phase 5a: Logic Track β /vibe.run
|
|
74
|
-
Phase 5b: UI Track (λ³λ ¬, UI νλ‘μ νΈλ§) β /vibe.figma
|
|
75
|
-
β
|
|
76
|
-
Phase 6: Verify (/vibe.verify)
|
|
77
|
-
Phase 7: Trace (/vibe.trace)
|
|
78
|
-
β
|
|
79
|
-
Done
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Rules Reference
|
|
83
|
-
|
|
84
|
-
**`~/.claude/vibe/rules/` (global) μ€μ:**
|
|
85
|
-
|
|
86
|
-
- `core/development-philosophy.md`
|
|
87
|
-
- `core/quick-start.md` β Korean first
|
|
88
|
-
- `core/communication-guide.md`
|
|
89
|
-
|
|
90
|
-
## Process
|
|
91
|
-
|
|
92
|
-
> **β±οΈ Timer**: μμ μ `getCurrentTime` νΈμΆ, `{start_time}`λ‘ κΈ°λ‘.
|
|
93
|
-
|
|
94
|
-
### Phase 0: Git Branch Setup (MANDATORY)
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
git branch --show-current
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
| νμ¬ | νλ |
|
|
101
|
-
|-----|-----|
|
|
102
|
-
| `main`/`master` | μμ μ΄λ¦μΌλ‘ `git checkout -b vibe/tmp` (μ΄ν feature μ΄λ¦ νμ λλ©΄ 리λ€μ) |
|
|
103
|
-
| `feature/*`, `plan/*`, `interview/*`, `vibe/*` | νμΈ: "μ΄ λΈλμΉμμ κ³μ?" |
|
|
104
|
-
| κΈ°ν | μ¬μ©μ νμΈ |
|
|
105
|
-
|
|
106
|
-
### Phase 0.5: Input λΆμ + Smart Resume
|
|
107
|
-
|
|
108
|
-
**μ
λ ₯ μ°μ μμ:**
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
1. π μ²¨λΆ νμΌ μμ? β μ²¨λΆ λΆμ β feature name μΆμΆ
|
|
112
|
-
2. μΈμκ° νμΌ κ²½λ‘? β νμΌ μμΉλ‘ μμ λ¨κ³ κ²°μ :
|
|
113
|
-
.claude/vibe/interviews/*.md β Phase 2 (plan)
|
|
114
|
-
.claude/vibe/plans/*.md β Phase 3 (spec)
|
|
115
|
-
.claude/vibe/specs/*.md β Phase 4 (review)
|
|
116
|
-
κΈ°ν (.md/.txt/.pdf) β Phase 2 (plan, μΈλΆ PRD ν‘μ)
|
|
117
|
-
3. μΈμκ° feature name? β .claude/vibe/μμ κΈ°μ‘΄ νμΌ κ²μ
|
|
118
|
-
existing spec β "리뷰 μ¬μ€ν? μ΄μ΄μ? μ¬μμ±?" λ¬Όμ
|
|
119
|
-
existing plan β Phase 3 (spec)
|
|
120
|
-
existing interview β Phase 2 (plan)
|
|
121
|
-
μ무κ²λ μμ β Phase 1 (interview)
|
|
122
|
-
4. μΈμ μμ β Smart Resume Fallback μκ³ λ¦¬μ¦ μ€ν (μλ μ°Έμ‘°)
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
#### Smart Resume Fallback (μΈμ μλ `/vibe.spec` νΈμΆ μ)
|
|
126
|
-
|
|
127
|
-
**λͺ©μ **: feature μ΄λ¦μ κΈ°μ΅νμ§ λͺ»ν΄λ μ§ν μ€ μμ
μ μλ λ°κ²¬ν΄μ μ΄μ΄μ μ§νν μ μκ² νλ€.
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
μκ³ λ¦¬μ¦:
|
|
131
|
-
|
|
132
|
-
Step 1) .claude/vibe/.last-feature νμΈ (pointer νμΌ)
|
|
133
|
-
- νμΌ μμ β Step 2λ‘
|
|
134
|
-
- μ‘΄μ¬ β ν΄λΉ featureμ μν μμ½ μΆλ ₯ + νμΈ μ§λ¬Έ:
|
|
135
|
-
"ββββββββββββββββββββββββββββββββββββββββββββ
|
|
136
|
-
π λ§μ§λ§ μμ
: {feature-name}
|
|
137
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
138
|
-
β
interview: .claude/vibe/interviews/{feature}.md (status: complete, NμΌ μ )
|
|
139
|
-
β
plan: .claude/vibe/plans/{feature}.md (NμΌ μ )
|
|
140
|
-
β spec: μμ
|
|
141
|
-
β λ€μ λ¨κ³: Phase 3 (vibe-spec μ€ν¬ β SPEC μμ±)
|
|
142
|
-
|
|
143
|
-
μ΄μ΄μ μ§νν κΉμ?
|
|
144
|
-
Enter / yes β μ΄μ΄μ μ§ν
|
|
145
|
-
list β λ€λ₯Έ μ§ν μ€ μμ
λͺ©λ‘ 보기
|
|
146
|
-
new β μ μμ΄λμ΄λ‘ μμ
|
|
147
|
-
abort β μ’
λ£"
|
|
148
|
-
|
|
149
|
-
- yes β Phase 0.5μ μΈμ λΆμ κ²½λ‘ 3λ² (feature name)μΌλ‘ μ§μ
|
|
150
|
-
- list β Step 2λ‘
|
|
151
|
-
- new β Step 3μΌλ‘
|
|
152
|
-
- abort β μ’
λ£
|
|
153
|
-
|
|
154
|
-
Step 2) μ§ν μ€ μμ
λͺ©λ‘ νμ (.claude/vibe/ λλ ν 리 μ€μΊ)
|
|
155
|
-
μμ§:
|
|
156
|
-
features = {} (feature name β {hasInterview, hasPlan, hasSpec, mtime})
|
|
157
|
-
for each file in .claude/vibe/interviews/*.md:
|
|
158
|
-
feature = basename without .md
|
|
159
|
-
features[feature].hasInterview = true
|
|
160
|
-
features[feature].interviewMtime = file.mtime
|
|
161
|
-
features[feature].interviewStatus = frontmatterμ status (complete/partial)
|
|
162
|
-
λμΌνκ² plans/*.md, specs/*.md μ€μΊ
|
|
163
|
-
|
|
164
|
-
μ λ ¬: κ°μ₯ μ΅κ·Ό μμ
(max mtime) μ
|
|
165
|
-
μ΅λ 10κ°κΉμ§ νμ
|
|
166
|
-
|
|
167
|
-
μ§ν μ€ μμ
0κ° β Step 3μΌλ‘
|
|
168
|
-
1κ° μ΄μ β λͺ©λ‘ μΆλ ₯ + μ ν μ§λ¬Έ:
|
|
169
|
-
"ββββββββββββββββββββββββββββββββββββββββββββ
|
|
170
|
-
π μ§ν μ€μΈ μμ
|
|
171
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
172
|
-
|
|
173
|
-
1. bean-landing [interview: partial] 2μΌ μ
|
|
174
|
-
2. todo-app [plan: complete] μ΄μ
|
|
175
|
-
3. payment-api [spec: complete] λ°©κΈ μ
|
|
176
|
-
βββββββββββββββββββββββββββββββββββββββββββββ
|
|
177
|
-
n. β μλ‘ μμ
|
|
178
|
-
a. μ’
λ£
|
|
179
|
-
|
|
180
|
-
μ ν λ²νΈ λλ feature μ΄λ¦μ μ
λ ₯νμΈμ:"
|
|
181
|
-
|
|
182
|
-
μ¬μ©μ μλ΅ μ²λ¦¬:
|
|
183
|
-
- μ«μ (1~N) β ν΄λΉ feature μ ν β μΈμ λΆμ κ²½λ‘ 3λ²μΌλ‘
|
|
184
|
-
- μ νν feature μ΄λ¦ β μΈμ λΆμ κ²½λ‘ 3λ²μΌλ‘
|
|
185
|
-
- "n" λλ "new" β Step 3μΌλ‘
|
|
186
|
-
- "a" λλ "abort" β μ’
λ£
|
|
187
|
-
- μμ ν
μ€νΈ (λ§€μΉ μμ) β "{μ
λ ₯}μ κΈ°μ‘΄ featureκ° μλλλ€. μλ‘ μμν κΉμ? (y/n)" νμΈ
|
|
188
|
-
|
|
189
|
-
Step 3) λΉ μμ (κΈ°μ‘΄ λμ)
|
|
190
|
-
"π 무μμ λ§λ€κ³ μΆμΌμ κ°μ?" μ§λ¬Έ β Phase 1 (interview)
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
#### `.last-feature` ν¬μΈν° νμΌ κ°±μ κ·μΉ
|
|
194
|
-
|
|
195
|
-
```
|
|
196
|
-
κ²½λ‘: .claude/vibe/.last-feature
|
|
197
|
-
νμ: ν μ€, feature nameλ§ μ μ₯
|
|
198
|
-
μ: "bean-landing\n"
|
|
199
|
-
|
|
200
|
-
β μ΄ νμΌμ **κ°μΈ μμ
ν¬μΈν°**μ΄λ―λ‘ gitμ 컀λ°νμ§ μλλ€.
|
|
201
|
-
`.gitignore` μ `.claude/vibe/.last-feature` μνΈλ¦¬ νμ.
|
|
202
|
-
|
|
203
|
-
κ°±μ μμ :
|
|
204
|
-
- Phase 1 (interview) μ§μ
μ β feature name κ²°μ λλ©΄ μ¦μ κΈ°λ‘
|
|
205
|
-
- Phase 2 (plan) μ§μ
μ β κΈ°λ‘ (μ΄λ―Έ λ§μΌλ©΄ no-op)
|
|
206
|
-
- Phase 3 (spec) μ§μ
μ β κΈ°λ‘
|
|
207
|
-
- Phase 4 (review) μ§μ
μ β κΈ°λ‘
|
|
208
|
-
|
|
209
|
-
μ¦, μ΄λ Phaseμμ λ©μΆλ λ€μ /vibe.spec νΈμΆ μ μ΄ featureκ° 1μμλ‘ μ μλλ€.
|
|
210
|
-
|
|
211
|
-
μμ μμ :
|
|
212
|
-
- Phase 7 (trace) μλ£ μ β νμΌ μμ (μν¬νλ‘ μμ£Ό)
|
|
213
|
-
- μ¬μ©μκ° λͺ
μμ μΌλ‘ μ’
λ£/abort μ ν μ β μμ νμ§ μμ (μ¬κ° κ°λ₯νκ²)
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**μΆλ ₯ μμ:**
|
|
217
|
-
|
|
218
|
-
```
|
|
219
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
220
|
-
π Input λΆμ
|
|
221
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
222
|
-
|
|
223
|
-
μ
λ ₯: "ν¨λ΄λμ€ μΉμ¬μ΄νΈ"
|
|
224
|
-
λΆλ₯: μ κ· μμ΄λμ΄
|
|
225
|
-
κΈ°μ‘΄ νμΌ: μμ
|
|
226
|
-
|
|
227
|
-
β μμ λ¨κ³: Phase 1 (vibe-interview)
|
|
228
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Phase 1: Interview (쑰건λΆ)
|
|
232
|
-
|
|
233
|
-
**μ§μ
쑰건:** interview νμΌμ΄ μμ§ μμ
|
|
234
|
-
|
|
235
|
-
**μ§μ
λ°©μ:**
|
|
236
|
-
|
|
237
|
-
1. **μΈμ μμ** (`/vibe.spec "μμ΄λμ΄"`)
|
|
238
|
-
β `vibe-interview` μ€ν¬ λ‘λ + μμ΄λμ΄ μ λ¬
|
|
239
|
-
|
|
240
|
-
2. **μΈμ μμ** (`/vibe.spec`)
|
|
241
|
-
β **Smart Resume Fallback λ¨Όμ ** (Phase 0.5 μ°Έμ‘°):
|
|
242
|
-
- `.last-feature` μκ³ μ¬μ©μκ° "μ΄μ΄μ" μ ν β ν΄λΉ featureλ‘ μ§μ
(μ΄ Phase 1 건λλΈ μ μμ)
|
|
243
|
-
- μ§ν μ€ μμ
λͺ©λ‘μμ μ ν β ν΄λΉ featureλ‘ μ§μ
|
|
244
|
-
- "new" μ ν or μ§ν μ€ μμ
μμ β μλ μ§λ¬ΈμΌλ‘ λΉ μμ
|
|
245
|
-
β λΉ μμ μ§λ¬Έ:
|
|
246
|
-
```
|
|
247
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
248
|
-
π 무μμ λ§λ€κ³ μΆμΌμ κ°μ?
|
|
249
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
250
|
-
|
|
251
|
-
μ:
|
|
252
|
-
- "ν¨λ΄λμ€ μΉμ¬μ΄νΈ"
|
|
253
|
-
- "ν μΌ κ΄λ¦¬ μ±"
|
|
254
|
-
- "Stripe κ²°μ μ°λ API"
|
|
255
|
-
- λλ μμ λ‘κ² μ€λͺ
|
|
256
|
-
|
|
257
|
-
(νμΌ/μ΄λ―Έμ§ 첨λΆλ κ°λ₯)
|
|
258
|
-
```
|
|
259
|
-
β μ¬μ©μ μλ΅ β `vibe-interview` μ€ν¬ λ‘λ
|
|
260
|
-
|
|
261
|
-
**μ€ν¬ λ‘λ:**
|
|
262
|
-
|
|
263
|
-
```
|
|
264
|
-
Load skill `vibe-interview` with input: {user_idea}
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
> **`.last-feature` κ°±μ **: vibe-interview μ€ν¬μ΄ feature nameμ νμ νλ μ¦μ `.claude/vibe/.last-feature` μ ν μ€λ‘ κΈ°λ‘. μ΄ν Phase 2/3/4 μ§μ
μμλ λμΌ κΈ°λ‘ μ μ§ (κ°μ΄ κ°μΌλ©΄ no-op).
|
|
268
|
-
|
|
269
|
-
`vibe-interview` μ€ν¬μ΄ μ체μ μΌλ‘:
|
|
270
|
-
- νλ‘μ νΈ νμ
κ°μ§ (website/webapp/mobile/api/library/feature)
|
|
271
|
-
- νμ
λ³ μ²΄ν¬λ¦¬μ€νΈ λ‘λ (`skills/vibe-interview/checklists/{type}.md`)
|
|
272
|
-
- λ°λ³΅ μΈν°λ·° μ€ν (μ¬μ©μ "κ·Έλ§"κΉμ§)
|
|
273
|
-
- `.claude/vibe/interviews/{feature-name}.md` μ μ₯
|
|
274
|
-
|
|
275
|
-
**Stop Gate 1**: Interview μλ£ ν (ultrawork λͺ¨λ μ€ν΅)
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
279
|
-
β
Interview μλ£
|
|
280
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
281
|
-
|
|
282
|
-
π .claude/vibe/interviews/{feature}.md
|
|
283
|
-
Required: N/M | Optional: K/L | Discovered: X
|
|
284
|
-
|
|
285
|
-
λ€μ λ¨κ³: κΈ°νμ μμ±
|
|
286
|
-
1. κ³μ μ§ν (κΈ°λ³Έ)
|
|
287
|
-
2. Interviewλ§ μ μ₯νκ³ μ’
λ£
|
|
288
|
-
3. Interview μμ ν λ€μ (vibe-interview μ¬μ€ν)
|
|
289
|
-
|
|
290
|
-
Enter β κ³μ
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Phase 2: Plan (쑰건λΆ)
|
|
294
|
-
|
|
295
|
-
**μ§μ
쑰건:** plan νμΌμ΄ μμ§ μμ
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
Load skill `vibe-plan` with input: .claude/vibe/interviews/{feature}.md
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
`vibe-plan` μ€ν¬μ΄ μ체μ μΌλ‘:
|
|
302
|
-
- ν
νλ¦Ώ λ‘λ (`~/.claude/vibe/templates/plan-template.md`)
|
|
303
|
-
- Interview μΉμ
λ³ μ μ
|
|
304
|
-
- UI μΉμ
μ‘°κ±΄λΆ ν¬ν¨ (type κΈ°λ°)
|
|
305
|
-
- `.claude/vibe/plans/{feature}.md` μ μ₯
|
|
306
|
-
|
|
307
|
-
**Stop Gate 2**: κΈ°νμ μλ£ ν + λΆκΈ° νλ¨ (ultrawork λͺ¨λ μ€ν΅)
|
|
308
|
-
|
|
309
|
-
```
|
|
310
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
311
|
-
β
κΈ°νμ μμ±
|
|
312
|
-
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
313
|
-
|
|
314
|
-
π .claude/vibe/plans/{feature}.md
|
|
315
|
-
Type: {type}
|
|
316
|
-
|
|
317
|
-
{type β UI}:
|
|
318
|
-
μλ κ²½λ‘: SPEC μμ± β Review β Logic Track + UI Track λ³λ ¬ μ€ν
|
|
319
|
-
1. κ³μ (κΆμ₯)
|
|
320
|
-
2. Logic Trackλ§ (SPECλ§)
|
|
321
|
-
3. UI Trackλ§ (/vibe.figma λ°λ‘)
|
|
322
|
-
4. μ¬κΈ°μ μ’
λ£
|
|
323
|
-
|
|
324
|
-
{type β non-UI}:
|
|
325
|
-
μλ κ²½λ‘: SPEC μμ± β Review β Logic Track
|
|
326
|
-
1. κ³μ (κΆμ₯)
|
|
327
|
-
2. μ¬κΈ°μ μ’
λ£
|
|
328
|
-
|
|
329
|
-
Enter β κ³μ
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Phase 3: SPEC μμ±
|
|
333
|
-
|
|
334
|
-
**μ§μ
쑰건:** spec νμΌμ΄ μμ§ μμ (λλ μ¬μμ± μμ²)
|
|
335
|
-
|
|
336
|
-
```
|
|
337
|
-
Load skill `vibe-spec` with input: .claude/vibe/plans/{feature}.md
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
`vibe-spec` μ€ν¬μ΄ PTCF ꡬ쑰 SPEC λ¬Έμ + Feature(BDD) νμΌ μμ±.
|
|
341
|
-
|
|
342
|
-
**ν΅μ¬ λ¨κ³** (μμΈλ `skills/vibe-spec/SKILL.md` μ°Έμ‘°):
|
|
343
|
-
|
|
344
|
-
1. Project analysis (explorer agent)
|
|
345
|
-
2. config.json references λ‘λ
|
|
346
|
-
3. Parallel research (GPT + Gemini + Claude agents, 8κ° λ³λ ¬)
|
|
347
|
-
4. UI/UX Design Intelligence (UI ν€μλ μ μλ)
|
|
348
|
-
5. PTCF SPEC μμ± (Large scope μλ λΆν )
|
|
349
|
-
6. Feature file (BDD) μμ±
|
|
350
|
-
7. Ambiguity scan
|
|
351
|
-
8. Quality gate (100μ , μλ ΄κΉμ§ 루ν)
|
|
352
|
-
|
|
353
|
-
**μΆλ ₯:**
|
|
354
|
-
|
|
355
|
-
- `.claude/vibe/specs/{feature-name}.md` (λλ split folder)
|
|
356
|
-
- `.claude/vibe/features/{feature-name}.feature` (λλ split folder)
|
|
357
|
-
|
|
358
|
-
### Phase 4: SPEC Review
|
|
359
|
-
|
|
360
|
-
```
|
|
361
|
-
Load skill `vibe-spec-review` with feature: {feature-name}
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
`vibe-spec-review` μ€ν¬μ΄ Race Review + νμ§ κ²μ¦ + μ¬μ©μ 체ν¬ν¬μΈνΈ μ€ν.
|
|
365
|
-
|
|
366
|
-
**ν΅μ¬ λ¨κ³** (μμΈλ `skills/vibe-spec-review/SKILL.md` μ°Έμ‘°):
|
|
367
|
-
|
|
368
|
-
1. SPEC/Feature νμΌ λ‘λ (single/split μλ κ°μ§)
|
|
369
|
-
2. Quality Validation (100μ κ²μ΄νΈ, μλ ΄κΉμ§ auto-fix 루ν)
|
|
370
|
-
3. Race Review (GPT + Gemini parallel, λΌμ΄λ μ μΊ‘ μμ, P1=0 + μλ ΄ μ μ’
λ£)
|
|
371
|
-
4. (μ΅μ
) Codex adversarial review
|
|
372
|
-
5. Review Debate Team (2+ P1/P2 μ΄μ μ)
|
|
373
|
-
6. μ¬μ©μ μ΅μ’
체ν¬ν¬μΈνΈ
|
|
374
|
-
|
|
375
|
-
### Phase 4.5: Contract Extract (auto, only for features with an API)
|
|
376
|
-
|
|
377
|
-
```
|
|
378
|
-
Load skill `vibe-contract` with: extract "{feature-name}"
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
If the SPEC has a `## API` / `## Endpoints` / `## Interface` section, extract the contract to `.claude/vibe/contracts/{feature-name}.md`. If the section is absent, exit cleanly (not every feature has an API).
|
|
382
|
-
|
|
383
|
-
The contract is referenced during Phase 5a implementation, and used by `/vibe.verify` for drift detection.
|
|
384
|
-
|
|
385
|
-
### Phase 5a: Logic Track
|
|
386
|
-
|
|
387
|
-
```
|
|
388
|
-
/vibe.run "{feature-name}"
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
SPEC β code. Auto-checks at start:
|
|
392
|
-
- `/vibe.regress list --feature {feature-name}` β warn if any open regressions exist
|
|
393
|
-
- `.claude/vibe/contracts/{feature-name}.md` β load if present, use as implementation guide
|
|
394
|
-
|
|
395
|
-
### Phase 5b: UI Track (type β {website, webapp, mobile}μΌ λλ§)
|
|
396
|
-
|
|
397
|
-
**5aμ λ³λ ¬ μ€ν** (λλ μμ°¨ β μ¬μ©μ μ ν):
|
|
398
|
-
|
|
399
|
-
```
|
|
400
|
-
/vibe.figma
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
**`/vibe.figma`μ μ λ¬ν 컨ν
μ€νΈ:**
|
|
404
|
-
|
|
405
|
-
- `.claude/vibe/plans/{feature}.md` κ²½λ‘
|
|
406
|
-
- κΈ°νμμ Β§7 Look & Feel, Β§8 λ μ΄μμ, Β§9 λ°μν μΉμ
μ Phase 1 μ€ν 리보λ μ
λ ₯μΌλ‘ μ¬μ©
|
|
407
|
-
|
|
408
|
-
### Phase 6: Verify
|
|
409
|
-
|
|
410
|
-
```
|
|
411
|
-
/vibe.verify "{feature-name}"
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
UI + λ‘μ§ + μ°κ²° κ²μ¦ (νμ PRμμ 3μΆ νμ₯ μμ ).
|
|
415
|
-
|
|
416
|
-
### Phase 7: Trace
|
|
417
|
-
|
|
418
|
-
```
|
|
419
|
-
/vibe.trace "{feature-name}"
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
SPEC β ꡬν μΆμ .
|
|
423
|
-
|
|
424
|
-
> **Phase 7 μλ£ μ**: `.claude/vibe/.last-feature` μμ (μν¬νλ‘ μμ£Ό β λ€μ `/vibe.spec` νΈμΆμ λΉ μμ λλ μ§ν μ€ μμ
λͺ©λ‘μμ μμ).
|
|
425
|
-
|
|
426
|
-
## ultrawork λͺ¨λ
|
|
427
|
-
|
|
428
|
-
`ultrawork` (λλ `ulw`)κ° μΈμμ ν¬ν¨λλ©΄:
|
|
429
|
-
|
|
430
|
-
- **λͺ¨λ Stop Gate μ€ν΅**
|
|
431
|
-
- interview β plan β spec β review β run β (figma λ³λ ¬) μ 체 μλ μ€ν
|
|
432
|
-
- askUser 체ν¬ν¬μΈνΈ μ€ν΅, κΈ°λ³Έκ° μ¬μ©
|
|
433
|
-
- μλ κ°μ
μμ΄ μμ£Ό
|
|
434
|
-
|
|
435
|
-
```
|
|
436
|
-
/vibe.spec "ν¨λ΄λμ€ μΉμ¬μ΄νΈ" ultrawork
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
## Smart Resume μμ
|
|
440
|
-
|
|
441
|
-
### μμ 1: μ κ· νλ‘μ νΈ
|
|
442
|
-
```
|
|
443
|
-
User: /vibe.spec "μλ λΈλλ λλ©"
|
|
444
|
-
|
|
445
|
-
Claude: π Input λΆμ
|
|
446
|
-
μ
λ ₯: "μλ λΈλλ λλ©"
|
|
447
|
-
λΆλ₯: μ κ· μμ΄λμ΄
|
|
448
|
-
κΈ°μ‘΄ νμΌ: μμ
|
|
449
|
-
β μμ λ¨κ³: Phase 1 (vibe-interview)
|
|
450
|
-
|
|
451
|
-
[vibe-interview μ€ν¬ λ‘λ]
|
|
452
|
-
Type: website κ°μ§ β checklists/website.md λ‘λ
|
|
453
|
-
...
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
### μμ 2: κΈ°νμμμ μμ
|
|
457
|
-
```
|
|
458
|
-
User: /vibe.spec ".claude/vibe/plans/bean-landing.md"
|
|
459
|
-
|
|
460
|
-
Claude: π Input λΆμ
|
|
461
|
-
μ
λ ₯: plan νμΌ κ²½λ‘
|
|
462
|
-
λΆλ₯: κΈ°μ‘΄ κΈ°νμ
|
|
463
|
-
Feature: bean-landing
|
|
464
|
-
β μμ λ¨κ³: Phase 3 (vibe-spec)
|
|
465
|
-
|
|
466
|
-
[vibe-spec μ€ν¬ λ‘λ]
|
|
467
|
-
κΈ°νμ μ½κΈ° β research β PTCF μμ± ...
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
### μμ 3: κΈ°μ‘΄ feature μ¬κ°
|
|
471
|
-
```
|
|
472
|
-
User: /vibe.spec "bean-landing"
|
|
473
|
-
|
|
474
|
-
Claude: π Input λΆμ
|
|
475
|
-
μ
λ ₯: feature name
|
|
476
|
-
κΈ°μ‘΄ νμΌ κ²μ...
|
|
477
|
-
β
interview: .claude/vibe/interviews/bean-landing.md
|
|
478
|
-
β
plan: .claude/vibe/plans/bean-landing.md
|
|
479
|
-
β spec: μμ
|
|
480
|
-
β μμ λ¨κ³: Phase 3 (vibe-spec)
|
|
481
|
-
|
|
482
|
-
[vibe-spec μ€ν¬ λ‘λ]
|
|
483
|
-
...
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
### μμ 4: SPEC 리뷰 μ¬μ€ν
|
|
487
|
-
```
|
|
488
|
-
User: /vibe.spec "bean-landing"
|
|
489
|
-
|
|
490
|
-
Claude: π Input λΆμ
|
|
491
|
-
κΈ°μ‘΄ νμΌ:
|
|
492
|
-
β
spec: .claude/vibe/specs/bean-landing.md
|
|
493
|
-
β
feature: .claude/vibe/features/bean-landing.feature
|
|
494
|
-
|
|
495
|
-
μ΄λ―Έ SPECμ΄ μ‘΄μ¬ν©λλ€. μ΄λ»κ² μ§νν κΉμ?
|
|
496
|
-
1. SPEC 리뷰 (Phase 4: vibe-spec-review μ€ν¬ λ‘λ)
|
|
497
|
-
2. /vibe.run μ€ν (ꡬν)
|
|
498
|
-
3. SPEC μ¬μμ± (κΈ°μ‘΄ λ°±μ
ν μλ‘ μμ±)
|
|
499
|
-
4. μ’
λ£
|
|
500
|
-
```
|
|
501
|
-
|
|
502
|
-
### μμ 5: feature μ΄λ¦μ μκ³ μΈμ μμ΄ νΈμΆ (Smart Resume Fallback)
|
|
503
|
-
```
|
|
504
|
-
User: /vibe.spec
|
|
505
|
-
|
|
506
|
-
Claude: (.last-feature μ½κΈ° β "bean-landing" λ°κ²¬)
|
|
507
|
-
|
|
508
|
-
π λ§μ§λ§ μμ
: bean-landing
|
|
509
|
-
β
interview: .claude/vibe/interviews/bean-landing.md (status: partial, 2μΌ μ )
|
|
510
|
-
β plan: μμ
|
|
511
|
-
β spec: μμ
|
|
512
|
-
β λ€μ λ¨κ³: Phase 2 (vibe-plan β κΈ°νμ μμ±)
|
|
513
|
-
|
|
514
|
-
μ΄μ΄μ μ§νν κΉμ?
|
|
515
|
-
Enter / yes β μ΄μ΄μ μ§ν
|
|
516
|
-
list β λ€λ₯Έ μ§ν μ€ μμ
λͺ©λ‘ 보기
|
|
517
|
-
new β μ μμ΄λμ΄λ‘ μμ
|
|
518
|
-
abort β μ’
λ£
|
|
519
|
-
|
|
520
|
-
User: yes
|
|
521
|
-
|
|
522
|
-
Claude: [Phase 2 μ§μ
]
|
|
523
|
-
.last-feature = bean-landing
|
|
524
|
-
[vibe-plan μ€ν¬ λ‘λ]
|
|
525
|
-
...
|
|
526
|
-
```
|
|
527
|
-
|
|
528
|
-
### μμ 6: μ¬λ¬ feature μ€ μ ν (Fallback list λͺ¨λ)
|
|
529
|
-
```
|
|
530
|
-
User: /vibe.spec
|
|
531
|
-
|
|
532
|
-
Claude: (.last-feature μμ β λλ ν 리 μ€μΊ)
|
|
533
|
-
|
|
534
|
-
π μ§ν μ€μΈ μμ
|
|
535
|
-
|
|
536
|
-
1. bean-landing [interview: partial] 2μΌ μ
|
|
537
|
-
2. todo-app [plan: complete] μ΄μ
|
|
538
|
-
3. payment-api [spec: complete] λ°©κΈ μ
|
|
539
|
-
βββββββββββββββββββββββββββββββββββββββββββββ
|
|
540
|
-
n. β μλ‘ μμ
|
|
541
|
-
a. μ’
λ£
|
|
542
|
-
|
|
543
|
-
μ ν λ²νΈ λλ feature μ΄λ¦μ μ
λ ₯νμΈμ:
|
|
544
|
-
|
|
545
|
-
User: 2
|
|
546
|
-
|
|
547
|
-
Claude: Feature: todo-app μ ν
|
|
548
|
-
β
plan μμ± β Phase 3 (vibe-spec) μ§μ
|
|
549
|
-
.last-feature = todo-app
|
|
550
|
-
...
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
## Rollback / Resume
|
|
554
|
-
|
|
555
|
-
- κ° Phase μ’
λ£ μ μνκ° `.claude/vibe/{interviews,plans,specs,features}/`μ μ μ₯λ¨
|
|
556
|
-
- **`.claude/vibe/.last-feature` pointer**κ° κ° Phase μ§μ
μ κ°±μ λμ΄ "κ°μ₯ μ΅κ·Όμ μμ
ν feature" μΆμ (Phase 7 μμ£Ό μ μμ )
|
|
557
|
-
- μ€λ¨ μ λ€μ `/vibe.spec`μΌλ‘ λμμ€λ©΄ Smart Resume Fallback λμ:
|
|
558
|
-
- μΈμ μμ (`/vibe.spec "feature-name"` λλ νμΌ κ²½λ‘) β ν΄λΉ featureμ κ°μ₯ μ§νλ λ¨κ³ λ€μμΌλ‘ λ°λ‘ μ§μ
|
|
559
|
-
- μΈμ μμ β `.last-feature` μ°μ μ μ β κ±°λΆνλ©΄ μ§ν μ€ μμ
λͺ©λ‘ μ μ β λ κ±°λΆνλ©΄ λΉ μμ
|
|
560
|
-
- μλ κ°μ
νμμ μ€ν¬ μ§μ νΈμΆ κ°λ₯ (`Load skill vibe-interview` λ±)
|
|
561
|
-
|
|
562
|
-
## Next Step
|
|
563
|
-
|
|
564
|
-
```
|
|
565
|
-
# μ νμ μΈ μ¬μ©
|
|
566
|
-
/vibe.spec "νλ‘μ νΈ μμ΄λμ΄"
|
|
567
|
-
|
|
568
|
-
# μ€κ° λ¨κ³ μ¬κ°
|
|
569
|
-
/vibe.spec "feature-name"
|
|
570
|
-
|
|
571
|
-
# ultrawork μλ μμ£Ό
|
|
572
|
-
/vibe.spec "feature-name" ultrawork
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
---
|
|
576
|
-
|
|
577
|
-
ARGUMENTS: $ARGUMENTS
|
|
1
|
+
---
|
|
2
|
+
description: νλ‘μ νΈ λͺ
μΈ ν΅ν© μ§μ
μ β interview β plan β spec β review β run/figma μ 체 μν¬νλ‘ μ€μΌμ€νΈλ μ΄μ
|
|
3
|
+
argument-hint: "(μ ν) feature name, plan/interview file path, or idea"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /vibe.spec
|
|
7
|
+
|
|
8
|
+
**vibe μν¬νλ‘ ν΅ν© μ§μ
μ .** "무μμ κ°λ°ν μ§" μ§λ¬ΈμΌλ‘ μμν΄μ interview β plan β SPEC μμ± β review β ꡬν + UI λμμΈκΉμ§ μ 체 νλ¦μ μ€μΌμ€νΈλ μ΄μ
νλ€.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/vibe.spec # λΉ μμ β "무μμ λ§λ€κΉμ?"λΆν°
|
|
14
|
+
/vibe.spec "ν¨λ΄λμ€ μΉμ¬μ΄νΈ" # μμ΄λμ΄/νΌμ²λͺ
μ§μ μμ
|
|
15
|
+
/vibe.spec ".claude/vibe/plans/{feature}.md" # κΈ°νμ μ
λ ₯ (plan λ¨κ³ μ€ν΅)
|
|
16
|
+
/vibe.spec ".claude/vibe/interviews/{feature}.md" # interview μ
λ ₯ (interview λ¨κ³ μ€ν΅)
|
|
17
|
+
/vibe.spec "docs/prd.md" # μΈλΆ PRD/μμ΄λμ΄ νμΌ μ
λ ₯
|
|
18
|
+
/vibe.spec + π μ²¨λΆ # μ²¨λΆ κΈ°λ° μμ
|
|
19
|
+
/vibe.spec "feature-name" ultrawork # μ€λ¨ κ²μ΄νΈ μμ΄ μλ μ νλ¦ μ€ν
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Philosophy
|
|
23
|
+
|
|
24
|
+
> **μ¬μ©μλ "무μμ λ§λ€μ§"λ§ λ§νλ©΄ λλ€. μ΄λ€ μ€ν¬μ μΈμ λΆλ₯Όμ§λ vibeκ° κ²°μ νλ€.**
|
|
25
|
+
|
|
26
|
+
- **λ¨μΌ μ§μ
μ **: `/vibe.spec` νλλ‘ μ 체 μν¬νλ‘ μμ. λ€λ₯Έ `/vibe.*` 컀맨λ μ΄λ¦ μΈμΈ νμ μμ.
|
|
27
|
+
- **Smart resume**: κΈ°μ‘΄ interview/plan/spec νμΌ μ‘΄μ¬ μ¬λΆλ‘ μ΄λ λ¨κ³λΆν° μμν μ§ μλ νλ¨.
|
|
28
|
+
- **μλ 체μ΄λ**: μ€ν¬ `chain-next` λ©νλ°μ΄ν° λ°λΌ vibe-interview β vibe-plan β vibe-spec β vibe-spec-review μ§ν.
|
|
29
|
+
- **λΆκΈ° νλ¨**: κΈ°νμμ `type` νλλ‘ UI νΈλ/λ‘μ§ νΈλ μ¬λΆ κ²°μ .
|
|
30
|
+
- **μ¬μ©μ μ μ΄**: κ° λ¨κ³ μ¬μ΄μ μ¬μ©μ νμΈ μ§μ (stop gate) μ 곡 (ultrawork λͺ¨λλ μ€ν΅).
|
|
31
|
+
|
|
32
|
+
## Flow
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
/vibe.spec ["input"?]
|
|
36
|
+
β
|
|
37
|
+
Phase 0: Git branch setup
|
|
38
|
+
β
|
|
39
|
+
Phase 0.5: Input λΆμ + Smart resume κ²°μ
|
|
40
|
+
- 첨λΆ/νμΌ/μμ΄λμ΄ κ°μ§
|
|
41
|
+
- κΈ°μ‘΄ .claude/vibe/{interviews,plans,specs}/ νμΈ
|
|
42
|
+
- μμ λ¨κ³ κ²°μ : interview | plan | spec | review
|
|
43
|
+
β
|
|
44
|
+
Phase 1: Interview (skill: vibe-interview)
|
|
45
|
+
- 쑰건: interview νμΌ μμ
|
|
46
|
+
- μ¬μ©μ "κ·Έλ§"κΉμ§ λ°λ³΅ μΈν°λ·°
|
|
47
|
+
- μΆλ ₯: .claude/vibe/interviews/{feature}.md
|
|
48
|
+
β
|
|
49
|
+
[Stop Gate 1] β ultrawork λͺ¨λμμλ μ€ν΅
|
|
50
|
+
β
|
|
51
|
+
Phase 2: Plan (skill: vibe-plan)
|
|
52
|
+
- 쑰건: plan νμΌ μμ
|
|
53
|
+
- interview β λ§ν¬λ€μ΄ κΈ°νμ μ μ
|
|
54
|
+
- μΆλ ₯: .claude/vibe/plans/{feature}.md
|
|
55
|
+
β
|
|
56
|
+
[Stop Gate 2 + λΆκΈ° νλ¨]
|
|
57
|
+
κΈ°νμ type μ½κ³ κ²½λ‘ κ²°μ :
|
|
58
|
+
- website/webapp/mobile β UI + Logic λ³λ ¬
|
|
59
|
+
- api/library/feature-data β Logicλ§
|
|
60
|
+
β
|
|
61
|
+
Phase 3: SPEC μμ± (skill: vibe-spec)
|
|
62
|
+
- PTCF ꡬ쑰 SPEC λ¬Έμ + Feature(BDD) νμΌ
|
|
63
|
+
- Parallel research (GPT/Gemini/Claude agents)
|
|
64
|
+
- Large scope μλ λΆν
|
|
65
|
+
- Ambiguity scan + νμ§ κ²μ΄νΈ(100μ , μλ ΄κΉμ§ 루ν)
|
|
66
|
+
- μΆλ ₯: .claude/vibe/specs/{feature}.md + .claude/vibe/features/{feature}.feature
|
|
67
|
+
β
|
|
68
|
+
Phase 4: SPEC Review (skill: vibe-spec-review)
|
|
69
|
+
- Race Review (GPT + Gemini, λΌμ΄λ μ μΊ‘ μμ, μλ ΄κΉμ§ 루ν)
|
|
70
|
+
- (μ΅μ
) Codex adversarial review
|
|
71
|
+
- μ¬μ©μ μ΅μ’
체ν¬ν¬μΈνΈ
|
|
72
|
+
β
|
|
73
|
+
Phase 5a: Logic Track β /vibe.run
|
|
74
|
+
Phase 5b: UI Track (λ³λ ¬, UI νλ‘μ νΈλ§) β /vibe.figma
|
|
75
|
+
β
|
|
76
|
+
Phase 6: Verify (/vibe.verify)
|
|
77
|
+
Phase 7: Trace (/vibe.trace)
|
|
78
|
+
β
|
|
79
|
+
Done
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Rules Reference
|
|
83
|
+
|
|
84
|
+
**`~/.claude/vibe/rules/` (global) μ€μ:**
|
|
85
|
+
|
|
86
|
+
- `core/development-philosophy.md`
|
|
87
|
+
- `core/quick-start.md` β Korean first
|
|
88
|
+
- `core/communication-guide.md`
|
|
89
|
+
|
|
90
|
+
## Process
|
|
91
|
+
|
|
92
|
+
> **β±οΈ Timer**: μμ μ `getCurrentTime` νΈμΆ, `{start_time}`λ‘ κΈ°λ‘.
|
|
93
|
+
|
|
94
|
+
### Phase 0: Git Branch Setup (MANDATORY)
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git branch --show-current
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
| νμ¬ | νλ |
|
|
101
|
+
|-----|-----|
|
|
102
|
+
| `main`/`master` | μμ μ΄λ¦μΌλ‘ `git checkout -b vibe/tmp` (μ΄ν feature μ΄λ¦ νμ λλ©΄ 리λ€μ) |
|
|
103
|
+
| `feature/*`, `plan/*`, `interview/*`, `vibe/*` | νμΈ: "μ΄ λΈλμΉμμ κ³μ?" |
|
|
104
|
+
| κΈ°ν | μ¬μ©μ νμΈ |
|
|
105
|
+
|
|
106
|
+
### Phase 0.5: Input λΆμ + Smart Resume
|
|
107
|
+
|
|
108
|
+
**μ
λ ₯ μ°μ μμ:**
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
1. π μ²¨λΆ νμΌ μμ? β μ²¨λΆ λΆμ β feature name μΆμΆ
|
|
112
|
+
2. μΈμκ° νμΌ κ²½λ‘? β νμΌ μμΉλ‘ μμ λ¨κ³ κ²°μ :
|
|
113
|
+
.claude/vibe/interviews/*.md β Phase 2 (plan)
|
|
114
|
+
.claude/vibe/plans/*.md β Phase 3 (spec)
|
|
115
|
+
.claude/vibe/specs/*.md β Phase 4 (review)
|
|
116
|
+
κΈ°ν (.md/.txt/.pdf) β Phase 2 (plan, μΈλΆ PRD ν‘μ)
|
|
117
|
+
3. μΈμκ° feature name? β .claude/vibe/μμ κΈ°μ‘΄ νμΌ κ²μ
|
|
118
|
+
existing spec β "리뷰 μ¬μ€ν? μ΄μ΄μ? μ¬μμ±?" λ¬Όμ
|
|
119
|
+
existing plan β Phase 3 (spec)
|
|
120
|
+
existing interview β Phase 2 (plan)
|
|
121
|
+
μ무κ²λ μμ β Phase 1 (interview)
|
|
122
|
+
4. μΈμ μμ β Smart Resume Fallback μκ³ λ¦¬μ¦ μ€ν (μλ μ°Έμ‘°)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Smart Resume Fallback (μΈμ μλ `/vibe.spec` νΈμΆ μ)
|
|
126
|
+
|
|
127
|
+
**λͺ©μ **: feature μ΄λ¦μ κΈ°μ΅νμ§ λͺ»ν΄λ μ§ν μ€ μμ
μ μλ λ°κ²¬ν΄μ μ΄μ΄μ μ§νν μ μκ² νλ€.
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
μκ³ λ¦¬μ¦:
|
|
131
|
+
|
|
132
|
+
Step 1) .claude/vibe/.last-feature νμΈ (pointer νμΌ)
|
|
133
|
+
- νμΌ μμ β Step 2λ‘
|
|
134
|
+
- μ‘΄μ¬ β ν΄λΉ featureμ μν μμ½ μΆλ ₯ + νμΈ μ§λ¬Έ:
|
|
135
|
+
"ββββββββββββββββββββββββββββββββββββββββββββ
|
|
136
|
+
π λ§μ§λ§ μμ
: {feature-name}
|
|
137
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
138
|
+
β
interview: .claude/vibe/interviews/{feature}.md (status: complete, NμΌ μ )
|
|
139
|
+
β
plan: .claude/vibe/plans/{feature}.md (NμΌ μ )
|
|
140
|
+
β spec: μμ
|
|
141
|
+
β λ€μ λ¨κ³: Phase 3 (vibe-spec μ€ν¬ β SPEC μμ±)
|
|
142
|
+
|
|
143
|
+
μ΄μ΄μ μ§νν κΉμ?
|
|
144
|
+
Enter / yes β μ΄μ΄μ μ§ν
|
|
145
|
+
list β λ€λ₯Έ μ§ν μ€ μμ
λͺ©λ‘ 보기
|
|
146
|
+
new β μ μμ΄λμ΄λ‘ μμ
|
|
147
|
+
abort β μ’
λ£"
|
|
148
|
+
|
|
149
|
+
- yes β Phase 0.5μ μΈμ λΆμ κ²½λ‘ 3λ² (feature name)μΌλ‘ μ§μ
|
|
150
|
+
- list β Step 2λ‘
|
|
151
|
+
- new β Step 3μΌλ‘
|
|
152
|
+
- abort β μ’
λ£
|
|
153
|
+
|
|
154
|
+
Step 2) μ§ν μ€ μμ
λͺ©λ‘ νμ (.claude/vibe/ λλ ν 리 μ€μΊ)
|
|
155
|
+
μμ§:
|
|
156
|
+
features = {} (feature name β {hasInterview, hasPlan, hasSpec, mtime})
|
|
157
|
+
for each file in .claude/vibe/interviews/*.md:
|
|
158
|
+
feature = basename without .md
|
|
159
|
+
features[feature].hasInterview = true
|
|
160
|
+
features[feature].interviewMtime = file.mtime
|
|
161
|
+
features[feature].interviewStatus = frontmatterμ status (complete/partial)
|
|
162
|
+
λμΌνκ² plans/*.md, specs/*.md μ€μΊ
|
|
163
|
+
|
|
164
|
+
μ λ ¬: κ°μ₯ μ΅κ·Ό μμ
(max mtime) μ
|
|
165
|
+
μ΅λ 10κ°κΉμ§ νμ
|
|
166
|
+
|
|
167
|
+
μ§ν μ€ μμ
0κ° β Step 3μΌλ‘
|
|
168
|
+
1κ° μ΄μ β λͺ©λ‘ μΆλ ₯ + μ ν μ§λ¬Έ:
|
|
169
|
+
"ββββββββββββββββββββββββββββββββββββββββββββ
|
|
170
|
+
π μ§ν μ€μΈ μμ
|
|
171
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
172
|
+
|
|
173
|
+
1. bean-landing [interview: partial] 2μΌ μ
|
|
174
|
+
2. todo-app [plan: complete] μ΄μ
|
|
175
|
+
3. payment-api [spec: complete] λ°©κΈ μ
|
|
176
|
+
βββββββββββββββββββββββββββββββββββββββββββββ
|
|
177
|
+
n. β μλ‘ μμ
|
|
178
|
+
a. μ’
λ£
|
|
179
|
+
|
|
180
|
+
μ ν λ²νΈ λλ feature μ΄λ¦μ μ
λ ₯νμΈμ:"
|
|
181
|
+
|
|
182
|
+
μ¬μ©μ μλ΅ μ²λ¦¬:
|
|
183
|
+
- μ«μ (1~N) β ν΄λΉ feature μ ν β μΈμ λΆμ κ²½λ‘ 3λ²μΌλ‘
|
|
184
|
+
- μ νν feature μ΄λ¦ β μΈμ λΆμ κ²½λ‘ 3λ²μΌλ‘
|
|
185
|
+
- "n" λλ "new" β Step 3μΌλ‘
|
|
186
|
+
- "a" λλ "abort" β μ’
λ£
|
|
187
|
+
- μμ ν
μ€νΈ (λ§€μΉ μμ) β "{μ
λ ₯}μ κΈ°μ‘΄ featureκ° μλλλ€. μλ‘ μμν κΉμ? (y/n)" νμΈ
|
|
188
|
+
|
|
189
|
+
Step 3) λΉ μμ (κΈ°μ‘΄ λμ)
|
|
190
|
+
"π 무μμ λ§λ€κ³ μΆμΌμ κ°μ?" μ§λ¬Έ β Phase 1 (interview)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### `.last-feature` ν¬μΈν° νμΌ κ°±μ κ·μΉ
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
κ²½λ‘: .claude/vibe/.last-feature
|
|
197
|
+
νμ: ν μ€, feature nameλ§ μ μ₯
|
|
198
|
+
μ: "bean-landing\n"
|
|
199
|
+
|
|
200
|
+
β μ΄ νμΌμ **κ°μΈ μμ
ν¬μΈν°**μ΄λ―λ‘ gitμ 컀λ°νμ§ μλλ€.
|
|
201
|
+
`.gitignore` μ `.claude/vibe/.last-feature` μνΈλ¦¬ νμ.
|
|
202
|
+
|
|
203
|
+
κ°±μ μμ :
|
|
204
|
+
- Phase 1 (interview) μ§μ
μ β feature name κ²°μ λλ©΄ μ¦μ κΈ°λ‘
|
|
205
|
+
- Phase 2 (plan) μ§μ
μ β κΈ°λ‘ (μ΄λ―Έ λ§μΌλ©΄ no-op)
|
|
206
|
+
- Phase 3 (spec) μ§μ
μ β κΈ°λ‘
|
|
207
|
+
- Phase 4 (review) μ§μ
μ β κΈ°λ‘
|
|
208
|
+
|
|
209
|
+
μ¦, μ΄λ Phaseμμ λ©μΆλ λ€μ /vibe.spec νΈμΆ μ μ΄ featureκ° 1μμλ‘ μ μλλ€.
|
|
210
|
+
|
|
211
|
+
μμ μμ :
|
|
212
|
+
- Phase 7 (trace) μλ£ μ β νμΌ μμ (μν¬νλ‘ μμ£Ό)
|
|
213
|
+
- μ¬μ©μκ° λͺ
μμ μΌλ‘ μ’
λ£/abort μ ν μ β μμ νμ§ μμ (μ¬κ° κ°λ₯νκ²)
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**μΆλ ₯ μμ:**
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
220
|
+
π Input λΆμ
|
|
221
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
222
|
+
|
|
223
|
+
μ
λ ₯: "ν¨λ΄λμ€ μΉμ¬μ΄νΈ"
|
|
224
|
+
λΆλ₯: μ κ· μμ΄λμ΄
|
|
225
|
+
κΈ°μ‘΄ νμΌ: μμ
|
|
226
|
+
|
|
227
|
+
β μμ λ¨κ³: Phase 1 (vibe-interview)
|
|
228
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Phase 1: Interview (쑰건λΆ)
|
|
232
|
+
|
|
233
|
+
**μ§μ
쑰건:** interview νμΌμ΄ μμ§ μμ
|
|
234
|
+
|
|
235
|
+
**μ§μ
λ°©μ:**
|
|
236
|
+
|
|
237
|
+
1. **μΈμ μμ** (`/vibe.spec "μμ΄λμ΄"`)
|
|
238
|
+
β `vibe-interview` μ€ν¬ λ‘λ + μμ΄λμ΄ μ λ¬
|
|
239
|
+
|
|
240
|
+
2. **μΈμ μμ** (`/vibe.spec`)
|
|
241
|
+
β **Smart Resume Fallback λ¨Όμ ** (Phase 0.5 μ°Έμ‘°):
|
|
242
|
+
- `.last-feature` μκ³ μ¬μ©μκ° "μ΄μ΄μ" μ ν β ν΄λΉ featureλ‘ μ§μ
(μ΄ Phase 1 건λλΈ μ μμ)
|
|
243
|
+
- μ§ν μ€ μμ
λͺ©λ‘μμ μ ν β ν΄λΉ featureλ‘ μ§μ
|
|
244
|
+
- "new" μ ν or μ§ν μ€ μμ
μμ β μλ μ§λ¬ΈμΌλ‘ λΉ μμ
|
|
245
|
+
β λΉ μμ μ§λ¬Έ:
|
|
246
|
+
```
|
|
247
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
248
|
+
π 무μμ λ§λ€κ³ μΆμΌμ κ°μ?
|
|
249
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
250
|
+
|
|
251
|
+
μ:
|
|
252
|
+
- "ν¨λ΄λμ€ μΉμ¬μ΄νΈ"
|
|
253
|
+
- "ν μΌ κ΄λ¦¬ μ±"
|
|
254
|
+
- "Stripe κ²°μ μ°λ API"
|
|
255
|
+
- λλ μμ λ‘κ² μ€λͺ
|
|
256
|
+
|
|
257
|
+
(νμΌ/μ΄λ―Έμ§ 첨λΆλ κ°λ₯)
|
|
258
|
+
```
|
|
259
|
+
β μ¬μ©μ μλ΅ β `vibe-interview` μ€ν¬ λ‘λ
|
|
260
|
+
|
|
261
|
+
**μ€ν¬ λ‘λ:**
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
Load skill `vibe-interview` with input: {user_idea}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
> **`.last-feature` κ°±μ **: vibe-interview μ€ν¬μ΄ feature nameμ νμ νλ μ¦μ `.claude/vibe/.last-feature` μ ν μ€λ‘ κΈ°λ‘. μ΄ν Phase 2/3/4 μ§μ
μμλ λμΌ κΈ°λ‘ μ μ§ (κ°μ΄ κ°μΌλ©΄ no-op).
|
|
268
|
+
|
|
269
|
+
`vibe-interview` μ€ν¬μ΄ μ체μ μΌλ‘:
|
|
270
|
+
- νλ‘μ νΈ νμ
κ°μ§ (website/webapp/mobile/api/library/feature)
|
|
271
|
+
- νμ
λ³ μ²΄ν¬λ¦¬μ€νΈ λ‘λ (`skills/vibe-interview/checklists/{type}.md`)
|
|
272
|
+
- λ°λ³΅ μΈν°λ·° μ€ν (μ¬μ©μ "κ·Έλ§"κΉμ§)
|
|
273
|
+
- `.claude/vibe/interviews/{feature-name}.md` μ μ₯
|
|
274
|
+
|
|
275
|
+
**Stop Gate 1**: Interview μλ£ ν (ultrawork λͺ¨λ μ€ν΅)
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
279
|
+
β
Interview μλ£
|
|
280
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
281
|
+
|
|
282
|
+
π .claude/vibe/interviews/{feature}.md
|
|
283
|
+
Required: N/M | Optional: K/L | Discovered: X
|
|
284
|
+
|
|
285
|
+
λ€μ λ¨κ³: κΈ°νμ μμ±
|
|
286
|
+
1. κ³μ μ§ν (κΈ°λ³Έ)
|
|
287
|
+
2. Interviewλ§ μ μ₯νκ³ μ’
λ£
|
|
288
|
+
3. Interview μμ ν λ€μ (vibe-interview μ¬μ€ν)
|
|
289
|
+
|
|
290
|
+
Enter β κ³μ
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Phase 2: Plan (쑰건λΆ)
|
|
294
|
+
|
|
295
|
+
**μ§μ
쑰건:** plan νμΌμ΄ μμ§ μμ
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
Load skill `vibe-plan` with input: .claude/vibe/interviews/{feature}.md
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
`vibe-plan` μ€ν¬μ΄ μ체μ μΌλ‘:
|
|
302
|
+
- ν
νλ¦Ώ λ‘λ (`~/.claude/vibe/templates/plan-template.md`)
|
|
303
|
+
- Interview μΉμ
λ³ μ μ
|
|
304
|
+
- UI μΉμ
μ‘°κ±΄λΆ ν¬ν¨ (type κΈ°λ°)
|
|
305
|
+
- `.claude/vibe/plans/{feature}.md` μ μ₯
|
|
306
|
+
|
|
307
|
+
**Stop Gate 2**: κΈ°νμ μλ£ ν + λΆκΈ° νλ¨ (ultrawork λͺ¨λ μ€ν΅)
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
311
|
+
β
κΈ°νμ μμ±
|
|
312
|
+
ββββββββββββββββββββββββββββββββββββββββββββ
|
|
313
|
+
|
|
314
|
+
π .claude/vibe/plans/{feature}.md
|
|
315
|
+
Type: {type}
|
|
316
|
+
|
|
317
|
+
{type β UI}:
|
|
318
|
+
μλ κ²½λ‘: SPEC μμ± β Review β Logic Track + UI Track λ³λ ¬ μ€ν
|
|
319
|
+
1. κ³μ (κΆμ₯)
|
|
320
|
+
2. Logic Trackλ§ (SPECλ§)
|
|
321
|
+
3. UI Trackλ§ (/vibe.figma λ°λ‘)
|
|
322
|
+
4. μ¬κΈ°μ μ’
λ£
|
|
323
|
+
|
|
324
|
+
{type β non-UI}:
|
|
325
|
+
μλ κ²½λ‘: SPEC μμ± β Review β Logic Track
|
|
326
|
+
1. κ³μ (κΆμ₯)
|
|
327
|
+
2. μ¬κΈ°μ μ’
λ£
|
|
328
|
+
|
|
329
|
+
Enter β κ³μ
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Phase 3: SPEC μμ±
|
|
333
|
+
|
|
334
|
+
**μ§μ
쑰건:** spec νμΌμ΄ μμ§ μμ (λλ μ¬μμ± μμ²)
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
Load skill `vibe-spec` with input: .claude/vibe/plans/{feature}.md
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
`vibe-spec` μ€ν¬μ΄ PTCF ꡬ쑰 SPEC λ¬Έμ + Feature(BDD) νμΌ μμ±.
|
|
341
|
+
|
|
342
|
+
**ν΅μ¬ λ¨κ³** (μμΈλ `skills/vibe-spec/SKILL.md` μ°Έμ‘°):
|
|
343
|
+
|
|
344
|
+
1. Project analysis (explorer agent)
|
|
345
|
+
2. config.json references λ‘λ
|
|
346
|
+
3. Parallel research (GPT + Gemini + Claude agents, 8κ° λ³λ ¬)
|
|
347
|
+
4. UI/UX Design Intelligence (UI ν€μλ μ μλ)
|
|
348
|
+
5. PTCF SPEC μμ± (Large scope μλ λΆν )
|
|
349
|
+
6. Feature file (BDD) μμ±
|
|
350
|
+
7. Ambiguity scan
|
|
351
|
+
8. Quality gate (100μ , μλ ΄κΉμ§ 루ν)
|
|
352
|
+
|
|
353
|
+
**μΆλ ₯:**
|
|
354
|
+
|
|
355
|
+
- `.claude/vibe/specs/{feature-name}.md` (λλ split folder)
|
|
356
|
+
- `.claude/vibe/features/{feature-name}.feature` (λλ split folder)
|
|
357
|
+
|
|
358
|
+
### Phase 4: SPEC Review
|
|
359
|
+
|
|
360
|
+
```
|
|
361
|
+
Load skill `vibe-spec-review` with feature: {feature-name}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
`vibe-spec-review` μ€ν¬μ΄ Race Review + νμ§ κ²μ¦ + μ¬μ©μ 체ν¬ν¬μΈνΈ μ€ν.
|
|
365
|
+
|
|
366
|
+
**ν΅μ¬ λ¨κ³** (μμΈλ `skills/vibe-spec-review/SKILL.md` μ°Έμ‘°):
|
|
367
|
+
|
|
368
|
+
1. SPEC/Feature νμΌ λ‘λ (single/split μλ κ°μ§)
|
|
369
|
+
2. Quality Validation (100μ κ²μ΄νΈ, μλ ΄κΉμ§ auto-fix 루ν)
|
|
370
|
+
3. Race Review (GPT + Gemini parallel, λΌμ΄λ μ μΊ‘ μμ, P1=0 + μλ ΄ μ μ’
λ£)
|
|
371
|
+
4. (μ΅μ
) Codex adversarial review
|
|
372
|
+
5. Review Debate Team (2+ P1/P2 μ΄μ μ)
|
|
373
|
+
6. μ¬μ©μ μ΅μ’
체ν¬ν¬μΈνΈ
|
|
374
|
+
|
|
375
|
+
### Phase 4.5: Contract Extract (auto, only for features with an API)
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
Load skill `vibe-contract` with: extract "{feature-name}"
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
If the SPEC has a `## API` / `## Endpoints` / `## Interface` section, extract the contract to `.claude/vibe/contracts/{feature-name}.md`. If the section is absent, exit cleanly (not every feature has an API).
|
|
382
|
+
|
|
383
|
+
The contract is referenced during Phase 5a implementation, and used by `/vibe.verify` for drift detection.
|
|
384
|
+
|
|
385
|
+
### Phase 5a: Logic Track
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
/vibe.run "{feature-name}"
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
SPEC β code. Auto-checks at start:
|
|
392
|
+
- `/vibe.regress list --feature {feature-name}` β warn if any open regressions exist
|
|
393
|
+
- `.claude/vibe/contracts/{feature-name}.md` β load if present, use as implementation guide
|
|
394
|
+
|
|
395
|
+
### Phase 5b: UI Track (type β {website, webapp, mobile}μΌ λλ§)
|
|
396
|
+
|
|
397
|
+
**5aμ λ³λ ¬ μ€ν** (λλ μμ°¨ β μ¬μ©μ μ ν):
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
/vibe.figma
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**`/vibe.figma`μ μ λ¬ν 컨ν
μ€νΈ:**
|
|
404
|
+
|
|
405
|
+
- `.claude/vibe/plans/{feature}.md` κ²½λ‘
|
|
406
|
+
- κΈ°νμμ Β§7 Look & Feel, Β§8 λ μ΄μμ, Β§9 λ°μν μΉμ
μ Phase 1 μ€ν 리보λ μ
λ ₯μΌλ‘ μ¬μ©
|
|
407
|
+
|
|
408
|
+
### Phase 6: Verify
|
|
409
|
+
|
|
410
|
+
```
|
|
411
|
+
/vibe.verify "{feature-name}"
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
UI + λ‘μ§ + μ°κ²° κ²μ¦ (νμ PRμμ 3μΆ νμ₯ μμ ).
|
|
415
|
+
|
|
416
|
+
### Phase 7: Trace
|
|
417
|
+
|
|
418
|
+
```
|
|
419
|
+
/vibe.trace "{feature-name}"
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
SPEC β ꡬν μΆμ .
|
|
423
|
+
|
|
424
|
+
> **Phase 7 μλ£ μ**: `.claude/vibe/.last-feature` μμ (μν¬νλ‘ μμ£Ό β λ€μ `/vibe.spec` νΈμΆμ λΉ μμ λλ μ§ν μ€ μμ
λͺ©λ‘μμ μμ).
|
|
425
|
+
|
|
426
|
+
## ultrawork λͺ¨λ
|
|
427
|
+
|
|
428
|
+
`ultrawork` (λλ `ulw`)κ° μΈμμ ν¬ν¨λλ©΄:
|
|
429
|
+
|
|
430
|
+
- **λͺ¨λ Stop Gate μ€ν΅**
|
|
431
|
+
- interview β plan β spec β review β run β (figma λ³λ ¬) μ 체 μλ μ€ν
|
|
432
|
+
- askUser 체ν¬ν¬μΈνΈ μ€ν΅, κΈ°λ³Έκ° μ¬μ©
|
|
433
|
+
- μλ κ°μ
μμ΄ μμ£Ό
|
|
434
|
+
|
|
435
|
+
```
|
|
436
|
+
/vibe.spec "ν¨λ΄λμ€ μΉμ¬μ΄νΈ" ultrawork
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
## Smart Resume μμ
|
|
440
|
+
|
|
441
|
+
### μμ 1: μ κ· νλ‘μ νΈ
|
|
442
|
+
```
|
|
443
|
+
User: /vibe.spec "μλ λΈλλ λλ©"
|
|
444
|
+
|
|
445
|
+
Claude: π Input λΆμ
|
|
446
|
+
μ
λ ₯: "μλ λΈλλ λλ©"
|
|
447
|
+
λΆλ₯: μ κ· μμ΄λμ΄
|
|
448
|
+
κΈ°μ‘΄ νμΌ: μμ
|
|
449
|
+
β μμ λ¨κ³: Phase 1 (vibe-interview)
|
|
450
|
+
|
|
451
|
+
[vibe-interview μ€ν¬ λ‘λ]
|
|
452
|
+
Type: website κ°μ§ β checklists/website.md λ‘λ
|
|
453
|
+
...
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### μμ 2: κΈ°νμμμ μμ
|
|
457
|
+
```
|
|
458
|
+
User: /vibe.spec ".claude/vibe/plans/bean-landing.md"
|
|
459
|
+
|
|
460
|
+
Claude: π Input λΆμ
|
|
461
|
+
μ
λ ₯: plan νμΌ κ²½λ‘
|
|
462
|
+
λΆλ₯: κΈ°μ‘΄ κΈ°νμ
|
|
463
|
+
Feature: bean-landing
|
|
464
|
+
β μμ λ¨κ³: Phase 3 (vibe-spec)
|
|
465
|
+
|
|
466
|
+
[vibe-spec μ€ν¬ λ‘λ]
|
|
467
|
+
κΈ°νμ μ½κΈ° β research β PTCF μμ± ...
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
### μμ 3: κΈ°μ‘΄ feature μ¬κ°
|
|
471
|
+
```
|
|
472
|
+
User: /vibe.spec "bean-landing"
|
|
473
|
+
|
|
474
|
+
Claude: π Input λΆμ
|
|
475
|
+
μ
λ ₯: feature name
|
|
476
|
+
κΈ°μ‘΄ νμΌ κ²μ...
|
|
477
|
+
β
interview: .claude/vibe/interviews/bean-landing.md
|
|
478
|
+
β
plan: .claude/vibe/plans/bean-landing.md
|
|
479
|
+
β spec: μμ
|
|
480
|
+
β μμ λ¨κ³: Phase 3 (vibe-spec)
|
|
481
|
+
|
|
482
|
+
[vibe-spec μ€ν¬ λ‘λ]
|
|
483
|
+
...
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
### μμ 4: SPEC 리뷰 μ¬μ€ν
|
|
487
|
+
```
|
|
488
|
+
User: /vibe.spec "bean-landing"
|
|
489
|
+
|
|
490
|
+
Claude: π Input λΆμ
|
|
491
|
+
κΈ°μ‘΄ νμΌ:
|
|
492
|
+
β
spec: .claude/vibe/specs/bean-landing.md
|
|
493
|
+
β
feature: .claude/vibe/features/bean-landing.feature
|
|
494
|
+
|
|
495
|
+
μ΄λ―Έ SPECμ΄ μ‘΄μ¬ν©λλ€. μ΄λ»κ² μ§νν κΉμ?
|
|
496
|
+
1. SPEC 리뷰 (Phase 4: vibe-spec-review μ€ν¬ λ‘λ)
|
|
497
|
+
2. /vibe.run μ€ν (ꡬν)
|
|
498
|
+
3. SPEC μ¬μμ± (κΈ°μ‘΄ λ°±μ
ν μλ‘ μμ±)
|
|
499
|
+
4. μ’
λ£
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### μμ 5: feature μ΄λ¦μ μκ³ μΈμ μμ΄ νΈμΆ (Smart Resume Fallback)
|
|
503
|
+
```
|
|
504
|
+
User: /vibe.spec
|
|
505
|
+
|
|
506
|
+
Claude: (.last-feature μ½κΈ° β "bean-landing" λ°κ²¬)
|
|
507
|
+
|
|
508
|
+
π λ§μ§λ§ μμ
: bean-landing
|
|
509
|
+
β
interview: .claude/vibe/interviews/bean-landing.md (status: partial, 2μΌ μ )
|
|
510
|
+
β plan: μμ
|
|
511
|
+
β spec: μμ
|
|
512
|
+
β λ€μ λ¨κ³: Phase 2 (vibe-plan β κΈ°νμ μμ±)
|
|
513
|
+
|
|
514
|
+
μ΄μ΄μ μ§νν κΉμ?
|
|
515
|
+
Enter / yes β μ΄μ΄μ μ§ν
|
|
516
|
+
list β λ€λ₯Έ μ§ν μ€ μμ
λͺ©λ‘ 보기
|
|
517
|
+
new β μ μμ΄λμ΄λ‘ μμ
|
|
518
|
+
abort β μ’
λ£
|
|
519
|
+
|
|
520
|
+
User: yes
|
|
521
|
+
|
|
522
|
+
Claude: [Phase 2 μ§μ
]
|
|
523
|
+
.last-feature = bean-landing
|
|
524
|
+
[vibe-plan μ€ν¬ λ‘λ]
|
|
525
|
+
...
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
### μμ 6: μ¬λ¬ feature μ€ μ ν (Fallback list λͺ¨λ)
|
|
529
|
+
```
|
|
530
|
+
User: /vibe.spec
|
|
531
|
+
|
|
532
|
+
Claude: (.last-feature μμ β λλ ν 리 μ€μΊ)
|
|
533
|
+
|
|
534
|
+
π μ§ν μ€μΈ μμ
|
|
535
|
+
|
|
536
|
+
1. bean-landing [interview: partial] 2μΌ μ
|
|
537
|
+
2. todo-app [plan: complete] μ΄μ
|
|
538
|
+
3. payment-api [spec: complete] λ°©κΈ μ
|
|
539
|
+
βββββββββββββββββββββββββββββββββββββββββββββ
|
|
540
|
+
n. β μλ‘ μμ
|
|
541
|
+
a. μ’
λ£
|
|
542
|
+
|
|
543
|
+
μ ν λ²νΈ λλ feature μ΄λ¦μ μ
λ ₯νμΈμ:
|
|
544
|
+
|
|
545
|
+
User: 2
|
|
546
|
+
|
|
547
|
+
Claude: Feature: todo-app μ ν
|
|
548
|
+
β
plan μμ± β Phase 3 (vibe-spec) μ§μ
|
|
549
|
+
.last-feature = todo-app
|
|
550
|
+
...
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
## Rollback / Resume
|
|
554
|
+
|
|
555
|
+
- κ° Phase μ’
λ£ μ μνκ° `.claude/vibe/{interviews,plans,specs,features}/`μ μ μ₯λ¨
|
|
556
|
+
- **`.claude/vibe/.last-feature` pointer**κ° κ° Phase μ§μ
μ κ°±μ λμ΄ "κ°μ₯ μ΅κ·Όμ μμ
ν feature" μΆμ (Phase 7 μμ£Ό μ μμ )
|
|
557
|
+
- μ€λ¨ μ λ€μ `/vibe.spec`μΌλ‘ λμμ€λ©΄ Smart Resume Fallback λμ:
|
|
558
|
+
- μΈμ μμ (`/vibe.spec "feature-name"` λλ νμΌ κ²½λ‘) β ν΄λΉ featureμ κ°μ₯ μ§νλ λ¨κ³ λ€μμΌλ‘ λ°λ‘ μ§μ
|
|
559
|
+
- μΈμ μμ β `.last-feature` μ°μ μ μ β κ±°λΆνλ©΄ μ§ν μ€ μμ
λͺ©λ‘ μ μ β λ κ±°λΆνλ©΄ λΉ μμ
|
|
560
|
+
- μλ κ°μ
νμμ μ€ν¬ μ§μ νΈμΆ κ°λ₯ (`Load skill vibe-interview` λ±)
|
|
561
|
+
|
|
562
|
+
## Next Step
|
|
563
|
+
|
|
564
|
+
```
|
|
565
|
+
# μ νμ μΈ μ¬μ©
|
|
566
|
+
/vibe.spec "νλ‘μ νΈ μμ΄λμ΄"
|
|
567
|
+
|
|
568
|
+
# μ€κ° λ¨κ³ μ¬κ°
|
|
569
|
+
/vibe.spec "feature-name"
|
|
570
|
+
|
|
571
|
+
# ultrawork μλ μμ£Ό
|
|
572
|
+
/vibe.spec "feature-name" ultrawork
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
ARGUMENTS: $ARGUMENTS
|