@su-record/vibe 2.9.32 → 2.9.34
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 -109
- 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 -600
- 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 -1946
- 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 -572
- package/dist/cli/collaborator.js +52 -52
- 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 +48 -46
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts +6 -3
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +60 -30
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/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 +29 -11
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +40 -34
- 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/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +15 -1
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts +25 -6
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +132 -80
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- 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/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/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/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +134 -134
- 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 -768
- 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 +95 -87
- package/hooks/scripts/lib/scope-from-spec.js +276 -276
- package/hooks/scripts/llm-orchestrate.js +645 -645
- package/hooks/scripts/post-edit-dispatcher.js +9 -6
- package/hooks/scripts/post-edit.js +35 -35
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-dispatcher.js +9 -1
- package/hooks/scripts/pre-tool-guard.js +259 -259
- package/hooks/scripts/prompt-dispatcher.js +200 -192
- 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 -45
- package/hooks/scripts/stop-dispatcher.js +9 -6
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +315 -315
- 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 -241
- 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
|
@@ -1,166 +1,166 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vibe-contract
|
|
3
|
-
tier: core
|
|
4
|
-
description: "API contract drift detection. Extracts HTTP/GraphQL/event/public-function contracts from SPEC into .claude/vibe/contracts/<feature>.md, compares to implementation, and fails loudly on breaking drift (missing endpoints, removed required fields, type changes). P1 drifts auto-register as regressions via vibe-regress. Must use this skill when user runs /vibe.contract, when /vibe.spec completes, when /vibe.verify passes scenarios, or when the user says 'contract', 'API schema', 'breaking change', 'drift', '계약', '스키마 바뀜'."
|
|
5
|
-
triggers: [contract, drift, "계약", "API 변경", "breaking change", "schema drift"]
|
|
6
|
-
priority: 70
|
|
7
|
-
chain-next: []
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# vibe.contract — API Contract Drift Detection
|
|
11
|
-
|
|
12
|
-
**Purpose**: catch divergence between the SPEC's external contract and the actual implementation. Passing tests ≠ contract preserved.
|
|
13
|
-
|
|
14
|
-
## Why this exists
|
|
15
|
-
|
|
16
|
-
Hidden vibe-coding weakness: as the implementation grows, response shapes drift away from what the SPEC documents. Scenario tests still pass — but **external consumers break**. Manual SPEC-vs-code review is high-friction, so mechanize it.
|
|
17
|
-
|
|
18
|
-
## Storage Contract
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
.claude/vibe/contracts/
|
|
22
|
-
<feature>.md # contract SSOT (extracted from SPEC)
|
|
23
|
-
<feature>.snapshot.md # implementation snapshot (last check)
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Contract frontmatter schema
|
|
27
|
-
|
|
28
|
-
```yaml
|
|
29
|
-
---
|
|
30
|
-
feature: string
|
|
31
|
-
extracted-from: .claude/vibe/specs/<feature>.md
|
|
32
|
-
extracted-at: ISO-8601
|
|
33
|
-
source-spec-hash: sha256 # for change detection
|
|
34
|
-
endpoints:
|
|
35
|
-
- id: unique-kebab-id # e.g. get-user-by-id
|
|
36
|
-
kind: http | graphql | event | function
|
|
37
|
-
# http
|
|
38
|
-
method: GET | POST | PUT | DELETE | PATCH
|
|
39
|
-
path: /users/:id
|
|
40
|
-
request:
|
|
41
|
-
params: { name: type, ... }
|
|
42
|
-
query: { name: type, ... }
|
|
43
|
-
body: { field: type, ... } | null
|
|
44
|
-
required: [field, ...]
|
|
45
|
-
response:
|
|
46
|
-
statusCodes:
|
|
47
|
-
200: { schema }
|
|
48
|
-
404: { error: string }
|
|
49
|
-
required-fields:
|
|
50
|
-
200: [id, email]
|
|
51
|
-
# graphql
|
|
52
|
-
operation: query | mutation
|
|
53
|
-
name: string
|
|
54
|
-
args: { ... }
|
|
55
|
-
returns: { ... }
|
|
56
|
-
# event
|
|
57
|
-
topic: string
|
|
58
|
-
payload: { ... }
|
|
59
|
-
# function
|
|
60
|
-
signature: "(a: string, b: number) => Promise<User>"
|
|
61
|
-
module: path/to/file.ts
|
|
62
|
-
---
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Subcommands
|
|
66
|
-
|
|
67
|
-
### 1. `extract <feature>` — pull contract out of the SPEC
|
|
68
|
-
|
|
69
|
-
**Steps**:
|
|
70
|
-
1. Load SPEC file (single file or split folder)
|
|
71
|
-
2. Search sections in this order:
|
|
72
|
-
- `## API` / `## Endpoints` / `## Interface` / `## Contract`
|
|
73
|
-
- Markdown tables (method/path/request/response headers)
|
|
74
|
-
- OpenAPI/JSON Schema snippets inside code blocks
|
|
75
|
-
3. Extraction failure (no such section) → **exit cleanly with `no-contract` state**. Not every feature has an API.
|
|
76
|
-
4. Success → convert to the frontmatter structure
|
|
77
|
-
5. `source-spec-hash`: sha256 of SPEC content (for next extract to detect change)
|
|
78
|
-
6. Save to `.claude/vibe/contracts/<feature>.md` (no-op if file exists with the same hash)
|
|
79
|
-
|
|
80
|
-
**Caveat**: extraction is LLM-driven. Mark low-confidence fields with `# unconfirmed` so the user can review.
|
|
81
|
-
|
|
82
|
-
### 2. `check <feature>` — contract vs implementation
|
|
83
|
-
|
|
84
|
-
**Steps**:
|
|
85
|
-
1. Load `.claude/vibe/contracts/<feature>.md`. If missing → **suggest extract first**.
|
|
86
|
-
2. For each endpoint, find implementation:
|
|
87
|
-
- http: detect framework (Express, Fastify, Next.js API routes, Hono, ...)
|
|
88
|
-
- graphql: locate resolver files
|
|
89
|
-
- event: producer/consumer code
|
|
90
|
-
- function: module export
|
|
91
|
-
3. Extract implementation signature/schema → compare against contract
|
|
92
|
-
4. Classify drift (severity table in command file)
|
|
93
|
-
5. Persist snapshot at `.claude/vibe/contracts/<feature>.snapshot.md` (current implementation state)
|
|
94
|
-
|
|
95
|
-
### 3. `diff <feature>` — changes since last snapshot
|
|
96
|
-
|
|
97
|
-
**Steps**:
|
|
98
|
-
1. If `.snapshot.md` does not exist → say "first run" and exit
|
|
99
|
-
2. Re-extract current implementation; compare to existing snapshot
|
|
100
|
-
3. Output **only changed fields** in ASCII diff form:
|
|
101
|
-
```
|
|
102
|
-
endpoints/get-user-by-id/response/200:
|
|
103
|
-
- email: string
|
|
104
|
-
+ email: string | null ← nullability added (P1 breaking)
|
|
105
|
-
+ phoneNumber: string ← new field (P3 safe)
|
|
106
|
-
```
|
|
107
|
-
4. On any drift, auto-call `/vibe.regress register --from-contract`
|
|
108
|
-
|
|
109
|
-
## Drift Severity Matrix
|
|
110
|
-
|
|
111
|
-
(matches command file — keep both in sync on edits)
|
|
112
|
-
|
|
113
|
-
## Integration Points
|
|
114
|
-
|
|
115
|
-
### From /vibe.spec
|
|
116
|
-
|
|
117
|
-
Auto-invoke right after the SPEC is written:
|
|
118
|
-
```
|
|
119
|
-
Load skill `vibe-contract` with: extract <feature>
|
|
120
|
-
```
|
|
121
|
-
Failure does not stop `/vibe.spec` (extraction is optional). On success, `/vibe.run` references this contract.
|
|
122
|
-
|
|
123
|
-
### From /vibe.verify
|
|
124
|
-
|
|
125
|
-
After all scenarios pass:
|
|
126
|
-
```
|
|
127
|
-
Load skill `vibe-contract` with: check <feature>
|
|
128
|
-
```
|
|
129
|
-
- no drift → verify still passes
|
|
130
|
-
- P1 drift → demote verify to fail; auto-register
|
|
131
|
-
- P2 / P3 drift → warning only; verify still passes
|
|
132
|
-
|
|
133
|
-
### To /vibe.regress
|
|
134
|
-
|
|
135
|
-
On P1 drift:
|
|
136
|
-
```
|
|
137
|
-
Load skill `vibe-regress` with:
|
|
138
|
-
subcommand: register --from-contract
|
|
139
|
-
feature: <feature>
|
|
140
|
-
symptom: "Contract drift: <endpoint-id> <drift-type>"
|
|
141
|
-
root-cause-tag: integration
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Framework Detection Rules
|
|
145
|
-
|
|
146
|
-
HTTP framework detection order:
|
|
147
|
-
1. `package.json` dependencies: `next` → Next.js API routes
|
|
148
|
-
2. `fastify` → Fastify
|
|
149
|
-
3. `express` → Express
|
|
150
|
-
4. `hono` → Hono
|
|
151
|
-
5. `@nestjs/core` → NestJS
|
|
152
|
-
6. None detected → ask user for manual mapping
|
|
153
|
-
|
|
154
|
-
After detection, grep for each framework's **route definition pattern** to map endpoints:
|
|
155
|
-
- Next.js: `pages/api/**` or `app/api/**/route.ts`
|
|
156
|
-
- Express: `app.get|post|put|delete|patch\(`
|
|
157
|
-
- Fastify: `fastify.get|post|...` or route configuration
|
|
158
|
-
- Hono: `app.get|post|...`
|
|
159
|
-
|
|
160
|
-
## Done Criteria
|
|
161
|
-
|
|
162
|
-
- [ ] `extract` does not error on SPEC without an API section
|
|
163
|
-
- [ ] `source-spec-hash`-based re-extract is a no-op when unchanged
|
|
164
|
-
- [ ] `check` reports each drift with severity + location (file:line)
|
|
165
|
-
- [ ] P1 drift always invokes `/vibe.regress`
|
|
166
|
-
- [ ] On framework detection failure, ask the user — do not silently skip
|
|
1
|
+
---
|
|
2
|
+
name: vibe-contract
|
|
3
|
+
tier: core
|
|
4
|
+
description: "API contract drift detection. Extracts HTTP/GraphQL/event/public-function contracts from SPEC into .claude/vibe/contracts/<feature>.md, compares to implementation, and fails loudly on breaking drift (missing endpoints, removed required fields, type changes). P1 drifts auto-register as regressions via vibe-regress. Must use this skill when user runs /vibe.contract, when /vibe.spec completes, when /vibe.verify passes scenarios, or when the user says 'contract', 'API schema', 'breaking change', 'drift', '계약', '스키마 바뀜'."
|
|
5
|
+
triggers: [contract, drift, "계약", "API 변경", "breaking change", "schema drift"]
|
|
6
|
+
priority: 70
|
|
7
|
+
chain-next: []
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# vibe.contract — API Contract Drift Detection
|
|
11
|
+
|
|
12
|
+
**Purpose**: catch divergence between the SPEC's external contract and the actual implementation. Passing tests ≠ contract preserved.
|
|
13
|
+
|
|
14
|
+
## Why this exists
|
|
15
|
+
|
|
16
|
+
Hidden vibe-coding weakness: as the implementation grows, response shapes drift away from what the SPEC documents. Scenario tests still pass — but **external consumers break**. Manual SPEC-vs-code review is high-friction, so mechanize it.
|
|
17
|
+
|
|
18
|
+
## Storage Contract
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
.claude/vibe/contracts/
|
|
22
|
+
<feature>.md # contract SSOT (extracted from SPEC)
|
|
23
|
+
<feature>.snapshot.md # implementation snapshot (last check)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Contract frontmatter schema
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
---
|
|
30
|
+
feature: string
|
|
31
|
+
extracted-from: .claude/vibe/specs/<feature>.md
|
|
32
|
+
extracted-at: ISO-8601
|
|
33
|
+
source-spec-hash: sha256 # for change detection
|
|
34
|
+
endpoints:
|
|
35
|
+
- id: unique-kebab-id # e.g. get-user-by-id
|
|
36
|
+
kind: http | graphql | event | function
|
|
37
|
+
# http
|
|
38
|
+
method: GET | POST | PUT | DELETE | PATCH
|
|
39
|
+
path: /users/:id
|
|
40
|
+
request:
|
|
41
|
+
params: { name: type, ... }
|
|
42
|
+
query: { name: type, ... }
|
|
43
|
+
body: { field: type, ... } | null
|
|
44
|
+
required: [field, ...]
|
|
45
|
+
response:
|
|
46
|
+
statusCodes:
|
|
47
|
+
200: { schema }
|
|
48
|
+
404: { error: string }
|
|
49
|
+
required-fields:
|
|
50
|
+
200: [id, email]
|
|
51
|
+
# graphql
|
|
52
|
+
operation: query | mutation
|
|
53
|
+
name: string
|
|
54
|
+
args: { ... }
|
|
55
|
+
returns: { ... }
|
|
56
|
+
# event
|
|
57
|
+
topic: string
|
|
58
|
+
payload: { ... }
|
|
59
|
+
# function
|
|
60
|
+
signature: "(a: string, b: number) => Promise<User>"
|
|
61
|
+
module: path/to/file.ts
|
|
62
|
+
---
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Subcommands
|
|
66
|
+
|
|
67
|
+
### 1. `extract <feature>` — pull contract out of the SPEC
|
|
68
|
+
|
|
69
|
+
**Steps**:
|
|
70
|
+
1. Load SPEC file (single file or split folder)
|
|
71
|
+
2. Search sections in this order:
|
|
72
|
+
- `## API` / `## Endpoints` / `## Interface` / `## Contract`
|
|
73
|
+
- Markdown tables (method/path/request/response headers)
|
|
74
|
+
- OpenAPI/JSON Schema snippets inside code blocks
|
|
75
|
+
3. Extraction failure (no such section) → **exit cleanly with `no-contract` state**. Not every feature has an API.
|
|
76
|
+
4. Success → convert to the frontmatter structure
|
|
77
|
+
5. `source-spec-hash`: sha256 of SPEC content (for next extract to detect change)
|
|
78
|
+
6. Save to `.claude/vibe/contracts/<feature>.md` (no-op if file exists with the same hash)
|
|
79
|
+
|
|
80
|
+
**Caveat**: extraction is LLM-driven. Mark low-confidence fields with `# unconfirmed` so the user can review.
|
|
81
|
+
|
|
82
|
+
### 2. `check <feature>` — contract vs implementation
|
|
83
|
+
|
|
84
|
+
**Steps**:
|
|
85
|
+
1. Load `.claude/vibe/contracts/<feature>.md`. If missing → **suggest extract first**.
|
|
86
|
+
2. For each endpoint, find implementation:
|
|
87
|
+
- http: detect framework (Express, Fastify, Next.js API routes, Hono, ...)
|
|
88
|
+
- graphql: locate resolver files
|
|
89
|
+
- event: producer/consumer code
|
|
90
|
+
- function: module export
|
|
91
|
+
3. Extract implementation signature/schema → compare against contract
|
|
92
|
+
4. Classify drift (severity table in command file)
|
|
93
|
+
5. Persist snapshot at `.claude/vibe/contracts/<feature>.snapshot.md` (current implementation state)
|
|
94
|
+
|
|
95
|
+
### 3. `diff <feature>` — changes since last snapshot
|
|
96
|
+
|
|
97
|
+
**Steps**:
|
|
98
|
+
1. If `.snapshot.md` does not exist → say "first run" and exit
|
|
99
|
+
2. Re-extract current implementation; compare to existing snapshot
|
|
100
|
+
3. Output **only changed fields** in ASCII diff form:
|
|
101
|
+
```
|
|
102
|
+
endpoints/get-user-by-id/response/200:
|
|
103
|
+
- email: string
|
|
104
|
+
+ email: string | null ← nullability added (P1 breaking)
|
|
105
|
+
+ phoneNumber: string ← new field (P3 safe)
|
|
106
|
+
```
|
|
107
|
+
4. On any drift, auto-call `/vibe.regress register --from-contract`
|
|
108
|
+
|
|
109
|
+
## Drift Severity Matrix
|
|
110
|
+
|
|
111
|
+
(matches command file — keep both in sync on edits)
|
|
112
|
+
|
|
113
|
+
## Integration Points
|
|
114
|
+
|
|
115
|
+
### From /vibe.spec
|
|
116
|
+
|
|
117
|
+
Auto-invoke right after the SPEC is written:
|
|
118
|
+
```
|
|
119
|
+
Load skill `vibe-contract` with: extract <feature>
|
|
120
|
+
```
|
|
121
|
+
Failure does not stop `/vibe.spec` (extraction is optional). On success, `/vibe.run` references this contract.
|
|
122
|
+
|
|
123
|
+
### From /vibe.verify
|
|
124
|
+
|
|
125
|
+
After all scenarios pass:
|
|
126
|
+
```
|
|
127
|
+
Load skill `vibe-contract` with: check <feature>
|
|
128
|
+
```
|
|
129
|
+
- no drift → verify still passes
|
|
130
|
+
- P1 drift → demote verify to fail; auto-register
|
|
131
|
+
- P2 / P3 drift → warning only; verify still passes
|
|
132
|
+
|
|
133
|
+
### To /vibe.regress
|
|
134
|
+
|
|
135
|
+
On P1 drift:
|
|
136
|
+
```
|
|
137
|
+
Load skill `vibe-regress` with:
|
|
138
|
+
subcommand: register --from-contract
|
|
139
|
+
feature: <feature>
|
|
140
|
+
symptom: "Contract drift: <endpoint-id> <drift-type>"
|
|
141
|
+
root-cause-tag: integration
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Framework Detection Rules
|
|
145
|
+
|
|
146
|
+
HTTP framework detection order:
|
|
147
|
+
1. `package.json` dependencies: `next` → Next.js API routes
|
|
148
|
+
2. `fastify` → Fastify
|
|
149
|
+
3. `express` → Express
|
|
150
|
+
4. `hono` → Hono
|
|
151
|
+
5. `@nestjs/core` → NestJS
|
|
152
|
+
6. None detected → ask user for manual mapping
|
|
153
|
+
|
|
154
|
+
After detection, grep for each framework's **route definition pattern** to map endpoints:
|
|
155
|
+
- Next.js: `pages/api/**` or `app/api/**/route.ts`
|
|
156
|
+
- Express: `app.get|post|put|delete|patch\(`
|
|
157
|
+
- Fastify: `fastify.get|post|...` or route configuration
|
|
158
|
+
- Hono: `app.get|post|...`
|
|
159
|
+
|
|
160
|
+
## Done Criteria
|
|
161
|
+
|
|
162
|
+
- [ ] `extract` does not error on SPEC without an API section
|
|
163
|
+
- [ ] `source-spec-hash`-based re-extract is a no-op when unchanged
|
|
164
|
+
- [ ] `check` reports each drift with severity + location (file:line)
|
|
165
|
+
- [ ] P1 drift always invokes `/vibe.regress`
|
|
166
|
+
- [ ] On framework detection failure, ask the user — do not silently skip
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
# Architecture: {{PROJECT_NAME}}
|
|
2
|
-
|
|
3
|
-
> Version: {{VERSION}} | Updated: {{DATE}}
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
{{2-3 SENTENCES: WHAT THIS SYSTEM DOES AND ITS PRIMARY ARCHITECTURAL APPROACH.}}
|
|
8
|
-
|
|
9
|
-
## System Diagram
|
|
10
|
-
|
|
11
|
-
```mermaid
|
|
12
|
-
graph TD
|
|
13
|
-
{{ENTRY_POINT}}[{{ENTRY_LABEL}}] --> {{MODULE_A}}[{{MODULE_A_LABEL}}]
|
|
14
|
-
{{MODULE_A}} --> {{MODULE_B}}[{{MODULE_B_LABEL}}]
|
|
15
|
-
{{MODULE_A}} --> {{MODULE_C}}[{{MODULE_C_LABEL}}]
|
|
16
|
-
{{MODULE_B}} --> {{STORE}}[({{STORE_LABEL}})]
|
|
17
|
-
{{MODULE_C}} --> {{EXTERNAL}}[{{EXTERNAL_SERVICE_LABEL}}]
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
> Replace nodes above based on actual `import` analysis. Run:
|
|
21
|
-
> `grep -r "^import .* from" src/ | sed 's/.*from //' | sort | uniq` to get dependency edges.
|
|
22
|
-
|
|
23
|
-
## Module Responsibilities
|
|
24
|
-
|
|
25
|
-
| Module / Directory | Responsibility | Key Files |
|
|
26
|
-
|--------------------|---------------|-----------|
|
|
27
|
-
| `{{MODULE_1}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
28
|
-
| `{{MODULE_2}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
29
|
-
| `{{MODULE_3}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
30
|
-
|
|
31
|
-
## Data Flow
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
{{INPUT_SOURCE}}
|
|
35
|
-
↓ {{STEP_1_DESCRIPTION}}
|
|
36
|
-
{{PROCESSING_MODULE}}
|
|
37
|
-
↓ {{STEP_2_DESCRIPTION}}
|
|
38
|
-
{{OUTPUT_TARGET}}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Key Data Entities
|
|
42
|
-
|
|
43
|
-
| Entity | Where Defined | Storage |
|
|
44
|
-
|--------|--------------|---------|
|
|
45
|
-
| `{{ENTITY_1}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
|
|
46
|
-
| `{{ENTITY_2}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
|
|
47
|
-
|
|
48
|
-
## External Dependencies
|
|
49
|
-
|
|
50
|
-
| Service | Purpose | Auth Method |
|
|
51
|
-
|---------|---------|-------------|
|
|
52
|
-
| `{{SERVICE_1}}` | {{PURPOSE}} | {{API_KEY / OAUTH / NONE}} |
|
|
53
|
-
| `{{SERVICE_2}}` | {{PURPOSE}} | {{AUTH_METHOD}} |
|
|
54
|
-
|
|
55
|
-
## Key Decisions
|
|
56
|
-
|
|
57
|
-
| Decision | Chosen Approach | Alternatives Considered | Rationale |
|
|
58
|
-
|----------|----------------|------------------------|-----------|
|
|
59
|
-
| {{DECISION_1}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
|
|
60
|
-
| {{DECISION_2}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
|
|
61
|
-
|
|
62
|
-
## Constraints & Non-Goals
|
|
63
|
-
|
|
64
|
-
**Constraints:**
|
|
65
|
-
- {{CONSTRAINT_1}} (e.g., "Must work offline")
|
|
66
|
-
- {{CONSTRAINT_2}}
|
|
67
|
-
|
|
68
|
-
**Non-goals (out of scope):**
|
|
69
|
-
- {{NON_GOAL_1}}
|
|
70
|
-
- {{NON_GOAL_2}}
|
|
71
|
-
|
|
72
|
-
## Local Development Setup
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
{{SETUP_COMMANDS}}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Further Reading
|
|
79
|
-
|
|
80
|
-
- {{INTERNAL_LINK_OR_DOC}}
|
|
1
|
+
# Architecture: {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> Version: {{VERSION}} | Updated: {{DATE}}
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
{{2-3 SENTENCES: WHAT THIS SYSTEM DOES AND ITS PRIMARY ARCHITECTURAL APPROACH.}}
|
|
8
|
+
|
|
9
|
+
## System Diagram
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
graph TD
|
|
13
|
+
{{ENTRY_POINT}}[{{ENTRY_LABEL}}] --> {{MODULE_A}}[{{MODULE_A_LABEL}}]
|
|
14
|
+
{{MODULE_A}} --> {{MODULE_B}}[{{MODULE_B_LABEL}}]
|
|
15
|
+
{{MODULE_A}} --> {{MODULE_C}}[{{MODULE_C_LABEL}}]
|
|
16
|
+
{{MODULE_B}} --> {{STORE}}[({{STORE_LABEL}})]
|
|
17
|
+
{{MODULE_C}} --> {{EXTERNAL}}[{{EXTERNAL_SERVICE_LABEL}}]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
> Replace nodes above based on actual `import` analysis. Run:
|
|
21
|
+
> `grep -r "^import .* from" src/ | sed 's/.*from //' | sort | uniq` to get dependency edges.
|
|
22
|
+
|
|
23
|
+
## Module Responsibilities
|
|
24
|
+
|
|
25
|
+
| Module / Directory | Responsibility | Key Files |
|
|
26
|
+
|--------------------|---------------|-----------|
|
|
27
|
+
| `{{MODULE_1}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
28
|
+
| `{{MODULE_2}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
29
|
+
| `{{MODULE_3}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
|
|
30
|
+
|
|
31
|
+
## Data Flow
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
{{INPUT_SOURCE}}
|
|
35
|
+
↓ {{STEP_1_DESCRIPTION}}
|
|
36
|
+
{{PROCESSING_MODULE}}
|
|
37
|
+
↓ {{STEP_2_DESCRIPTION}}
|
|
38
|
+
{{OUTPUT_TARGET}}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Key Data Entities
|
|
42
|
+
|
|
43
|
+
| Entity | Where Defined | Storage |
|
|
44
|
+
|--------|--------------|---------|
|
|
45
|
+
| `{{ENTITY_1}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
|
|
46
|
+
| `{{ENTITY_2}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
|
|
47
|
+
|
|
48
|
+
## External Dependencies
|
|
49
|
+
|
|
50
|
+
| Service | Purpose | Auth Method |
|
|
51
|
+
|---------|---------|-------------|
|
|
52
|
+
| `{{SERVICE_1}}` | {{PURPOSE}} | {{API_KEY / OAUTH / NONE}} |
|
|
53
|
+
| `{{SERVICE_2}}` | {{PURPOSE}} | {{AUTH_METHOD}} |
|
|
54
|
+
|
|
55
|
+
## Key Decisions
|
|
56
|
+
|
|
57
|
+
| Decision | Chosen Approach | Alternatives Considered | Rationale |
|
|
58
|
+
|----------|----------------|------------------------|-----------|
|
|
59
|
+
| {{DECISION_1}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
|
|
60
|
+
| {{DECISION_2}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
|
|
61
|
+
|
|
62
|
+
## Constraints & Non-Goals
|
|
63
|
+
|
|
64
|
+
**Constraints:**
|
|
65
|
+
- {{CONSTRAINT_1}} (e.g., "Must work offline")
|
|
66
|
+
- {{CONSTRAINT_2}}
|
|
67
|
+
|
|
68
|
+
**Non-goals (out of scope):**
|
|
69
|
+
- {{NON_GOAL_1}}
|
|
70
|
+
- {{NON_GOAL_2}}
|
|
71
|
+
|
|
72
|
+
## Local Development Setup
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
{{SETUP_COMMANDS}}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Further Reading
|
|
79
|
+
|
|
80
|
+
- {{INTERNAL_LINK_OR_DOC}}
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
# {{PROJECT_NAME}}
|
|
2
|
-
|
|
3
|
-
> {{ONE_LINE_DESCRIPTION_FROM_PACKAGE_JSON}}
|
|
4
|
-
|
|
5
|
-
## What is this?
|
|
6
|
-
|
|
7
|
-
{{2-3 SENTENCES: THE PROBLEM THIS PROJECT SOLVES AND HOW IT SOLVES IT.}}
|
|
8
|
-
|
|
9
|
-
## Quick Start
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# Install
|
|
13
|
-
{{PACKAGE_MANAGER}} install {{PACKAGE_NAME}}
|
|
14
|
-
|
|
15
|
-
# Minimal usage example
|
|
16
|
-
{{USAGE_EXAMPLE}}
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Features
|
|
20
|
-
|
|
21
|
-
- **{{FEATURE_1}}** — {{BRIEF_DESCRIPTION}}
|
|
22
|
-
- **{{FEATURE_2}}** — {{BRIEF_DESCRIPTION}}
|
|
23
|
-
- **{{FEATURE_3}}** — {{BRIEF_DESCRIPTION}}
|
|
24
|
-
|
|
25
|
-
## Architecture
|
|
26
|
-
|
|
27
|
-
> Include this section if the project has 5+ source directories.
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
{{PROJECT_NAME}}/
|
|
31
|
-
├── {{DIR_1}}/ # {{RESPONSIBILITY_1}}
|
|
32
|
-
├── {{DIR_2}}/ # {{RESPONSIBILITY_2}}
|
|
33
|
-
└── {{DIR_3}}/ # {{RESPONSIBILITY_3}}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Configuration
|
|
37
|
-
|
|
38
|
-
| File | Purpose |
|
|
39
|
-
|------|---------|
|
|
40
|
-
| `{{CONFIG_FILE_1}}` | {{PURPOSE}} |
|
|
41
|
-
| `{{CONFIG_FILE_2}}` | {{PURPOSE}} |
|
|
42
|
-
|
|
43
|
-
**Key environment variables:**
|
|
44
|
-
|
|
45
|
-
| Variable | Required | Default | Description |
|
|
46
|
-
|----------|----------|---------|-------------|
|
|
47
|
-
| `{{ENV_VAR_1}}` | Yes / No | `{{DEFAULT}}` | {{DESCRIPTION}} |
|
|
48
|
-
|
|
49
|
-
## Development
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# Install dependencies
|
|
53
|
-
{{INSTALL_COMMAND}}
|
|
54
|
-
|
|
55
|
-
# Build
|
|
56
|
-
{{BUILD_COMMAND}}
|
|
57
|
-
|
|
58
|
-
# Test
|
|
59
|
-
{{TEST_COMMAND}}
|
|
60
|
-
|
|
61
|
-
# Lint
|
|
62
|
-
{{LINT_COMMAND}}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## API Reference
|
|
66
|
-
|
|
67
|
-
> Include if the project exposes a public API.
|
|
68
|
-
|
|
69
|
-
### `{{FUNCTION_OR_CLASS_NAME}}`
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
{{FUNCTION_SIGNATURE}}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
{{DESCRIPTION}}
|
|
76
|
-
|
|
77
|
-
**Parameters:**
|
|
78
|
-
- `{{PARAM_1}}` — {{TYPE}}: {{DESCRIPTION}}
|
|
79
|
-
|
|
80
|
-
**Returns:** `{{RETURN_TYPE}}` — {{DESCRIPTION}}
|
|
81
|
-
|
|
82
|
-
## License
|
|
83
|
-
|
|
84
|
-
{{LICENSE}} — see [LICENSE](./LICENSE)
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> {{ONE_LINE_DESCRIPTION_FROM_PACKAGE_JSON}}
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
{{2-3 SENTENCES: THE PROBLEM THIS PROJECT SOLVES AND HOW IT SOLVES IT.}}
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install
|
|
13
|
+
{{PACKAGE_MANAGER}} install {{PACKAGE_NAME}}
|
|
14
|
+
|
|
15
|
+
# Minimal usage example
|
|
16
|
+
{{USAGE_EXAMPLE}}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **{{FEATURE_1}}** — {{BRIEF_DESCRIPTION}}
|
|
22
|
+
- **{{FEATURE_2}}** — {{BRIEF_DESCRIPTION}}
|
|
23
|
+
- **{{FEATURE_3}}** — {{BRIEF_DESCRIPTION}}
|
|
24
|
+
|
|
25
|
+
## Architecture
|
|
26
|
+
|
|
27
|
+
> Include this section if the project has 5+ source directories.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
{{PROJECT_NAME}}/
|
|
31
|
+
├── {{DIR_1}}/ # {{RESPONSIBILITY_1}}
|
|
32
|
+
├── {{DIR_2}}/ # {{RESPONSIBILITY_2}}
|
|
33
|
+
└── {{DIR_3}}/ # {{RESPONSIBILITY_3}}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Configuration
|
|
37
|
+
|
|
38
|
+
| File | Purpose |
|
|
39
|
+
|------|---------|
|
|
40
|
+
| `{{CONFIG_FILE_1}}` | {{PURPOSE}} |
|
|
41
|
+
| `{{CONFIG_FILE_2}}` | {{PURPOSE}} |
|
|
42
|
+
|
|
43
|
+
**Key environment variables:**
|
|
44
|
+
|
|
45
|
+
| Variable | Required | Default | Description |
|
|
46
|
+
|----------|----------|---------|-------------|
|
|
47
|
+
| `{{ENV_VAR_1}}` | Yes / No | `{{DEFAULT}}` | {{DESCRIPTION}} |
|
|
48
|
+
|
|
49
|
+
## Development
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Install dependencies
|
|
53
|
+
{{INSTALL_COMMAND}}
|
|
54
|
+
|
|
55
|
+
# Build
|
|
56
|
+
{{BUILD_COMMAND}}
|
|
57
|
+
|
|
58
|
+
# Test
|
|
59
|
+
{{TEST_COMMAND}}
|
|
60
|
+
|
|
61
|
+
# Lint
|
|
62
|
+
{{LINT_COMMAND}}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## API Reference
|
|
66
|
+
|
|
67
|
+
> Include if the project exposes a public API.
|
|
68
|
+
|
|
69
|
+
### `{{FUNCTION_OR_CLASS_NAME}}`
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
{{FUNCTION_SIGNATURE}}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
{{DESCRIPTION}}
|
|
76
|
+
|
|
77
|
+
**Parameters:**
|
|
78
|
+
- `{{PARAM_1}}` — {{TYPE}}: {{DESCRIPTION}}
|
|
79
|
+
|
|
80
|
+
**Returns:** `{{RETURN_TYPE}}` — {{DESCRIPTION}}
|
|
81
|
+
|
|
82
|
+
## License
|
|
83
|
+
|
|
84
|
+
{{LICENSE}} — see [LICENSE](./LICENSE)
|