@su-record/vibe 2.16.4 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +8 -8
- package/README.en.md +46 -29
- package/README.md +41 -24
- package/agents/acceptance-tester.md +56 -0
- package/agents/architect.md +25 -67
- package/agents/build-error-resolver.md +28 -97
- package/agents/code-reviewer.md +89 -0
- package/agents/diagrammer.md +34 -169
- package/agents/documenter.md +43 -0
- package/agents/e2e-tester.md +46 -281
- package/agents/event/event-ops.md +54 -77
- package/agents/event/event-planner.md +63 -0
- package/agents/figma/figma-engineer.md +76 -0
- package/agents/implementer.md +26 -41
- package/agents/security-reviewer.md +56 -0
- package/agents/tester.md +37 -33
- package/agents/ui/design-reviewer.md +62 -0
- package/agents/ui/design-system-gen.md +63 -0
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +8 -10
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +0 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/model-refresh.js +1 -1
- package/dist/cli/llm/model-refresh.js.map +1 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +16 -77
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +80 -296
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
- package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +26 -68
- package/dist/cli/postinstall/cursor-agents.js.map +1 -1
- package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-skills.js +26 -30
- package/dist/cli/postinstall/cursor-skills.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +0 -2
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/Provisioner.d.ts.map +1 -1
- package/dist/cli/setup/Provisioner.js +19 -21
- package/dist/cli/setup/Provisioner.js.map +1 -1
- package/dist/cli/utils.d.ts +4 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +4 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/FrameworkDetector.js +4 -4
- package/dist/infra/lib/FrameworkDetector.js.map +1 -1
- package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
- package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
- package/dist/infra/lib/browser/launch.js +1 -1
- package/dist/infra/lib/browser/launch.js.map +1 -1
- package/dist/infra/lib/browser/types.d.ts +1 -1
- package/dist/infra/lib/browser/types.js +1 -1
- package/dist/infra/lib/constants.d.ts +1 -1
- package/dist/infra/lib/constants.d.ts.map +1 -1
- package/dist/infra/lib/constants.js +4 -5
- package/dist/infra/lib/constants.js.map +1 -1
- package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
- package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
- package/dist/infra/lib/memory/index.d.ts +0 -2
- package/dist/infra/lib/memory/index.d.ts.map +1 -1
- package/dist/infra/lib/memory/index.js +0 -2
- package/dist/infra/lib/memory/index.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
- package/dist/tools/index.d.ts +0 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory/autoSaveContext.d.ts +0 -1
- package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
- package/dist/tools/memory/autoSaveContext.js +13 -27
- package/dist/tools/memory/autoSaveContext.js.map +1 -1
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -78
- package/hooks/scripts/__tests__/.vibe/memories/memories.db +0 -0
- package/hooks/scripts/__tests__/.vibe/memories/memories.db-shm +0 -0
- package/hooks/scripts/__tests__/.vibe/memories/memories.db-wal +0 -0
- package/hooks/scripts/__tests__/clone-behaviors.test.js +64 -0
- package/hooks/scripts/__tests__/clone-merge-responsive.test.js +106 -0
- package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
- package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
- package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
- package/hooks/scripts/__tests__/step-counter.test.js +1 -1
- package/hooks/scripts/clone-extract.js +242 -28
- package/hooks/scripts/clone-merge-responsive.js +184 -0
- package/hooks/scripts/clone-spec.js +33 -8
- package/hooks/scripts/clone-validate.js +15 -9
- package/hooks/scripts/code-check.js +16 -203
- package/hooks/scripts/context-save.js +0 -11
- package/hooks/scripts/lib/scope-from-spec.js +9 -6
- package/hooks/scripts/post-edit-dispatcher.js +1 -1
- package/hooks/scripts/prompt-dispatcher.js +7 -18
- package/hooks/scripts/session-start.js +25 -35
- package/package.json +6 -5
- package/skills/agents-md/SKILL.md +62 -15
- package/skills/arch-guard/SKILL.md +1 -1
- package/skills/brand-assets/SKILL.md +2 -2
- package/skills/capability-loop/SKILL.md +1 -1
- package/skills/chub-usage/SKILL.md +1 -1
- package/skills/clone/SKILL.md +132 -55
- package/skills/commerce-patterns/SKILL.md +2 -2
- package/skills/commit-push-pr/SKILL.md +0 -1
- package/skills/context7-usage/SKILL.md +1 -1
- package/skills/design-refine/SKILL.md +140 -0
- package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
- package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
- package/skills/design-review/SKILL.md +143 -0
- package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
- package/skills/{design-audit → design-review}/orchestrator.md +3 -3
- package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
- package/skills/{design-audit → design-review}/templates/report.md +3 -3
- package/skills/design-teach/SKILL.md +11 -11
- package/skills/docs/SKILL.md +14 -16
- package/skills/e2e-commerce/SKILL.md +1 -1
- package/skills/event-comms/SKILL.md +1 -1
- package/skills/event-ops/SKILL.md +2 -2
- package/skills/event-planning/SKILL.md +1 -1
- package/skills/exec-plan/SKILL.md +2 -2
- package/skills/figma/SKILL.md +240 -148
- package/skills/figma/rubrics/css-mapping.md +125 -0
- package/skills/git-worktree/SKILL.md +1 -1
- package/skills/handoff/SKILL.md +1 -1
- package/skills/parallel-research/SKILL.md +14 -28
- package/skills/priority-todos/SKILL.md +1 -1
- package/skills/regress/SKILL.md +11 -0
- package/skills/restraint/SKILL.md +72 -0
- package/skills/seo-checklist/SKILL.md +2 -2
- package/skills/spec/SKILL.md +65 -836
- package/skills/test/SKILL.md +3 -3
- package/skills/tool-fallback/SKILL.md +2 -2
- package/skills/vercel-react-best-practices/SKILL.md +1 -1
- package/skills/vibe/SKILL.md +20 -35
- package/skills/vibe.analyze/SKILL.md +7 -9
- package/skills/vibe.clone/SKILL.md +39 -19
- package/skills/vibe.docs/SKILL.md +1 -1
- package/skills/vibe.event/SKILL.md +27 -27
- package/skills/vibe.figma/SKILL.md +14 -18
- package/skills/vibe.harness/SKILL.md +5 -5
- package/skills/vibe.reason/SKILL.md +0 -2
- package/skills/vibe.review/SKILL.md +45 -49
- package/skills/vibe.run/SKILL.md +2 -5
- package/skills/vibe.run/references/parallel-agents.md +33 -98
- package/skills/vibe.spec/SKILL.md +38 -535
- package/skills/vibe.utils/SKILL.md +3 -3
- package/skills/vibe.verify/SKILL.md +70 -542
- package/skills/video-production/SKILL.md +1 -1
- package/vibe/rules/orchestrator-contract.md +5 -4
- package/vibe/rules/quality/performance.md +1 -1
- package/vibe/templates/claudemd-template.md +1 -1
- package/vibe/templates/spec-template.md +35 -185
- package/agents/architect-low.md +0 -41
- package/agents/architect-medium.md +0 -59
- package/agents/compounder.md +0 -265
- package/agents/docs/api-documenter.md +0 -99
- package/agents/docs/changelog-writer.md +0 -93
- package/agents/event/event-comms.md +0 -78
- package/agents/event/event-content.md +0 -68
- package/agents/event/event-image.md +0 -95
- package/agents/event/event-scheduler.md +0 -69
- package/agents/event/event-speaker.md +0 -86
- package/agents/explorer-low.md +0 -42
- package/agents/explorer-medium.md +0 -59
- package/agents/explorer.md +0 -48
- package/agents/figma/figma-analyst.md +0 -56
- package/agents/figma/figma-architect.md +0 -116
- package/agents/figma/figma-auditor.md +0 -86
- package/agents/figma/figma-builder.md +0 -104
- package/agents/implementer-low.md +0 -43
- package/agents/implementer-medium.md +0 -52
- package/agents/junior-mentor.md +0 -141
- package/agents/planning/requirements-analyst.md +0 -84
- package/agents/planning/ux-advisor.md +0 -83
- package/agents/qa/acceptance-tester.md +0 -86
- package/agents/qa/edge-case-finder.md +0 -93
- package/agents/qa/qa-coordinator.md +0 -131
- package/agents/refactor-cleaner.md +0 -143
- package/agents/research/best-practices.md +0 -199
- package/agents/research/codebase-patterns.md +0 -157
- package/agents/research/framework-docs.md +0 -188
- package/agents/research/security-advisory.md +0 -213
- package/agents/review/architecture-reviewer.md +0 -107
- package/agents/review/complexity-reviewer.md +0 -116
- package/agents/review/data-integrity-reviewer.md +0 -88
- package/agents/review/git-history-reviewer.md +0 -103
- package/agents/review/performance-reviewer.md +0 -86
- package/agents/review/python-reviewer.md +0 -150
- package/agents/review/rails-reviewer.md +0 -139
- package/agents/review/react-reviewer.md +0 -144
- package/agents/review/security-reviewer.md +0 -80
- package/agents/review/simplicity-reviewer.md +0 -140
- package/agents/review/test-coverage-reviewer.md +0 -116
- package/agents/review/typescript-reviewer.md +0 -127
- package/agents/searcher.md +0 -54
- package/agents/simplifier.md +0 -124
- package/agents/teams/debug-team.md +0 -74
- package/agents/teams/dev-team.md +0 -92
- package/agents/teams/docs-team.md +0 -84
- package/agents/teams/figma-team.md +0 -89
- package/agents/teams/fullstack-team.md +0 -87
- package/agents/teams/lite-team.md +0 -73
- package/agents/teams/migration-team.md +0 -82
- package/agents/teams/refactor-team.md +0 -98
- package/agents/teams/research-team.md +0 -90
- package/agents/teams/review-debate-team.md +0 -129
- package/agents/teams/security-team.md +0 -85
- package/agents/ui/ui-a11y-auditor.md +0 -93
- package/agents/ui/ui-antipattern-detector.md +0 -102
- package/agents/ui/ui-dataviz-advisor.md +0 -69
- package/agents/ui/ui-design-system-gen.md +0 -57
- package/agents/ui/ui-industry-analyzer.md +0 -49
- package/agents/ui/ui-layout-architect.md +0 -65
- package/agents/ui/ui-stack-implementer.md +0 -68
- package/agents/ui/ux-compliance-reviewer.md +0 -81
- package/agents/ui-previewer.md +0 -262
- package/dist/cli/llm/gemini-commands.d.ts +0 -25
- package/dist/cli/llm/gemini-commands.d.ts.map +0 -1
- package/dist/cli/llm/gemini-commands.js +0 -143
- package/dist/cli/llm/gemini-commands.js.map +0 -1
- package/dist/cli/postinstall/codex-agents.d.ts +0 -24
- package/dist/cli/postinstall/codex-agents.d.ts.map +0 -1
- package/dist/cli/postinstall/codex-agents.js +0 -114
- package/dist/cli/postinstall/codex-agents.js.map +0 -1
- package/dist/cli/postinstall/codex-instruction.d.ts +0 -10
- package/dist/cli/postinstall/codex-instruction.d.ts.map +0 -1
- package/dist/cli/postinstall/codex-instruction.js +0 -56
- package/dist/cli/postinstall/codex-instruction.js.map +0 -1
- package/dist/cli/postinstall/gemini-agents.d.ts +0 -12
- package/dist/cli/postinstall/gemini-agents.d.ts.map +0 -1
- package/dist/cli/postinstall/gemini-agents.js +0 -80
- package/dist/cli/postinstall/gemini-agents.js.map +0 -1
- package/dist/cli/postinstall/gemini-instruction.d.ts +0 -10
- package/dist/cli/postinstall/gemini-instruction.d.ts.map +0 -1
- package/dist/cli/postinstall/gemini-instruction.js +0 -59
- package/dist/cli/postinstall/gemini-instruction.js.map +0 -1
- package/dist/infra/lib/ContextCompressor.d.ts +0 -104
- package/dist/infra/lib/ContextCompressor.d.ts.map +0 -1
- package/dist/infra/lib/ContextCompressor.js +0 -297
- package/dist/infra/lib/ContextCompressor.js.map +0 -1
- package/dist/infra/lib/ContextCompressor.test.d.ts +0 -2
- package/dist/infra/lib/ContextCompressor.test.d.ts.map +0 -1
- package/dist/infra/lib/ContextCompressor.test.js +0 -25
- package/dist/infra/lib/ContextCompressor.test.js.map +0 -1
- package/dist/infra/lib/ProgressTracker.d.ts +0 -73
- package/dist/infra/lib/ProgressTracker.d.ts.map +0 -1
- package/dist/infra/lib/ProgressTracker.js +0 -267
- package/dist/infra/lib/ProgressTracker.js.map +0 -1
- package/dist/infra/lib/TokenBudgetTracker.d.ts +0 -68
- package/dist/infra/lib/TokenBudgetTracker.d.ts.map +0 -1
- package/dist/infra/lib/TokenBudgetTracker.js +0 -191
- package/dist/infra/lib/TokenBudgetTracker.js.map +0 -1
- package/dist/infra/lib/autonomy/AuditStore.d.ts +0 -63
- package/dist/infra/lib/autonomy/AuditStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AuditStore.js +0 -185
- package/dist/infra/lib/autonomy/AuditStore.js.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyConfig.d.ts +0 -84
- package/dist/infra/lib/autonomy/AutonomyConfig.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyConfig.js +0 -49
- package/dist/infra/lib/autonomy/AutonomyConfig.js.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts +0 -78
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.js +0 -246
- package/dist/infra/lib/autonomy/AutonomyOrchestrator.js.map +0 -1
- package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts +0 -36
- package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/BackgroundMonitor.js +0 -138
- package/dist/infra/lib/autonomy/BackgroundMonitor.js.map +0 -1
- package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts +0 -56
- package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/CollaborationProtocol.js +0 -122
- package/dist/infra/lib/autonomy/CollaborationProtocol.js.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationManager.d.ts +0 -42
- package/dist/infra/lib/autonomy/ConfirmationManager.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationManager.js +0 -200
- package/dist/infra/lib/autonomy/ConfirmationManager.js.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationStore.d.ts +0 -55
- package/dist/infra/lib/autonomy/ConfirmationStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ConfirmationStore.js +0 -130
- package/dist/infra/lib/autonomy/ConfirmationStore.js.map +0 -1
- package/dist/infra/lib/autonomy/EventBus.d.ts +0 -20
- package/dist/infra/lib/autonomy/EventBus.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/EventBus.js +0 -119
- package/dist/infra/lib/autonomy/EventBus.js.map +0 -1
- package/dist/infra/lib/autonomy/EventOutbox.d.ts +0 -32
- package/dist/infra/lib/autonomy/EventOutbox.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/EventOutbox.js +0 -152
- package/dist/infra/lib/autonomy/EventOutbox.js.map +0 -1
- package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts +0 -24
- package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/NotificationDispatcher.js +0 -112
- package/dist/infra/lib/autonomy/NotificationDispatcher.js.map +0 -1
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +0 -76
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/PolicyEngine.js +0 -208
- package/dist/infra/lib/autonomy/PolicyEngine.js.map +0 -1
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts +0 -61
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.js +0 -236
- package/dist/infra/lib/autonomy/ProactiveAnalyzer.js.map +0 -1
- package/dist/infra/lib/autonomy/RiskClassifier.d.ts +0 -35
- package/dist/infra/lib/autonomy/RiskClassifier.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/RiskClassifier.js +0 -147
- package/dist/infra/lib/autonomy/RiskClassifier.js.map +0 -1
- package/dist/infra/lib/autonomy/SecuritySentinel.d.ts +0 -51
- package/dist/infra/lib/autonomy/SecuritySentinel.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/SecuritySentinel.js +0 -162
- package/dist/infra/lib/autonomy/SecuritySentinel.js.map +0 -1
- package/dist/infra/lib/autonomy/SuggestionStore.d.ts +0 -54
- package/dist/infra/lib/autonomy/SuggestionStore.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +0 -144
- package/dist/infra/lib/autonomy/SuggestionStore.js.map +0 -1
- package/dist/infra/lib/autonomy/TaskDecomposer.d.ts +0 -38
- package/dist/infra/lib/autonomy/TaskDecomposer.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/TaskDecomposer.js +0 -175
- package/dist/infra/lib/autonomy/TaskDecomposer.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.js +0 -198
- package/dist/infra/lib/autonomy/__tests__/audit-store.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.js +0 -225
- package/dist/infra/lib/autonomy/__tests__/event-bus.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/event-core.test.js +0 -194
- package/dist/infra/lib/autonomy/__tests__/event-core.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/governance.test.js +0 -540
- package/dist/infra/lib/autonomy/__tests__/governance.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/integration.test.js +0 -480
- package/dist/infra/lib/autonomy/__tests__/integration.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/proactive.test.js +0 -410
- package/dist/infra/lib/autonomy/__tests__/proactive.test.js.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts +0 -2
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.js +0 -486
- package/dist/infra/lib/autonomy/__tests__/sentinel.test.js.map +0 -1
- package/dist/infra/lib/autonomy/index.d.ts +0 -18
- package/dist/infra/lib/autonomy/index.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/index.js +0 -22
- package/dist/infra/lib/autonomy/index.js.map +0 -1
- package/dist/infra/lib/autonomy/schemas.d.ts +0 -317
- package/dist/infra/lib/autonomy/schemas.d.ts.map +0 -1
- package/dist/infra/lib/autonomy/schemas.js +0 -90
- package/dist/infra/lib/autonomy/schemas.js.map +0 -1
- package/dist/infra/lib/claude/index.d.ts +0 -5
- package/dist/infra/lib/claude/index.d.ts.map +0 -1
- package/dist/infra/lib/claude/index.js +0 -5
- package/dist/infra/lib/claude/index.js.map +0 -1
- package/dist/infra/lib/claude/storage.d.ts +0 -12
- package/dist/infra/lib/claude/storage.d.ts.map +0 -1
- package/dist/infra/lib/claude/storage.js +0 -54
- package/dist/infra/lib/claude/storage.js.map +0 -1
- package/dist/infra/lib/gemini/auth.d.ts +0 -18
- package/dist/infra/lib/gemini/auth.d.ts.map +0 -1
- package/dist/infra/lib/gemini/auth.js +0 -32
- package/dist/infra/lib/gemini/auth.js.map +0 -1
- package/dist/infra/lib/gemini/capabilities.d.ts +0 -28
- package/dist/infra/lib/gemini/capabilities.d.ts.map +0 -1
- package/dist/infra/lib/gemini/capabilities.js +0 -178
- package/dist/infra/lib/gemini/capabilities.js.map +0 -1
- package/dist/infra/lib/gemini/chat.d.ts +0 -35
- package/dist/infra/lib/gemini/chat.d.ts.map +0 -1
- package/dist/infra/lib/gemini/chat.js +0 -161
- package/dist/infra/lib/gemini/chat.js.map +0 -1
- package/dist/infra/lib/gemini/completion.d.ts +0 -12
- package/dist/infra/lib/gemini/completion.d.ts.map +0 -1
- package/dist/infra/lib/gemini/completion.js +0 -13
- package/dist/infra/lib/gemini/completion.js.map +0 -1
- package/dist/infra/lib/gemini/constants.d.ts +0 -8
- package/dist/infra/lib/gemini/constants.d.ts.map +0 -1
- package/dist/infra/lib/gemini/constants.js +0 -11
- package/dist/infra/lib/gemini/constants.js.map +0 -1
- package/dist/infra/lib/gemini/index.d.ts +0 -13
- package/dist/infra/lib/gemini/index.d.ts.map +0 -1
- package/dist/infra/lib/gemini/index.js +0 -12
- package/dist/infra/lib/gemini/index.js.map +0 -1
- package/dist/infra/lib/gemini/models.d.ts +0 -11
- package/dist/infra/lib/gemini/models.d.ts.map +0 -1
- package/dist/infra/lib/gemini/models.js +0 -38
- package/dist/infra/lib/gemini/models.js.map +0 -1
- package/dist/infra/lib/gemini/orchestration.d.ts +0 -33
- package/dist/infra/lib/gemini/orchestration.d.ts.map +0 -1
- package/dist/infra/lib/gemini/orchestration.js +0 -62
- package/dist/infra/lib/gemini/orchestration.js.map +0 -1
- package/dist/infra/lib/gemini/types.d.ts +0 -115
- package/dist/infra/lib/gemini/types.d.ts.map +0 -1
- package/dist/infra/lib/gemini/types.js +0 -5
- package/dist/infra/lib/gemini/types.js.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.d.ts +0 -64
- package/dist/infra/orchestrator/AgentAnnouncer.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.js +0 -127
- package/dist/infra/orchestrator/AgentAnnouncer.js.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts +0 -5
- package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentAnnouncer.test.js +0 -119
- package/dist/infra/orchestrator/AgentAnnouncer.test.js.map +0 -1
- package/dist/infra/orchestrator/AgentExecutor.d.ts +0 -22
- package/dist/infra/orchestrator/AgentExecutor.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentExecutor.js +0 -272
- package/dist/infra/orchestrator/AgentExecutor.js.map +0 -1
- package/dist/infra/orchestrator/AgentManager.d.ts +0 -72
- package/dist/infra/orchestrator/AgentManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentManager.js +0 -183
- package/dist/infra/orchestrator/AgentManager.js.map +0 -1
- package/dist/infra/orchestrator/AgentManifestCache.d.ts +0 -54
- package/dist/infra/orchestrator/AgentManifestCache.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentManifestCache.js +0 -191
- package/dist/infra/orchestrator/AgentManifestCache.js.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.d.ts +0 -76
- package/dist/infra/orchestrator/AgentRegistry.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.js +0 -217
- package/dist/infra/orchestrator/AgentRegistry.js.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.test.d.ts +0 -5
- package/dist/infra/orchestrator/AgentRegistry.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/AgentRegistry.test.js +0 -122
- package/dist/infra/orchestrator/AgentRegistry.test.js.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.d.ts +0 -128
- package/dist/infra/orchestrator/BackgroundManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.js +0 -620
- package/dist/infra/orchestrator/BackgroundManager.js.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.test.d.ts +0 -6
- package/dist/infra/orchestrator/BackgroundManager.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/BackgroundManager.test.js +0 -162
- package/dist/infra/orchestrator/BackgroundManager.test.js.map +0 -1
- package/dist/infra/orchestrator/CheckpointManager.d.ts +0 -54
- package/dist/infra/orchestrator/CheckpointManager.d.ts.map +0 -1
- package/dist/infra/orchestrator/CheckpointManager.js +0 -121
- package/dist/infra/orchestrator/CheckpointManager.js.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts +0 -12
- package/dist/infra/orchestrator/CodexAgentRuntime.d.ts.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.js +0 -94
- package/dist/infra/orchestrator/CodexAgentRuntime.js.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts +0 -2
- package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js +0 -37
- package/dist/infra/orchestrator/CodexAgentRuntime.test.js.map +0 -1
- package/dist/infra/orchestrator/LLMCluster.d.ts +0 -82
- package/dist/infra/orchestrator/LLMCluster.d.ts.map +0 -1
- package/dist/infra/orchestrator/LLMCluster.js +0 -146
- package/dist/infra/orchestrator/LLMCluster.js.map +0 -1
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts +0 -31
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +0 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +0 -160
- package/dist/infra/orchestrator/MultiLlmResearch.js.map +0 -1
- package/dist/infra/orchestrator/PhasePipeline.d.ts +0 -122
- package/dist/infra/orchestrator/PhasePipeline.d.ts.map +0 -1
- package/dist/infra/orchestrator/PhasePipeline.js +0 -385
- package/dist/infra/orchestrator/PhasePipeline.js.map +0 -1
- package/dist/infra/orchestrator/PhaseResultStore.d.ts +0 -39
- package/dist/infra/orchestrator/PhaseResultStore.d.ts.map +0 -1
- package/dist/infra/orchestrator/PhaseResultStore.js +0 -151
- package/dist/infra/orchestrator/PhaseResultStore.js.map +0 -1
- package/dist/infra/orchestrator/SessionStore.d.ts +0 -40
- package/dist/infra/orchestrator/SessionStore.d.ts.map +0 -1
- package/dist/infra/orchestrator/SessionStore.js +0 -116
- package/dist/infra/orchestrator/SessionStore.js.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +0 -90
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.js +0 -277
- package/dist/infra/orchestrator/SmartRouter.js.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.test.d.ts +0 -5
- package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/SmartRouter.test.js +0 -484
- package/dist/infra/orchestrator/SmartRouter.test.js.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.d.ts +0 -143
- package/dist/infra/orchestrator/SwarmOrchestrator.d.ts.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.js +0 -378
- package/dist/infra/orchestrator/SwarmOrchestrator.js.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts +0 -5
- package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +0 -95
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js.map +0 -1
- package/dist/infra/orchestrator/agentDiscovery.d.ts +0 -26
- package/dist/infra/orchestrator/agentDiscovery.d.ts.map +0 -1
- package/dist/infra/orchestrator/agentDiscovery.js +0 -175
- package/dist/infra/orchestrator/agentDiscovery.js.map +0 -1
- package/dist/infra/orchestrator/backgroundAgent.d.ts +0 -9
- package/dist/infra/orchestrator/backgroundAgent.d.ts.map +0 -1
- package/dist/infra/orchestrator/backgroundAgent.js +0 -10
- package/dist/infra/orchestrator/backgroundAgent.js.map +0 -1
- package/dist/infra/orchestrator/index.d.ts +0 -207
- package/dist/infra/orchestrator/index.d.ts.map +0 -1
- package/dist/infra/orchestrator/index.js +0 -362
- package/dist/infra/orchestrator/index.js.map +0 -1
- package/dist/infra/orchestrator/orchestrator.d.ts +0 -60
- package/dist/infra/orchestrator/orchestrator.d.ts.map +0 -1
- package/dist/infra/orchestrator/orchestrator.js +0 -214
- package/dist/infra/orchestrator/orchestrator.js.map +0 -1
- package/dist/infra/orchestrator/parallelResearch.d.ts +0 -27
- package/dist/infra/orchestrator/parallelResearch.d.ts.map +0 -1
- package/dist/infra/orchestrator/parallelResearch.js +0 -285
- package/dist/infra/orchestrator/parallelResearch.js.map +0 -1
- package/dist/infra/orchestrator/types.d.ts +0 -205
- package/dist/infra/orchestrator/types.d.ts.map +0 -1
- package/dist/infra/orchestrator/types.js +0 -87
- package/dist/infra/orchestrator/types.js.map +0 -1
- package/dist/infra/orchestrator/types.test.d.ts +0 -2
- package/dist/infra/orchestrator/types.test.d.ts.map +0 -1
- package/dist/infra/orchestrator/types.test.js +0 -57
- package/dist/infra/orchestrator/types.test.js.map +0 -1
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts +0 -12
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +0 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +0 -359
- package/dist/tools/semantic/analyzeDependencyGraph.js.map +0 -1
- package/dist/tools/semantic/astGrep.d.ts +0 -25
- package/dist/tools/semantic/astGrep.d.ts.map +0 -1
- package/dist/tools/semantic/astGrep.js +0 -324
- package/dist/tools/semantic/astGrep.js.map +0 -1
- package/dist/tools/semantic/astGrep.test.d.ts +0 -2
- package/dist/tools/semantic/astGrep.test.d.ts.map +0 -1
- package/dist/tools/semantic/astGrep.test.js +0 -74
- package/dist/tools/semantic/astGrep.test.js.map +0 -1
- package/dist/tools/semantic/findReferences.d.ts +0 -9
- package/dist/tools/semantic/findReferences.d.ts.map +0 -1
- package/dist/tools/semantic/findReferences.js +0 -200
- package/dist/tools/semantic/findReferences.js.map +0 -1
- package/dist/tools/semantic/findSymbol.d.ts +0 -8
- package/dist/tools/semantic/findSymbol.d.ts.map +0 -1
- package/dist/tools/semantic/findSymbol.js +0 -204
- package/dist/tools/semantic/findSymbol.js.map +0 -1
- package/dist/tools/semantic/index.d.ts +0 -9
- package/dist/tools/semantic/index.d.ts.map +0 -1
- package/dist/tools/semantic/index.js +0 -11
- package/dist/tools/semantic/index.js.map +0 -1
- package/dist/tools/semantic/lsp.d.ts +0 -68
- package/dist/tools/semantic/lsp.d.ts.map +0 -1
- package/dist/tools/semantic/lsp.js +0 -561
- package/dist/tools/semantic/lsp.js.map +0 -1
- package/dist/tools/spec/e2eTestGenerator.d.ts +0 -61
- package/dist/tools/spec/e2eTestGenerator.d.ts.map +0 -1
- package/dist/tools/spec/e2eTestGenerator.js +0 -255
- package/dist/tools/spec/e2eTestGenerator.js.map +0 -1
- package/dist/tools/spec/specVersioning.d.ts +0 -76
- package/dist/tools/spec/specVersioning.d.ts.map +0 -1
- package/dist/tools/spec/specVersioning.js +0 -236
- package/dist/tools/spec/specVersioning.js.map +0 -1
- package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
- package/hooks/scripts/keyword-detector.js +0 -226
- package/skills/characterization-test/SKILL.md +0 -209
- package/skills/characterization-test/agents/behavior-capturer.md +0 -50
- package/skills/characterization-test/agents/coverage-checker.md +0 -54
- package/skills/characterization-test/agents/reporter.md +0 -50
- package/skills/characterization-test/agents/test-writer.md +0 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
- package/skills/characterization-test/templates/test-template.ts +0 -101
- package/skills/claude-md-guide/SKILL.md +0 -353
- package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
- package/skills/design-audit/SKILL.md +0 -154
- package/skills/design-critique/SKILL.md +0 -140
- package/skills/design-distill/SKILL.md +0 -131
- package/skills/design-normalize/SKILL.md +0 -135
- package/skills/design-polish/SKILL.md +0 -132
- package/skills/figma-convert/SKILL.md +0 -236
- package/skills/figma-extract/SKILL.md +0 -242
- package/skills/interview/SKILL.md +0 -358
- package/skills/interview/checklists/api.md +0 -101
- package/skills/interview/checklists/feature.md +0 -88
- package/skills/interview/checklists/library.md +0 -95
- package/skills/interview/checklists/mobile.md +0 -89
- package/skills/interview/checklists/webapp.md +0 -97
- package/skills/interview/checklists/website.md +0 -99
- package/skills/plan/SKILL.md +0 -254
- package/skills/rob-pike/SKILL.md +0 -66
- package/skills/spec/references/askuser-examples.md +0 -57
- package/skills/spec/references/example-session.md +0 -87
- package/skills/spec/references/templates.md +0 -194
- package/skills/spec-review/SKILL.md +0 -725
- package/skills/systematic-debugging/SKILL.md +0 -142
- package/skills/techdebt/SKILL.md +0 -126
- package/skills/techdebt/agents/analyzer.md +0 -50
- package/skills/techdebt/agents/fixer.md +0 -41
- package/skills/techdebt/agents/reviewer.md +0 -47
- package/skills/techdebt/agents/scanner.md +0 -44
- package/skills/techdebt/orchestrator.md +0 -72
- package/skills/techdebt/rubrics/severity.md +0 -51
- package/skills/techdebt/scripts/scan.js +0 -90
- package/skills/techdebt/templates/report.md +0 -86
- package/skills/typescript-advanced-types/SKILL.md +0 -68
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
- package/skills/yagni-ladder/SKILL.md +0 -90
- /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
- /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
- /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
- /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
- /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
- /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
- /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
- /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
- /package/skills/{figma-convert → figma}/templates/component.md +0 -0
package/CLAUDE.md
CHANGED
|
@@ -28,12 +28,12 @@ Transform imperative tasks into verifiable goals **before** coding:
|
|
|
28
28
|
|
|
29
29
|
Weak criteria ("make it work") require constant clarification. Strong criteria let the loop run independently.
|
|
30
30
|
|
|
31
|
-
### TypeScript (detected by Quality Gate hooks
|
|
31
|
+
### TypeScript (hard rules — `any`/`console.log` detected by Quality Gate hooks and injected as additionalContext; deterministic gates are pr-test-gate + Stop verify warning)
|
|
32
32
|
- No `any` / `as any` / `@ts-ignore` — use `unknown` + type guards; fix at root
|
|
33
33
|
- Explicit return types on all functions
|
|
34
34
|
|
|
35
|
-
### Complexity Limits
|
|
36
|
-
Function ≤50 lines · Nesting ≤3 · Params ≤5 · Cyclomatic ≤10
|
|
35
|
+
### Complexity Limits (model-judged, not hook-detected)
|
|
36
|
+
Function ≤50 lines · Nesting ≤3 · Params ≤5 · Cyclomatic ≤10 — apply in-context judgement; no regex heuristics enforce these
|
|
37
37
|
|
|
38
38
|
### Forbidden Patterns
|
|
39
39
|
No `console.log` in commits · No hardcoded strings/numbers · No commented-out code · No incomplete code without TODO
|
|
@@ -60,7 +60,7 @@ Loop semantics SSOT: `vibe/rules/loop-contract.md` (ANCHOR→ACT→JUDGE→RECOR
|
|
|
60
60
|
| `~/.codex/config.toml` | Codex `notify` (turn-complete lifecycle hook, auto-installed) |
|
|
61
61
|
|
|
62
62
|
**`.vibe/config.json` behavior keys** (set per-project to tune gate behavior):
|
|
63
|
-
- `scopeGuard.enabled` / `scopeGuard.mode` — scope fence
|
|
63
|
+
- `scopeGuard.enabled` / `scopeGuard.mode` — scope fence opt-in (default **off** everywhere — CLI and hooks share this default); mode `warn` (default) or `block`
|
|
64
64
|
- `verifyGate.mode` — `warn` (default) or `block` (Stop hook blocks once if run started but verify not passed)
|
|
65
65
|
- `autoTest.mode` — `debounce` (default, 120s cooldown per unchanged test file) / `always` / `off`
|
|
66
66
|
- `qualityCheck.consoleAllow` — array of file globs where `console.log` is permitted
|
|
@@ -80,7 +80,7 @@ Legacy: 기존 `.claude/vibe/` 는 런타임에 자동 인식되며 `vibe init`/
|
|
|
80
80
|
- `better-sqlite3` WAL mode — synchronous API
|
|
81
81
|
- `crypto.timingSafeEqual` requires same-length buffers — check length first
|
|
82
82
|
- **Stack → asset SSOT**: `GLOBAL_SKILLS_*`, `STACK_TO_SKILLS`, `CAPABILITY_SKILLS` in `src/cli/postinstall/constants.ts`
|
|
83
|
-
- **Hook dispatch order**: `prompt-dispatcher.js` → `
|
|
83
|
+
- **Hook dispatch order**: `prompt-dispatcher.js` → `llm-orchestrate.js` (매직 키워드 배너 훅 없음 — deprecated 별칭은 "Deprecated aliases" 표가 SSOT, 모델이 직접 해석)
|
|
84
84
|
- **Hook 실행 모델**: per-event process spawn 유지 — **daemon/IPC 지양** (무상태·크래시 격리·인프라 제로가 ~20ms VM 기동 절감보다 우선). 훅 레이턴시 최적화는 dispatcher in-process 평탄화(자식 spawn → `import` 실행)로만 접근한다
|
|
85
85
|
|
|
86
86
|
## Workflow
|
|
@@ -91,13 +91,13 @@ Claude Code uses `/vibe` as the **single slash entry point**. Codex exposes the
|
|
|
91
91
|
$vibe "<requirement>" [+ 📎 attachments] # Codex
|
|
92
92
|
/vibe "<requirement>" [+ 📎 attachments] # Claude Code
|
|
93
93
|
→ Intent classification (new feature / figma-driven / clone / resume / review / regress / contract / scaffold / docs / analyze / harness / test / utils)
|
|
94
|
-
→ Smart Resume detection (.vibe/{
|
|
94
|
+
→ Smart Resume detection (.vibe/{specs,features}/ — legacy interviews/plans 는 입력 컨텍스트로만 인식)
|
|
95
95
|
→ SPEC confirmation (1-time approval; skipped on automationLevel: autonomous)
|
|
96
96
|
→ Loop: ANCHOR→ACT→JUDGE→RECORD until gates pass │ stuck │ max-iter
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
**Advanced (explicit phase) entrypoints** — still available for power users when you know exactly which phase to run:
|
|
100
|
-
- Codex: `$vibe.spec` / Claude Code: `/vibe.spec` —
|
|
100
|
+
- Codex: `$vibe.spec` / Claude Code: `/vibe.spec` — single-pass SPEC (인라인 질문 → SPEC 1패스 → 승인 1회; 구 interview/plan/spec-review 4단계는 폐지)
|
|
101
101
|
- Codex: `$vibe.figma` / Claude Code: `/vibe.figma` — Figma ↔ code (UI track)
|
|
102
102
|
- Codex: `$vibe.run` / Claude Code: `/vibe.run` — SPEC-driven implementation
|
|
103
103
|
- Codex: `$vibe.verify` / Claude Code: `/vibe.verify` — implementation vs SPEC verification
|
|
@@ -130,7 +130,7 @@ $vibe "<requirement>" [+ 📎 attachments] # Codex
|
|
|
130
130
|
|
|
131
131
|
## Context Management
|
|
132
132
|
|
|
133
|
-
-
|
|
133
|
+
- **Model routing: inherit by default** — 서브에이전트는 세션 모델을 상속한다. 명시적 예외만 tier alias 로 지정 (아키텍처 심층 리뷰 → `opus`). 구세대 "탐색→Haiku·구현→Sonnet" 비용 라우팅은 폐기 — 강한 기본 모델에서 라우팅 우회가 절약보다 품질 손실이 크다
|
|
134
134
|
- At 85%+ context: `save_memory` → `/new` → `/vibe.utils --continue` (raised from 70% — `/new` 는 KV prefix cache 를 전량 폐기하므로, 압축 빈도를 낮춰 캐쉬 재사용을 늘린다)
|
|
135
135
|
|
|
136
136
|
## Git
|
package/README.en.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# VIBE
|
|
2
2
|
|
|
3
|
-
**Easy vibe coding.
|
|
3
|
+
**Easy vibe coding. Done is judged by machines.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
6
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
Vibe is a
|
|
10
|
+
Vibe is a **verification harness** for AI coding. Today's models already plan and implement well — what's missing is a reason to trust "it's done." Vibe wraps Claude Code, Codex, Cursor, or Antigravity CLI and hands the completion verdict to **deterministic gates (test exit codes, a run ledger, regression memory) instead of the model's self-report** — so you can vibe-code fast without shipping unverified code.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g @su-record/vibe
|
|
@@ -16,31 +16,47 @@ vibe init
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
+
## Philosophy: verify, don't instruct
|
|
20
|
+
|
|
21
|
+
Scaffolding that teaches a 2026-era model *how to work* is pure overhead. Vibe v3 stripped that layer away — what remains is only **what the model cannot prove about itself**:
|
|
22
|
+
|
|
23
|
+
- **Did the tests actually pass?** — the PR gate runs the suite itself
|
|
24
|
+
- **Did verification actually run?** — `.vibe/metrics/run-ledger.json` records it in code
|
|
25
|
+
- **Is the review loop converging?** — a discover-hash (2 identical rounds → stuck) decides
|
|
26
|
+
- **Are we repeating the same mistake?** — verify failures auto-register as regression tests
|
|
27
|
+
|
|
28
|
+
The smarter the model, the more persuasive its "done" — which makes a code-enforced ground truth *more* valuable, not less.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
19
32
|
## The Workflow
|
|
20
33
|
|
|
21
|
-
One entry point.
|
|
34
|
+
One entry point. Single-pass SPEC → one approval → loop until the gates pass.
|
|
22
35
|
|
|
23
36
|
```
|
|
24
37
|
/vibe "coffee brand landing page"
|
|
25
38
|
|
|
|
26
39
|
v
|
|
27
40
|
Intent classification ─── new feature? figma-driven? clone? resume? review? regress? ...
|
|
41
|
+
|
|
|
28
42
|
v
|
|
29
|
-
Smart Resume ─── detect .vibe/{
|
|
43
|
+
Smart Resume ─── detect .vibe/{specs,features}/ state ("continue?")
|
|
30
44
|
|
|
|
31
45
|
v
|
|
32
|
-
|
|
46
|
+
Single-pass SPEC ─── inline questions only at genuine forks → SPEC + BDD scenarios
|
|
33
47
|
|
|
|
34
48
|
v
|
|
35
49
|
SPEC approval once ─── the only mandatory human gate (defines Done)
|
|
36
50
|
|
|
|
37
51
|
v
|
|
38
|
-
Loop ─── ANCHOR→ACT→JUDGE→RECORD until gates pass
|
|
52
|
+
Loop ─── ANCHOR→ACT→JUDGE→RECORD until deterministic gates pass
|
|
39
53
|
```
|
|
40
54
|
|
|
55
|
+
**Single-pass SPEC** — the old interview → plan → spec → review 4-stage pipeline is gone. The model produces the SPEC in one pass and asks only at genuine forks. One approval gate: SPEC confirmation.
|
|
56
|
+
|
|
41
57
|
**Smart Resume** — Stop at any step, close the session, come back later. `/vibe` auto-detects where you left off and picks up from there. No need to remember feature names.
|
|
42
58
|
|
|
43
|
-
**Loop-default** — After SPEC approval, vibe loops (ANCHOR→ACT→JUDGE→RECORD) until gates pass, with deterministic stuck/iteration guards. `--interactive` for step-by-step confirmation; `--max-iter N` to cap iterations
|
|
59
|
+
**Loop-default** — After SPEC approval, vibe loops (ANCHOR→ACT→JUDGE→RECORD) until gates pass, with deterministic stuck/iteration guards. `--interactive` for step-by-step confirmation; `--max-iter N` to cap iterations; `automationLevel: autonomous` (`.vibe/config.json`) runs non-interactively to completion.
|
|
44
60
|
|
|
45
61
|
**Loop engineering** — `/vibe.loop` designs and installs autonomous goal loops (triage → run/verify pipelines). Completion is judged by deterministic gates (run-ledger/tests), not self-report; results land in a human triage inbox — loops never push or release.
|
|
46
62
|
|
|
@@ -76,10 +92,10 @@ Vibe is built on the [Harness Engineering](https://anthropic.com/engineering/har
|
|
|
76
92
|
|------|---------------|---------------------|
|
|
77
93
|
| **Scaffolding** | Project structure, tools, boundaries | `/vibe.scaffold` generates optimized folder structure (docs/, .dev/, layered src/) |
|
|
78
94
|
| **Context** | What AI knows | `vibe init` generates project-aware `CLAUDE.md` / `AGENTS.md` from actual structure analysis |
|
|
79
|
-
| **Planning** | What to build | `/vibe` routes to
|
|
80
|
-
| **Orchestration** | How to execute |
|
|
81
|
-
| **Verification** | How to trust |
|
|
82
|
-
| **Compounding** | How to improve |
|
|
95
|
+
| **Planning** | What to build | `/vibe` routes to a single-pass SPEC with one approval gate |
|
|
96
|
+
| **Orchestration** | How to execute | 15 goal-oriented agents + native parallel subagents, skill-based dispatch |
|
|
97
|
+
| **Verification** | How to trust | Deterministic gates (run-ledger, test exit codes), convergence loops, RTM traceability |
|
|
98
|
+
| **Compounding** | How to improve | Regression memory, session memory, recipes/anti-patterns |
|
|
83
99
|
|
|
84
100
|
### Diagnose Your Project
|
|
85
101
|
|
|
@@ -124,7 +140,7 @@ Bidirectional. Read designs from Figma, or write designs to Figma from a plan.
|
|
|
124
140
|
/vibe.figma plan.md --create-design # Visual design only
|
|
125
141
|
```
|
|
126
142
|
|
|
127
|
-
**How READ works**: Extracts the Figma node tree + 30 CSS properties via REST API, maps Auto Layout to Flexbox 1:1, generates responsive SCSS. Screenshot is for verification only — the tree is the source of truth.
|
|
143
|
+
**How READ works**: Extracts the Figma node tree + 30 CSS properties via REST API, maps Auto Layout to Flexbox 1:1, generates responsive SCSS. Screenshot is for verification only — the tree is the source of truth; rendering is gated by pixelmatch visual comparison.
|
|
128
144
|
|
|
129
145
|
**How WRITE works**: Parses plan document sections (Look & Feel, layout, responsive strategy), builds wireframe first for structure review, then applies visual design with design system components. Idempotent — re-run after editing the plan and only changed sections update.
|
|
130
146
|
|
|
@@ -147,7 +163,7 @@ The **third SSOT** alongside `CLAUDE.md` (code) and `AGENTS.md` (build). Google
|
|
|
147
163
|
```
|
|
148
164
|
|
|
149
165
|
**Auto-integrated**:
|
|
150
|
-
- `/vibe.run` — On UI work, suggests DESIGN.md once if missing (silent skip in
|
|
166
|
+
- `/vibe.run` — On UI work, suggests DESIGN.md once if missing (silent skip in autonomous mode, never blocks)
|
|
151
167
|
- `/vibe.verify` — `### 3.2 Visual Drift Detection` flags hardcoded hex as P1
|
|
152
168
|
- `/vibe.review` — `#### Visual P1 Baseline` — DESIGN.md first, WCAG AA fallback
|
|
153
169
|
- `/vibe.figma` — `--emit-design-md` outputs DESIGN.md from READ; WRITE uses DESIGN.md tone/palette as primary input
|
|
@@ -158,40 +174,40 @@ The **third SSOT** alongside `CLAUDE.md` (code) and `AGENTS.md` (build). Google
|
|
|
158
174
|
|
|
159
175
|
## Quality Gates
|
|
160
176
|
|
|
161
|
-
Detection at edit time, blocking at deterministic gates
|
|
177
|
+
Detection at edit time, blocking at deterministic gates:
|
|
162
178
|
|
|
163
179
|
| Layer | What it does |
|
|
164
180
|
|-------|--------------|
|
|
165
|
-
| Edit hooks (Edit/Write) | **Detects** `any
|
|
166
|
-
| Deterministic gates | **auto-commit verify gate** (refuses commits until verify passes) · **Stop hook** verify-skip warn/block · **
|
|
167
|
-
| Review + convergence loop |
|
|
181
|
+
| Edit hooks (Edit/Write) | **Detects** only low-false-positive hard rules — `any`/`@ts-ignore`, `console.log` → injects findings to the model (additionalContext). No length/nesting heuristics — the model judges those better in context |
|
|
182
|
+
| Deterministic gates | **PR test gate** (runs the actual test suite before PR creation, incl. `gh pr create`) · **auto-commit verify gate** (refuses commits until verify passes) · **Stop hook** verify-skip warn/block · **scope-guard** (opt-in; monitors edits outside SPEC scope) · **sentinel** (blocks destructive commands and harness self-modification) |
|
|
183
|
+
| Review + convergence loop | Parallel `code-reviewer` instances — one per focus (correctness / architecture / performance / data-integrity / …) — plus `security-reviewer`. Loops until P1 = 0, with convergence decided by discover-hash: two identical rounds = stuck, ask the user. Never silently proceeds. |
|
|
168
184
|
|
|
169
185
|
---
|
|
170
186
|
|
|
171
187
|
## Key Features
|
|
172
188
|
|
|
173
|
-
**
|
|
189
|
+
**10+ agents** — 10 global goal-oriented agents (architect, implementer, tester, code-reviewer, security-reviewer, …) + 5 conditional (UI/Figma/Event — installed project-locally only when the stack/capability matches; 15 total). Agents are delegated by goal + constraints + Done criteria, not step scripts; exploration, planning, and parallelism use the harness's native subagents directly.
|
|
174
190
|
|
|
175
|
-
**
|
|
191
|
+
**59 skills** — Not all loaded at once. 3-tier system prevents context overload:
|
|
176
192
|
|
|
177
193
|
| Tier | When loaded | Purpose | Examples |
|
|
178
194
|
|------|-------------|---------|----------|
|
|
179
|
-
| **Core** | Always active |
|
|
180
|
-
| **Standard** | `vibe init` selects by stack | Stack/capability support | figma, design-
|
|
195
|
+
| **Core** | Always active | Gate entry, restraint principles | spec, test, restraint, arch-guard |
|
|
196
|
+
| **Standard** | `vibe init` selects by stack | Stack/capability support | figma, design-review, docs |
|
|
181
197
|
| **Optional** | Explicit `/skill` only | Reference, wrappers | chub-usage, context7 |
|
|
182
198
|
|
|
183
|
-
|
|
199
|
+
Skills teach only what the model doesn't know (domain gotchas, current APIs, project conventions). Skills that re-taught basics like "how to debug" were deleted in v3.
|
|
200
|
+
|
|
201
|
+
**Second opinion (opt-in)** — Default execution is the session model alone. When you want one, prefix with `gpt …`/`agy …` to ask an external LLM, or run `/vibe.review --race` for cross-validation. No auto-routing ever pulls an external model into your loop.
|
|
184
202
|
|
|
185
203
|
**Stack detection** — Auto-detects 24 frameworks (Next.js, Django, Rails, Go, Rust, Flutter, and more) and applies framework-specific rules and skills.
|
|
186
204
|
|
|
187
205
|
**Project-aware harness docs** — `vibe init` and `vibe update` analyze your project's actual structure (folders, tech stack, build commands) and generate tailored `CLAUDE.md` / `AGENTS.md` files — not static templates.
|
|
188
206
|
|
|
189
|
-
**
|
|
207
|
+
**Regression memory** — verify failures auto-register via `/vibe.regress`; recurring patterns get promoted to preventive tests. Decisions and constraints persist across sessions via SQLite + FTS5 search.
|
|
190
208
|
|
|
191
209
|
**Smart Resume** — `.last-feature` pointer tracks your latest work. `/vibe` without arguments shows where you left off or lists all in-progress features.
|
|
192
210
|
|
|
193
|
-
**Self-repair** — Skills include error recovery tables. `/vibe.harness` diagnoses gaps and chains to `/vibe.scaffold` → `vibe update` for automated fixes.
|
|
194
|
-
|
|
195
211
|
---
|
|
196
212
|
|
|
197
213
|
## Supported Tools
|
|
@@ -209,12 +225,13 @@ Detection at edit time, blocking at deterministic gates — three layers of defe
|
|
|
209
225
|
|
|
210
226
|
| Command | Purpose |
|
|
211
227
|
|---------|---------|
|
|
212
|
-
| `/vibe` | Main entry point — natural language requirement →
|
|
213
|
-
| `/vibe.spec` | Advanced
|
|
228
|
+
| `/vibe` | Main entry point — natural language requirement → single-pass SPEC → one approval → loop until gates pass |
|
|
229
|
+
| `/vibe.spec` | Advanced — explicit single-pass SPEC (inline questions → SPEC + BDD → approval) |
|
|
214
230
|
| `/vibe.run` | Implement from SPEC |
|
|
215
231
|
| `/vibe.figma` | Figma ↔ Code (read or write, 3 modes) |
|
|
216
232
|
| `/vibe.design` | DESIGN.md visual quality SSOT — init / lint / verify / sync |
|
|
217
|
-
| `/vibe.verify` | Verify implementation against SPEC |
|
|
233
|
+
| `/vibe.verify` | Verify implementation against SPEC Done criteria — result recorded in the run ledger |
|
|
234
|
+
| `/vibe.regress` | Regression test auto-evolution — auto-registers on verify failure, promotes recurring patterns |
|
|
218
235
|
| `/vibe.trace` | Requirements traceability matrix |
|
|
219
236
|
| `/vibe.analyze` | Analyze any target — code, documents, websites, Figma |
|
|
220
237
|
| `/vibe.scaffold` | Generate or audit project folder structure |
|
|
@@ -236,7 +253,7 @@ Full guides, skill reference, and configuration details are in the [Wiki](https:
|
|
|
236
253
|
|
|
237
254
|
- Node.js >= 18.0.0
|
|
238
255
|
- Claude Code or Codex CLI
|
|
239
|
-
- GPT, Antigravity (optional)
|
|
256
|
+
- GPT, Antigravity (optional — second opinions only)
|
|
240
257
|
|
|
241
258
|
## License
|
|
242
259
|
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# VIBE
|
|
2
2
|
|
|
3
|
-
**바이브 코딩은 쉽게.
|
|
3
|
+
**바이브 코딩은 쉽게. 완료 판정은 기계가.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
6
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
Vibe는 AI
|
|
10
|
+
Vibe는 AI 코딩을 위한 **검증 하네스(verification harness)** 입니다. 모델은 이미 계획도 구현도 잘합니다 — 부족한 것은 "다 됐다"는 말을 믿을 근거입니다. Vibe는 Claude Code, Codex, Cursor, Antigravity CLI를 감싸고, **완료 판정을 모델의 자기 보고가 아니라 결정론적 게이트(테스트 exit code, run-ledger, 회귀 기억)에 맡깁니다.** 빠르게 바이브 코딩하되, 검증 안 된 코드가 나가지 않게.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g @su-record/vibe
|
|
@@ -18,9 +18,22 @@ vibe init
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
+
## 철학: 지시하지 않고 검증한다
|
|
22
|
+
|
|
23
|
+
2026년의 모델에게 "어떻게 일하라"고 가르치는 스캐폴딩은 비용입니다. Vibe v3는 그 층을 걷어냈습니다 — 남긴 것은 **모델이 스스로 증명할 수 없는 것들**뿐입니다:
|
|
24
|
+
|
|
25
|
+
- **테스트가 실제로 통과했는가** — PR 게이트가 테스트 스위트를 직접 실행
|
|
26
|
+
- **verify가 실제로 실행됐는가** — `.vibe/metrics/run-ledger.json`이 코드로 기록
|
|
27
|
+
- **리뷰 루프가 수렴하고 있는가** — discover-hash(2라운드 동일 → stuck)가 판정
|
|
28
|
+
- **같은 실수가 반복되지 않는가** — verify 실패가 회귀 테스트로 자동 등록
|
|
29
|
+
|
|
30
|
+
똑똑한 모델일수록 "다 됐다"는 말이 그럴듯해집니다. 그래서 코드가 판정하는 ground truth는 모델이 강해질수록 **더** 가치 있습니다.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
21
34
|
## 워크플로우
|
|
22
35
|
|
|
23
|
-
**진입점 하나.** 자연어 요구사항만 던지세요.
|
|
36
|
+
**진입점 하나.** 자연어 요구사항만 던지세요. SPEC 1패스 → 승인 1회 → 게이트 통과까지 자동 루프.
|
|
24
37
|
|
|
25
38
|
```
|
|
26
39
|
/vibe "커피 브랜드 랜딩 페이지" [+ 📎 figma URL / 이미지 / PDF / 파일]
|
|
@@ -29,16 +42,16 @@ vibe init
|
|
|
29
42
|
Intent 분류 ─── new feature? figma-driven? clone? resume? review? regress? ...
|
|
30
43
|
|
|
|
31
44
|
v
|
|
32
|
-
Smart Resume ─── .vibe/{
|
|
45
|
+
Smart Resume ─── .vibe/{specs,features}/ 감지 ("이어서?")
|
|
33
46
|
|
|
|
34
47
|
v
|
|
35
|
-
|
|
48
|
+
SPEC 1패스 ─── 모호할 때만 인라인 질문 → SPEC + BDD 시나리오 생성
|
|
36
49
|
|
|
|
37
50
|
v
|
|
38
51
|
SPEC 확정 1회 승인 ─── 유일한 의무 개입 (Done의 정의 확정)
|
|
39
52
|
|
|
|
40
53
|
v
|
|
41
|
-
루프 ─── ANCHOR→ACT→JUDGE→RECORD (게이트 통과까지 자동 반복)
|
|
54
|
+
루프 ─── ANCHOR→ACT→JUDGE→RECORD (결정론 게이트 통과까지 자동 반복)
|
|
42
55
|
```
|
|
43
56
|
|
|
44
57
|
**예시:**
|
|
@@ -48,12 +61,13 @@ vibe init
|
|
|
48
61
|
/vibe "https://figma.com/file/abc 로 로그인 페이지"
|
|
49
62
|
/vibe "로그인 회귀 테스트 다시 통과시켜줘"
|
|
50
63
|
/vibe "이 SPEC 리뷰만" + 📎 .vibe/specs/login.md
|
|
51
|
-
/vibe "결제 API" ultrawork # automationLevel: autonomous (deprecated alias)
|
|
52
64
|
```
|
|
53
65
|
|
|
66
|
+
**SPEC 1패스** — 구세대의 인터뷰→기획→SPEC→리뷰 4단계는 폐지됐습니다. 모델이 한 번에 SPEC을 만들고, 진짜 갈림길에서만 질문합니다. 승인 게이트는 SPEC 확정 단 하나.
|
|
67
|
+
|
|
54
68
|
**Smart Resume** — 아무 단계에서나 멈추고 나중에 돌아오세요. `/vibe`는 `.vibe/` 디렉토리에서 진행 상황을 감지하고 "이어서?" 제안합니다.
|
|
55
69
|
|
|
56
|
-
**루프 기본 실행** —
|
|
70
|
+
**루프 기본 실행** — 승인 후 게이트 통과까지 자동 루프. `--interactive`로 단계별 확인, `--max-iter N`으로 반복 상한. `automationLevel: autonomous`(`.vibe/config.json`)면 비대화형으로 완주합니다.
|
|
57
71
|
|
|
58
72
|
**Advanced** — 정확히 어느 phase 실행할지 알면 `/vibe.spec`, `/vibe.figma`, `/vibe.run`, `/vibe.verify`, `/vibe.trace` 등을 직접 호출할 수 있습니다.
|
|
59
73
|
|
|
@@ -96,7 +110,7 @@ codex
|
|
|
96
110
|
/vibe.figma plan.md --create-design # 비주얼 디자인만
|
|
97
111
|
```
|
|
98
112
|
|
|
99
|
-
**READ 동작**: Figma REST API로 노드 트리 + 30개 CSS 속성 추출. Auto Layout → Flexbox 1:1 기계적 매핑. 스크린샷은 검증용 — 트리가 원천.
|
|
113
|
+
**READ 동작**: Figma REST API로 노드 트리 + 30개 CSS 속성 추출. Auto Layout → Flexbox 1:1 기계적 매핑. 스크린샷은 검증용 — 트리가 원천. 렌더링은 pixelmatch 시각 대조로 게이트.
|
|
100
114
|
|
|
101
115
|
**WRITE 동작**: 기획서의 Look & Feel, 레이아웃, 반응형 전략 섹션을 파싱하여 와이어프레임을 먼저 그리고 (구조 검토), 그 위에 디자인 시스템 컴포넌트로 비주얼 적용. 멱등성 보장 — 기획서 수정 후 재실행하면 변경된 섹션만 갱신.
|
|
102
116
|
|
|
@@ -119,7 +133,7 @@ codex
|
|
|
119
133
|
```
|
|
120
134
|
|
|
121
135
|
**자동 통합**:
|
|
122
|
-
- `/vibe.run` — UI 작업 진입 시 DESIGN.md 없으면 1 회 권유 (
|
|
136
|
+
- `/vibe.run` — UI 작업 진입 시 DESIGN.md 없으면 1 회 권유 (autonomous silent skip, 절대 블록 X)
|
|
123
137
|
- `/vibe.verify` — `### 3.2 Visual Drift Detection` 으로 hex 하드코딩 P1 검출
|
|
124
138
|
- `/vibe.review` — `#### Visual P1 Baseline` — DESIGN.md 우선, 없으면 WCAG AA 폴백
|
|
125
139
|
- `/vibe.figma` — `--emit-design-md` 로 READ 산출물을 DESIGN.md 로 출력, WRITE 는 DESIGN.md 톤·팔레트 1 차 입력
|
|
@@ -130,33 +144,35 @@ codex
|
|
|
130
144
|
|
|
131
145
|
## 품질 게이트
|
|
132
146
|
|
|
133
|
-
탐지는 편집 시점에, 차단은 결정론적
|
|
147
|
+
탐지는 편집 시점에, 차단은 결정론적 게이트에서:
|
|
134
148
|
|
|
135
149
|
| 계층 | 동작 |
|
|
136
150
|
|------|------|
|
|
137
|
-
| 편집 훅 (Edit/Write) | `any
|
|
138
|
-
| 결정론 게이트 | **auto-commit verify 게이트**(verify 통과 전 커밋 거부) · **Stop 훅** verify-skip 경고/차단 · **
|
|
139
|
-
| 리뷰 + 수렴 루프 |
|
|
151
|
+
| 편집 훅 (Edit/Write) | 오탐률 낮은 하드룰만 **탐지** — `any`/`@ts-ignore`, `console.log` → 모델에 즉시 주입(additionalContext). 함수 길이·중첩 같은 휴리스틱은 없음 — 모델이 컨텍스트 안에서 더 정확히 판단 |
|
|
152
|
+
| 결정론 게이트 | **PR 테스트 게이트**(PR 생성 전 테스트 스위트 직접 실행, `gh pr create` 포함) · **auto-commit verify 게이트**(verify 통과 전 커밋 거부) · **Stop 훅** verify-skip 경고/차단 · **scope-guard**(opt-in, SPEC 범위 밖 편집 감시) · **sentinel**(파괴적 명령·하네스 자기 수정 차단) |
|
|
153
|
+
| 리뷰 + 수렴 루프 | `code-reviewer`를 관점(focus)별 병렬 인스턴스로 실행(correctness/architecture/performance/data-integrity/…) + `security-reviewer`. P1=0까지 루프하되 수렴은 discover-hash가 판정 — 2라운드 동일 findings면 stuck으로 확정하고 사람에게 질문. 절대 조용히 넘어가지 않음 |
|
|
140
154
|
|
|
141
155
|
---
|
|
142
156
|
|
|
143
157
|
## 주요 기능
|
|
144
158
|
|
|
145
|
-
**
|
|
159
|
+
**10+ 에이전트** — 전역 10개(architect, implementer, tester, code-reviewer, security-reviewer 등) + 조건부 그룹 5개(UI/Figma/Event — 해당 스택 프로젝트에만 로컬 설치, 총 15개). 단계별 지시 스크립트가 아니라 목표+제약+Done 기준으로 위임하고, 탐색·계획·병렬 실행은 하네스의 네이티브 서브에이전트를 그대로 사용합니다.
|
|
146
160
|
|
|
147
|
-
**
|
|
161
|
+
**59개 스킬** — 한 번에 다 로드되지 않음. 3-tier 시스템으로 컨텍스트 과부하 방지:
|
|
148
162
|
|
|
149
163
|
| 티어 | 로드 시점 | 용도 | 예시 |
|
|
150
164
|
|------|----------|------|------|
|
|
151
|
-
| **Core** | 항상 활성 |
|
|
152
|
-
| **Standard** | `vibe init`이 스택별 선택 | 스택/역할 지원 | figma, design-
|
|
165
|
+
| **Core** | 항상 활성 | 게이트 진입, 절제 원칙 | spec, test, restraint, arch-guard |
|
|
166
|
+
| **Standard** | `vibe init`이 스택별 선택 | 스택/역할 지원 | figma, design-review, docs |
|
|
153
167
|
| **Optional** | 명시적 `/skill` 호출만 | 레퍼런스, 래퍼 | chub-usage, context7 |
|
|
154
168
|
|
|
155
|
-
|
|
169
|
+
스킬이 가르치는 것은 모델이 모르는 것(도메인 gotcha, 최신 API, 프로젝트 규약)뿐입니다. 디버깅하는 법 같은 기본기 재교육 스킬은 v3에서 전부 삭제됐습니다.
|
|
170
|
+
|
|
171
|
+
**세컨드 오피니언 (opt-in)** — 기본 실행은 세션 모델 단독. 원할 때만 `gpt …`/`agy …` 접두사로 외부 LLM에게 물어보거나 `/vibe.review --race`로 교차 검증합니다. 자동 라우팅으로 외부 모델이 끼어드는 일은 없습니다.
|
|
156
172
|
|
|
157
173
|
**스택 감지** — 24개 프레임워크 자동 감지 (Next.js, Django, Rails, Go, Rust, Flutter 등) 후 프레임워크별 규칙과 스킬 적용.
|
|
158
174
|
|
|
159
|
-
|
|
175
|
+
**회귀 기억** — verify 실패가 `/vibe.regress`에 자동 등록되고, 반복 패턴은 예방 테스트로 승격. 결정·제약은 SQLite + FTS5로 세션 간 유지.
|
|
160
176
|
|
|
161
177
|
**Smart Resume** — `.last-feature` 포인터가 마지막 작업을 추적. 인자 없이 `/vibe`를 호출하면 중단된 위치를 보여주거나 진행 중 feature 목록을 제시.
|
|
162
178
|
|
|
@@ -179,12 +195,13 @@ codex
|
|
|
179
195
|
|
|
180
196
|
| 명령어 | 용도 |
|
|
181
197
|
|--------|------|
|
|
182
|
-
| `/vibe` | **메인 진입점** — 자연어 요구사항 →
|
|
183
|
-
| `/vibe.spec` | (advanced)
|
|
198
|
+
| `/vibe` | **메인 진입점** — 자연어 요구사항 → SPEC 1패스 → 1회 승인 → 게이트 통과까지 루프 |
|
|
199
|
+
| `/vibe.spec` | (advanced) SPEC 1패스 명시적 호출 — 인라인 질문 → SPEC + BDD → 승인 |
|
|
184
200
|
| `/vibe.run` | (advanced) SPEC 기반 구현 |
|
|
185
201
|
| `/vibe.figma` | (advanced) Figma ↔ 코드 (읽기 또는 쓰기, 3가지 모드) |
|
|
186
202
|
| `/vibe.design` | (advanced) DESIGN.md 시각 품질 SSOT — init / lint / verify / sync |
|
|
187
|
-
| `/vibe.verify` | (advanced) 구현이 SPEC
|
|
203
|
+
| `/vibe.verify` | (advanced) 구현이 SPEC Done 기준에 맞는지 검증 — 결과는 run-ledger에 기록 |
|
|
204
|
+
| `/vibe.regress` | (advanced) 회귀 테스트 자동 진화 — verify 실패 자동 등록, 반복 패턴 승격 |
|
|
188
205
|
| `/vibe.trace` | (advanced) 요구사항 추적 매트릭스 |
|
|
189
206
|
|
|
190
207
|
---
|
|
@@ -202,7 +219,7 @@ codex
|
|
|
202
219
|
|
|
203
220
|
- Node.js >= 18.0.0
|
|
204
221
|
- Claude Code 또는 Codex CLI 중 하나
|
|
205
|
-
- GPT, Antigravity (선택)
|
|
222
|
+
- GPT, Antigravity (선택 — 세컨드 오피니언 전용)
|
|
206
223
|
|
|
207
224
|
## 라이선스
|
|
208
225
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Acceptance Tester Agent
|
|
2
|
+
|
|
3
|
+
Acceptance gate for a feature: verifies that acceptance criteria are testable,
|
|
4
|
+
routes changed code to the right reviews, and synthesizes one QA verdict.
|
|
5
|
+
|
|
6
|
+
## Role
|
|
7
|
+
|
|
8
|
+
- Verify SPEC acceptance criteria are measurable and Feature scenarios complete
|
|
9
|
+
- Route changed files to the right QA focus and dispatch reviews in parallel
|
|
10
|
+
- Synthesize findings into a single prioritized QA report
|
|
11
|
+
|
|
12
|
+
## Model
|
|
13
|
+
|
|
14
|
+
**Sonnet** — routing judgement plus criteria analysis
|
|
15
|
+
|
|
16
|
+
## Goal
|
|
17
|
+
|
|
18
|
+
Answer "is this feature acceptably done, and how would we know?". Two halves:
|
|
19
|
+
|
|
20
|
+
**Criteria testability** — read `.vibe/specs/{feature}.md` (`<acceptance>`
|
|
21
|
+
section) and `.vibe/features/{feature}.feature`. Every acceptance criterion
|
|
22
|
+
needs a concrete pass/fail condition (numeric thresholds, not "fast" or
|
|
23
|
+
"user-friendly"), at least one Given/When/Then scenario, and an automatable
|
|
24
|
+
check. Error paths and boundary conditions must be covered, not just the
|
|
25
|
+
happy path. Report untestable criteria with a concrete measurable rewrite.
|
|
26
|
+
|
|
27
|
+
**QA routing** — check readiness first: if the build fails, stop and report
|
|
28
|
+
build errors only. Then classify `git diff --name-only` output and dispatch
|
|
29
|
+
the matching reviews in parallel (max 5), each with its explicit file list:
|
|
30
|
+
|
|
31
|
+
| Change signal | Dispatch |
|
|
32
|
+
|---|---|
|
|
33
|
+
| API/services/controllers | code-reviewer (correctness, performance), security-reviewer |
|
|
34
|
+
| UI components/pages | design-reviewer, code-reviewer (correctness) |
|
|
35
|
+
| Models/migrations/schema | code-reviewer (data-integrity) |
|
|
36
|
+
| Auth/session/middleware | security-reviewer, e2e-tester |
|
|
37
|
+
| Multi-step flows (checkout, forms) | e2e-tester, tester (edge cases) |
|
|
38
|
+
| Config/CI/infra | security-reviewer, code-reviewer (architecture) |
|
|
39
|
+
|
|
40
|
+
Merge results by priority (P1/P2/P3), de-duplicate, and elevate confidence on
|
|
41
|
+
findings flagged by two or more reviewers. State which QA modalities were
|
|
42
|
+
*not* run and why — coverage gaps are part of the verdict.
|
|
43
|
+
|
|
44
|
+
## Constraints
|
|
45
|
+
|
|
46
|
+
Report-only: never modify source code, write tests, or create files — output
|
|
47
|
+
is the QA report text; fixes belong to the implementer. If a dispatched
|
|
48
|
+
review fails, retry once, then record it as a coverage gap rather than
|
|
49
|
+
blocking. Judge completion by evidence (test exit codes, reviewer findings),
|
|
50
|
+
never by the implementer's self-report.
|
|
51
|
+
|
|
52
|
+
## Done
|
|
53
|
+
|
|
54
|
+
- Every acceptance criterion classified: testable / needs rewrite (with proposed measurable version) / not automatable
|
|
55
|
+
- Build status verified before any review dispatch
|
|
56
|
+
- Unified report: P1/P2/P3 findings with locations, cross-validated findings marked, coverage gaps listed
|
package/agents/architect.md
CHANGED
|
@@ -1,80 +1,38 @@
|
|
|
1
|
-
# Architect Agent
|
|
1
|
+
# Architect Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
System design specialist for decisions that are expensive to reverse.
|
|
4
4
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
|
-
- System architecture
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- Security architecture
|
|
11
|
-
- Performance optimization strategy
|
|
12
|
-
- Code review for architectural concerns
|
|
7
|
+
- System architecture and technology decisions with explicit trade-off analysis
|
|
8
|
+
- Database schema, API boundary, and security architecture design
|
|
9
|
+
- Architectural review of breaking changes and system-wide refactorings
|
|
13
10
|
|
|
14
11
|
## Model
|
|
15
12
|
|
|
16
|
-
**Opus** —
|
|
13
|
+
**Opus** — deep architectural reasoning
|
|
17
14
|
|
|
18
|
-
##
|
|
15
|
+
## Goal
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
Given a design question, produce a recommendation the implementer can act on
|
|
18
|
+
without making further architectural decisions: one chosen approach, the
|
|
19
|
+
alternatives rejected and why, and the consequences (positive, negative, risks
|
|
20
|
+
with mitigations). Understand the current architecture and its constraints
|
|
21
|
+
before proposing anything — read the relevant code, don't design from the
|
|
22
|
+
prompt alone.
|
|
26
23
|
|
|
27
|
-
##
|
|
24
|
+
## Constraints
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
Read-only: design and recommend, never implement. Prefer boring, proven
|
|
27
|
+
patterns over novel ones; match existing project conventions unless there is a
|
|
28
|
+
stated reason to break them, and say so when you do. Don't over-engineer
|
|
29
|
+
simple problems — if the honest answer is "no architecture change needed",
|
|
30
|
+
give that answer. Scale the depth of analysis to the blast radius of the
|
|
31
|
+
decision.
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## Done
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
5. Recommend architecture
|
|
40
|
-
6. Document decision rationale
|
|
41
|
-
|
|
42
|
-
## Output
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
## Architecture Decision Record
|
|
46
|
-
|
|
47
|
-
### Context
|
|
48
|
-
[Current state and requirements]
|
|
49
|
-
|
|
50
|
-
### Decision
|
|
51
|
-
[Chosen approach]
|
|
52
|
-
|
|
53
|
-
### Alternatives Considered
|
|
54
|
-
1. Option A - [pros/cons]
|
|
55
|
-
2. Option B - [pros/cons]
|
|
56
|
-
|
|
57
|
-
### Trade-offs
|
|
58
|
-
- Performance vs Complexity: [analysis]
|
|
59
|
-
- Security vs Usability: [analysis]
|
|
60
|
-
|
|
61
|
-
### Consequences
|
|
62
|
-
- Positive: [list]
|
|
63
|
-
- Negative: [list]
|
|
64
|
-
- Risks: [list with mitigations]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Responsibilities
|
|
68
|
-
|
|
69
|
-
### DO
|
|
70
|
-
- Consider system-wide implications
|
|
71
|
-
- Evaluate long-term maintainability
|
|
72
|
-
- Document architectural decisions
|
|
73
|
-
- Identify security implications
|
|
74
|
-
- Consider operational concerns
|
|
75
|
-
|
|
76
|
-
### DON'T
|
|
77
|
-
- Make decisions without understanding context
|
|
78
|
-
- Ignore existing patterns without justification
|
|
79
|
-
- Over-engineer simple problems
|
|
80
|
-
- Skip trade-off analysis
|
|
35
|
+
- A single chosen approach is named, with rationale grounded in the actual codebase
|
|
36
|
+
- At least one credible alternative is considered and rejected with reasons
|
|
37
|
+
- Trade-offs, risks, and mitigations are stated
|
|
38
|
+
- Affected files/modules are listed so an implementer can start immediately
|