@su-record/vibe 2.8.49 → 2.8.51
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 +169 -169
- package/LICENSE +21 -21
- package/README.ko.md +190 -0
- package/README.md +97 -461
- 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/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 +379 -379
- package/commands/vibe.docs.md +32 -32
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +69 -69
- package/commands/vibe.review.md +686 -686
- package/commands/vibe.run.md +2276 -2276
- package/commands/vibe.spec.md +1195 -1195
- package/commands/vibe.spec.review.md +609 -609
- package/commands/vibe.trace.md +259 -259
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +510 -510
- package/dist/cli/collaborator.js +52 -52
- 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.js +53 -53
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/stats.js +6 -6
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +52 -57
- 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/inline-skills.js +2 -2
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/postinstall/main.js +1 -1
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.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 +170 -170
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -286
- package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -210
- package/hooks/scripts/auto-commit.js +97 -65
- package/hooks/scripts/auto-format.js +64 -64
- package/hooks/scripts/auto-test.js +81 -81
- package/hooks/scripts/code-check.js +268 -216
- 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 +477 -602
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +572 -555
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +159 -159
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +131 -131
- package/hooks/scripts/session-start.js +177 -106
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +243 -186
- 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 +101 -100
- 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 +168 -168
- 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 -115
- 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/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +162 -162
- 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 +198 -198
- 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 +132 -132
- 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 +89 -89
- 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 +52 -52
- 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 +65 -65
- 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.docs/SKILL.md +171 -171
- 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 +982 -209
- 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/figma-handoff.md +100 -100
- package/skills/vibe.figma/templates/remapped-tree.md +277 -277
- package/skills/vibe.figma.convert/SKILL.md +511 -630
- package/skills/vibe.figma.convert/rubrics/conversion-rules.md +113 -129
- package/skills/vibe.figma.convert/templates/component.md +140 -140
- package/skills/vibe.figma.extract/SKILL.md +300 -349
- package/skills/vibe.figma.extract/rubrics/image-rules.md +137 -145
- 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/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,351 +1,351 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: claude-md-guide
|
|
3
|
-
tier: standard
|
|
4
|
-
description: "Guide for writing effective CLAUDE.md files from scratch. Evidence-based methodology from 40+ sources including research papers, official docs, and real-world examples. Covers 3-layer architecture, Curse of Instructions mitigation, progressive disclosure, and maintenance. Use when creating new CLAUDE.md, improving existing ones, or teaching team members how to write project instructions for AI agents."
|
|
5
|
-
triggers: [claude-md guide, write claude.md, create claude.md, claude.md 작성, 클로드 문서, project instructions, claude-md]
|
|
6
|
-
priority: 55
|
|
7
|
-
chain-next: [agents-md]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# claude-md-guide — CLAUDE.md 작성 가이드
|
|
11
|
-
|
|
12
|
-
> **원칙**: "에이전트가 이걸 모르면 실수할까?" → No면 삭제. Yes면 유지.
|
|
13
|
-
|
|
14
|
-
## Why This Matters
|
|
15
|
-
|
|
16
|
-
연구 결과에 따르면 지시사항이 많아질수록 LLM의 준수율이 **지수적으로** 하락합니다 (Curse of Instructions):
|
|
17
|
-
|
|
18
|
-
| 지시 수 | GPT-4o 준수율 | Claude Sonnet 준수율 |
|
|
19
|
-
|---------|--------------|---------------------|
|
|
20
|
-
| 1개 | ~85% | ~90% |
|
|
21
|
-
| 5개 | ~44% | ~59% |
|
|
22
|
-
| 10개 | ~15% | ~44% |
|
|
23
|
-
| 15개+ | ~5% | ~15% |
|
|
24
|
-
|
|
25
|
-
**결론**: 모든 줄이 비용. 짧고 정확한 CLAUDE.md가 길고 포괄적인 것보다 낫습니다.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Step 1: 프로젝트 탐색 — 자동 수집
|
|
30
|
-
|
|
31
|
-
CLAUDE.md를 작성하기 전에 먼저 프로젝트를 탐색합니다:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
Glob: pattern="package.json" → 스택, 스크립트 확인
|
|
35
|
-
Glob: pattern="*.config.*" → 빌드/린트 설정
|
|
36
|
-
Glob: pattern="tsconfig.json" → TypeScript 설정
|
|
37
|
-
Glob: pattern=".env.example" → 환경변수 구조
|
|
38
|
-
Glob: pattern="Makefile" → 빌드 시스템
|
|
39
|
-
Glob: pattern="docker-compose.*" → 인프라 구조
|
|
40
|
-
Glob: pattern="CLAUDE.md" → 기존 파일 확인
|
|
41
|
-
Glob: pattern="AGENTS.md" → 호환 파일 확인
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
수집한 정보를 사용자에게 요약 제시하고, 빠진 컨텍스트를 질문합니다.
|
|
45
|
-
|
|
46
|
-
## Step 2: 인터뷰 — 비발견적 정보 추출
|
|
47
|
-
|
|
48
|
-
자동 탐색으로 알 수 없는 정보만 질문합니다. **한 번에 질문 하나, 가능하면 객관식**으로:
|
|
49
|
-
|
|
50
|
-
### 질문 카테고리
|
|
51
|
-
|
|
52
|
-
**1. 런타임 함정 (Runtime Traps)**
|
|
53
|
-
- 코드에서 보이지 않는 런타임 차이가 있나요? (예: Bun vs Node, ESM vs CJS)
|
|
54
|
-
- 특정 환경에서만 발생하는 버그가 있나요?
|
|
55
|
-
|
|
56
|
-
**2. 금지 패턴 (Forbidden Patterns)**
|
|
57
|
-
- 절대 사용하면 안 되는 라이브러리/패턴이 있나요?
|
|
58
|
-
- 과거에 문제를 일으킨 접근법이 있나요?
|
|
59
|
-
|
|
60
|
-
**3. 비표준 관례 (Non-standard Conventions)**
|
|
61
|
-
- 표준과 다른 네이밍/구조 규칙이 있나요?
|
|
62
|
-
- 팀에서 합의한 특수한 워크플로우가 있나요?
|
|
63
|
-
|
|
64
|
-
**4. 아키텍처 결정 (Architecture Decisions)**
|
|
65
|
-
- 코드만 봐서는 알 수 없는 설계 이유가 있나요?
|
|
66
|
-
- 특정 패턴을 선택한 비즈니스 맥락이 있나요?
|
|
67
|
-
|
|
68
|
-
**5. 경계선 (Boundaries)**
|
|
69
|
-
- 에이전트가 절대 건드리면 안 되는 파일/디렉토리가 있나요?
|
|
70
|
-
- 변경 전 반드시 확인받아야 하는 영역이 있나요?
|
|
71
|
-
|
|
72
|
-
## Step 3: 구조 설계 — 3-Layer Architecture
|
|
73
|
-
|
|
74
|
-
수집한 정보를 3개 레이어로 분리합니다:
|
|
75
|
-
|
|
76
|
-
### Layer 1: CLAUDE.md (프로젝트 헌법)
|
|
77
|
-
|
|
78
|
-
**모든 세션에 자동 로드** → 보편적이고 안정적인 정보만.
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
# {프로젝트명}
|
|
82
|
-
|
|
83
|
-
{프로젝트가 뭔지 1-2문장. 코드에서 목적이 불분명할 때만.}
|
|
84
|
-
|
|
85
|
-
## Tech Stack
|
|
86
|
-
{package.json에서 바로 알 수 없는 것만. 예: "Bun runtime (not Node)"}
|
|
87
|
-
|
|
88
|
-
## Commands
|
|
89
|
-
{package.json scripts에 없거나 비직관적인 것만}
|
|
90
|
-
- `npm run build && npx vitest run` — 빌드 후 테스트 (순서 중요)
|
|
91
|
-
|
|
92
|
-
## Conventions
|
|
93
|
-
{린터가 잡지 못하는 것만}
|
|
94
|
-
- ESM only — imports need `.js` extension
|
|
95
|
-
- {비표준 네이밍 규칙이 있다면}
|
|
96
|
-
|
|
97
|
-
## Gotchas
|
|
98
|
-
{에이전트가 반복적으로 실수할 것들}
|
|
99
|
-
- **{함정 제목}.** {구체적인 do/don't 설명}
|
|
100
|
-
|
|
101
|
-
## Boundaries
|
|
102
|
-
✅ Always: {항상 해야 하는 것}
|
|
103
|
-
⚠️ Ask first: {먼저 확인받아야 하는 것}
|
|
104
|
-
🚫 Never: {절대 하면 안 되는 것}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Layer 2: SPEC.md (기능별 설계 문서)
|
|
108
|
-
|
|
109
|
-
**특정 기능 작업 시에만 로드** → what과 why에 집중, how는 에이전트에게.
|
|
110
|
-
|
|
111
|
-
저장 위치: `.claude/vibe/specs/YYYY-MM-DD-{주제}.md`
|
|
112
|
-
|
|
113
|
-
```markdown
|
|
114
|
-
# {기능명} SPEC
|
|
115
|
-
|
|
116
|
-
## 목적 (Why)
|
|
117
|
-
## 요구사항 (What)
|
|
118
|
-
## 성공 기준 (Acceptance Criteria)
|
|
119
|
-
## 기술적 제약 (Constraints)
|
|
120
|
-
## 경계선 (Out of Scope)
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Layer 3: plan.md (실행 계획)
|
|
124
|
-
|
|
125
|
-
**세션별 태스크 리스트** → 2-5분 단위, 파일 경로 명시.
|
|
126
|
-
|
|
127
|
-
저장 위치: `.claude/vibe/specs/{name}-execplan.md`
|
|
128
|
-
|
|
129
|
-
```markdown
|
|
130
|
-
# Execution Plan
|
|
131
|
-
|
|
132
|
-
## Task 1: {제목}
|
|
133
|
-
- Files: `src/foo.ts`, `src/foo.test.ts`
|
|
134
|
-
- Action: {구체적 변경 내용}
|
|
135
|
-
- Verify: `npm test src/foo.test.ts`
|
|
136
|
-
|
|
137
|
-
## Task 2: ...
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## Step 4: 작성 — 증거 기반 원칙 적용
|
|
141
|
-
|
|
142
|
-
### 크기 제한
|
|
143
|
-
|
|
144
|
-
| 등급 | 줄 수 | 적합한 경우 |
|
|
145
|
-
|------|-------|------------|
|
|
146
|
-
| 최적 | 60-150줄 | 대부분의 프로젝트 |
|
|
147
|
-
| 허용 | 150-200줄 | 복잡한 모노레포 |
|
|
148
|
-
| 경고 | 200-300줄 | 분리 필요 |
|
|
149
|
-
| 위험 | 300줄+ | 에이전트가 절반 무시 |
|
|
150
|
-
|
|
151
|
-
### 위치별 주의력 분포 (Lost in the Middle 효과)
|
|
152
|
-
|
|
153
|
-
LLM은 문서의 **처음과 끝**에 집중하고 **중간을 무시**합니다:
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
주의력: ████████░░░░░░░░████████
|
|
157
|
-
^시작 ^중간(↓20-40%) ^끝
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
**대응**:
|
|
161
|
-
- **가장 중요한 규칙** → 문서 상단에 배치
|
|
162
|
-
- **자주 위반되는 규칙** → 문서 하단(끝)에 배치
|
|
163
|
-
- **배경 정보** → 중간에 배치 (무시되어도 괜찮은 것)
|
|
164
|
-
|
|
165
|
-
### 포함 vs 제외 체크리스트
|
|
166
|
-
|
|
167
|
-
**✅ 포함 (비발견적, 운영상 중요)**
|
|
168
|
-
|
|
169
|
-
| 유형 | 예시 |
|
|
170
|
-
|------|------|
|
|
171
|
-
| 런타임 함정 | "Bun runtime, not Node" |
|
|
172
|
-
| 금지 패턴 | "Never use `any`, use `unknown` + type guards" |
|
|
173
|
-
| SSOT 위치 | "Only edit `constants.ts` for stack mapping" |
|
|
174
|
-
| 순서 불변 규칙 | "Build before test, always" |
|
|
175
|
-
| 비표준 커맨드 | 복합 명령어, 특수 플래그 |
|
|
176
|
-
| 보안 규칙 | 인증, 경로 순회 방지 등 |
|
|
177
|
-
|
|
178
|
-
**❌ 제외 (발견 가능하거나 다른 도구에 맡길 것)**
|
|
179
|
-
|
|
180
|
-
| 유형 | 이유 | 대안 |
|
|
181
|
-
|------|------|------|
|
|
182
|
-
| 디렉토리 구조 | `ls`로 발견 가능 | 코드 자체 |
|
|
183
|
-
| 기술 스택 목록 | `package.json`에 있음 | 코드 자체 |
|
|
184
|
-
| 코드 스타일 (들여쓰기, 세미콜론) | 린터가 잡음 | ESLint, Prettier |
|
|
185
|
-
| API 문서 | 코드에서 읽을 수 있음 | Swagger, JSDoc |
|
|
186
|
-
| 일반적 Best Practice | LLM이 이미 앎 | 불필요 |
|
|
187
|
-
| API 키, 시크릿 | 빠르게 구식이 됨 | `.env`, vault |
|
|
188
|
-
| 기능별 상세 지시 | Layer 2로 분리 | SPEC.md |
|
|
189
|
-
|
|
190
|
-
### 강조 기법
|
|
191
|
-
|
|
192
|
-
중요한 규칙이 무시될 때 사용:
|
|
193
|
-
|
|
194
|
-
```markdown
|
|
195
|
-
**IMPORTANT**: {critical rule}
|
|
196
|
-
**MUST**: {mandatory action}
|
|
197
|
-
**NEVER**: {absolute prohibition}
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
단, 모든 줄에 강조를 넣으면 **강조가 무효화**됩니다. P1 규칙에만 사용하세요.
|
|
201
|
-
|
|
202
|
-
### Progressive Disclosure (점진적 공개)
|
|
203
|
-
|
|
204
|
-
CLAUDE.md에 모든 것을 넣지 말고 참조하세요:
|
|
205
|
-
|
|
206
|
-
```markdown
|
|
207
|
-
# Architecture
|
|
208
|
-
See @docs/ARCHITECTURE.md for design decisions.
|
|
209
|
-
|
|
210
|
-
# Security
|
|
211
|
-
@.claude/rules/security.md
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
Claude Code는 `@` 참조를 따라가서 필요할 때만 로드합니다.
|
|
215
|
-
|
|
216
|
-
## Step 5: 검증 — 작성 품질 체크
|
|
217
|
-
|
|
218
|
-
작성된 CLAUDE.md를 검증합니다:
|
|
219
|
-
|
|
220
|
-
### 줄별 검증
|
|
221
|
-
|
|
222
|
-
모든 줄에 대해 4가지 질문:
|
|
223
|
-
|
|
224
|
-
1. **이걸 빼면 에이전트가 실수할까?** → No면 삭제
|
|
225
|
-
2. **모든 세션에 필요한가?** → No면 Layer 2/3으로 이동
|
|
226
|
-
3. **린터/훅이 대신할 수 있나?** → Yes면 린터/훅으로 이동
|
|
227
|
-
4. **코드에서 발견 가능한가?** → Yes면 삭제
|
|
228
|
-
|
|
229
|
-
### 앵커링 경고
|
|
230
|
-
|
|
231
|
-
기술명을 언급하면 에이전트가 그쪽으로 편향됩니다:
|
|
232
|
-
- ❌ "We use React" → 불필요 (package.json에 있음)
|
|
233
|
-
- ✅ "Never use jQuery, even for legacy code" → 유용 (함정 방지)
|
|
234
|
-
|
|
235
|
-
### 토큰 효율성
|
|
236
|
-
|
|
237
|
-
| 문제 | 예시 | 개선 |
|
|
238
|
-
|------|------|------|
|
|
239
|
-
| 장황한 설명 | "Please always make sure to..." | "Always:" |
|
|
240
|
-
| 중복 | 같은 규칙을 다른 표현으로 반복 | 한 번만 |
|
|
241
|
-
| 불필요한 맥락 | "As we discussed..." | 삭제 |
|
|
242
|
-
|
|
243
|
-
## Step 6: 유지보수 — 살아있는 문서
|
|
244
|
-
|
|
245
|
-
### 점진적 추가 패턴
|
|
246
|
-
|
|
247
|
-
처음부터 완벽하게 쓰지 마세요:
|
|
248
|
-
|
|
249
|
-
```
|
|
250
|
-
1. 최소한의 CLAUDE.md로 시작 (30-50줄)
|
|
251
|
-
2. 에이전트가 실수하는 걸 관찰
|
|
252
|
-
3. 반복되는 실수만 규칙으로 추가
|
|
253
|
-
4. 2-3주마다 불필요한 줄 정리
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Reflection Loop (Addy Osmani 패턴)
|
|
257
|
-
|
|
258
|
-
```
|
|
259
|
-
에이전트 작업 완료
|
|
260
|
-
→ "무엇이 예상과 달랐나?" 자문
|
|
261
|
-
→ 반복되는 패턴 발견 시 CLAUDE.md에 1줄 추가
|
|
262
|
-
→ 근본 원인이 코드 구조면 코드를 고치고 규칙은 추가하지 않음
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### 위험 신호
|
|
266
|
-
|
|
267
|
-
| 신호 | 의미 | 대응 |
|
|
268
|
-
|------|------|------|
|
|
269
|
-
| 300줄 초과 | 정보 과부하 | 분리 또는 정리 |
|
|
270
|
-
| 같은 실수 반복 | 규칙이 노이즈에 묻힘 | 강조 또는 통합 |
|
|
271
|
-
| 규칙 추가해도 변화 없음 | 파일이 너무 김 | 근본 원인 수정 |
|
|
272
|
-
| 팀원이 규칙 무시 | 발견 가능한 정보 | 삭제 |
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## Quick Reference: 프로젝트 규모별 가이드
|
|
277
|
-
|
|
278
|
-
### 소규모 (파일 10개 미만)
|
|
279
|
-
|
|
280
|
-
```markdown
|
|
281
|
-
# {프로젝트명}
|
|
282
|
-
|
|
283
|
-
## Commands
|
|
284
|
-
- `{build}` — {설명}
|
|
285
|
-
- `{test}` — {설명}
|
|
286
|
-
|
|
287
|
-
## Gotchas
|
|
288
|
-
- **{함정 1}.** {설명}
|
|
289
|
-
- **{함정 2}.** {설명}
|
|
290
|
-
|
|
291
|
-
## Never
|
|
292
|
-
- 🚫 {금지 사항}
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
**목표: 20-30줄**
|
|
296
|
-
|
|
297
|
-
### 중규모 (파일 10-50개)
|
|
298
|
-
|
|
299
|
-
위 + Conventions, Boundaries 섹션 추가.
|
|
300
|
-
|
|
301
|
-
**목표: 60-150줄**
|
|
302
|
-
|
|
303
|
-
### 대규모 (파일 50개+, 모노레포)
|
|
304
|
-
|
|
305
|
-
루트 CLAUDE.md (공통 규칙) + 하위 디렉토리별 CLAUDE.md.
|
|
306
|
-
|
|
307
|
-
```
|
|
308
|
-
project/
|
|
309
|
-
├── CLAUDE.md ← 공통 (60줄)
|
|
310
|
-
├── packages/api/CLAUDE.md ← API 전용 (30줄)
|
|
311
|
-
├── packages/web/CLAUDE.md ← 웹 전용 (30줄)
|
|
312
|
-
└── .claude/rules/ ← 경로별 규칙
|
|
313
|
-
├── security.md
|
|
314
|
-
└── testing.md
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
**목표: 루트 100줄 + 하위 각 30줄**
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
## 세션 분리 원칙
|
|
322
|
-
|
|
323
|
-
CLAUDE.md 작성도 세션을 분리하면 품질이 올라갑니다:
|
|
324
|
-
|
|
325
|
-
| 세션 | 목표 | 산출물 |
|
|
326
|
-
|------|------|--------|
|
|
327
|
-
| 세션 1 | 프로젝트 탐색 + 인터뷰 | 초안 |
|
|
328
|
-
| 세션 2 | 검증 + 최적화 | 최종본 |
|
|
329
|
-
| 이후 | 점진적 유지보수 | 지속 개선 |
|
|
330
|
-
|
|
331
|
-
작성 완료 후: `→ /agents-md` 스킬로 최적화 검증을 실행하세요.
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## References
|
|
336
|
-
|
|
337
|
-
### Research
|
|
338
|
-
- [Curse of Instructions: LLMs Cannot Follow Multiple Instructions at Once](https://openreview.net/forum?id=R6q67CDBCH)
|
|
339
|
-
- [Lost in the Middle: How Language Models Use Long Contexts](https://arxiv.org/abs/2307.03172)
|
|
340
|
-
- [The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions](https://arxiv.org/html/2404.13208v1)
|
|
341
|
-
- [Context Length Alone Hurts LLM Performance Despite Perfect Retrieval](https://arxiv.org/html/2510.05381v1)
|
|
342
|
-
|
|
343
|
-
### Official Docs
|
|
344
|
-
- [Claude Code Best Practices](https://code.claude.com/docs/en/best-practices)
|
|
345
|
-
- [Using CLAUDE.md Files](https://claude.com/blog/using-claude-md-files)
|
|
346
|
-
|
|
347
|
-
### Community
|
|
348
|
-
- [Addy Osmani: AGENTS.md](https://addyosmani.com/blog/agents-md/)
|
|
349
|
-
- [HumanLayer: Writing a good CLAUDE.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md)
|
|
350
|
-
- [Builder.io: CLAUDE.md Guide](https://www.builder.io/blog/claude-md-guide)
|
|
351
|
-
- [GitHub Blog: How to Write a Great agents.md](https://github.blog/ai-and-ml/github-copilot/how-to-write-a-great-agents-md-lessons-from-over-2500-repositories/)
|
|
1
|
+
---
|
|
2
|
+
name: claude-md-guide
|
|
3
|
+
tier: standard
|
|
4
|
+
description: "Guide for writing effective CLAUDE.md files from scratch. Evidence-based methodology from 40+ sources including research papers, official docs, and real-world examples. Covers 3-layer architecture, Curse of Instructions mitigation, progressive disclosure, and maintenance. Use when creating new CLAUDE.md, improving existing ones, or teaching team members how to write project instructions for AI agents."
|
|
5
|
+
triggers: [claude-md guide, write claude.md, create claude.md, claude.md 작성, 클로드 문서, project instructions, claude-md]
|
|
6
|
+
priority: 55
|
|
7
|
+
chain-next: [agents-md]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# claude-md-guide — CLAUDE.md 작성 가이드
|
|
11
|
+
|
|
12
|
+
> **원칙**: "에이전트가 이걸 모르면 실수할까?" → No면 삭제. Yes면 유지.
|
|
13
|
+
|
|
14
|
+
## Why This Matters
|
|
15
|
+
|
|
16
|
+
연구 결과에 따르면 지시사항이 많아질수록 LLM의 준수율이 **지수적으로** 하락합니다 (Curse of Instructions):
|
|
17
|
+
|
|
18
|
+
| 지시 수 | GPT-4o 준수율 | Claude Sonnet 준수율 |
|
|
19
|
+
|---------|--------------|---------------------|
|
|
20
|
+
| 1개 | ~85% | ~90% |
|
|
21
|
+
| 5개 | ~44% | ~59% |
|
|
22
|
+
| 10개 | ~15% | ~44% |
|
|
23
|
+
| 15개+ | ~5% | ~15% |
|
|
24
|
+
|
|
25
|
+
**결론**: 모든 줄이 비용. 짧고 정확한 CLAUDE.md가 길고 포괄적인 것보다 낫습니다.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 1: 프로젝트 탐색 — 자동 수집
|
|
30
|
+
|
|
31
|
+
CLAUDE.md를 작성하기 전에 먼저 프로젝트를 탐색합니다:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Glob: pattern="package.json" → 스택, 스크립트 확인
|
|
35
|
+
Glob: pattern="*.config.*" → 빌드/린트 설정
|
|
36
|
+
Glob: pattern="tsconfig.json" → TypeScript 설정
|
|
37
|
+
Glob: pattern=".env.example" → 환경변수 구조
|
|
38
|
+
Glob: pattern="Makefile" → 빌드 시스템
|
|
39
|
+
Glob: pattern="docker-compose.*" → 인프라 구조
|
|
40
|
+
Glob: pattern="CLAUDE.md" → 기존 파일 확인
|
|
41
|
+
Glob: pattern="AGENTS.md" → 호환 파일 확인
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
수집한 정보를 사용자에게 요약 제시하고, 빠진 컨텍스트를 질문합니다.
|
|
45
|
+
|
|
46
|
+
## Step 2: 인터뷰 — 비발견적 정보 추출
|
|
47
|
+
|
|
48
|
+
자동 탐색으로 알 수 없는 정보만 질문합니다. **한 번에 질문 하나, 가능하면 객관식**으로:
|
|
49
|
+
|
|
50
|
+
### 질문 카테고리
|
|
51
|
+
|
|
52
|
+
**1. 런타임 함정 (Runtime Traps)**
|
|
53
|
+
- 코드에서 보이지 않는 런타임 차이가 있나요? (예: Bun vs Node, ESM vs CJS)
|
|
54
|
+
- 특정 환경에서만 발생하는 버그가 있나요?
|
|
55
|
+
|
|
56
|
+
**2. 금지 패턴 (Forbidden Patterns)**
|
|
57
|
+
- 절대 사용하면 안 되는 라이브러리/패턴이 있나요?
|
|
58
|
+
- 과거에 문제를 일으킨 접근법이 있나요?
|
|
59
|
+
|
|
60
|
+
**3. 비표준 관례 (Non-standard Conventions)**
|
|
61
|
+
- 표준과 다른 네이밍/구조 규칙이 있나요?
|
|
62
|
+
- 팀에서 합의한 특수한 워크플로우가 있나요?
|
|
63
|
+
|
|
64
|
+
**4. 아키텍처 결정 (Architecture Decisions)**
|
|
65
|
+
- 코드만 봐서는 알 수 없는 설계 이유가 있나요?
|
|
66
|
+
- 특정 패턴을 선택한 비즈니스 맥락이 있나요?
|
|
67
|
+
|
|
68
|
+
**5. 경계선 (Boundaries)**
|
|
69
|
+
- 에이전트가 절대 건드리면 안 되는 파일/디렉토리가 있나요?
|
|
70
|
+
- 변경 전 반드시 확인받아야 하는 영역이 있나요?
|
|
71
|
+
|
|
72
|
+
## Step 3: 구조 설계 — 3-Layer Architecture
|
|
73
|
+
|
|
74
|
+
수집한 정보를 3개 레이어로 분리합니다:
|
|
75
|
+
|
|
76
|
+
### Layer 1: CLAUDE.md (프로젝트 헌법)
|
|
77
|
+
|
|
78
|
+
**모든 세션에 자동 로드** → 보편적이고 안정적인 정보만.
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# {프로젝트명}
|
|
82
|
+
|
|
83
|
+
{프로젝트가 뭔지 1-2문장. 코드에서 목적이 불분명할 때만.}
|
|
84
|
+
|
|
85
|
+
## Tech Stack
|
|
86
|
+
{package.json에서 바로 알 수 없는 것만. 예: "Bun runtime (not Node)"}
|
|
87
|
+
|
|
88
|
+
## Commands
|
|
89
|
+
{package.json scripts에 없거나 비직관적인 것만}
|
|
90
|
+
- `npm run build && npx vitest run` — 빌드 후 테스트 (순서 중요)
|
|
91
|
+
|
|
92
|
+
## Conventions
|
|
93
|
+
{린터가 잡지 못하는 것만}
|
|
94
|
+
- ESM only — imports need `.js` extension
|
|
95
|
+
- {비표준 네이밍 규칙이 있다면}
|
|
96
|
+
|
|
97
|
+
## Gotchas
|
|
98
|
+
{에이전트가 반복적으로 실수할 것들}
|
|
99
|
+
- **{함정 제목}.** {구체적인 do/don't 설명}
|
|
100
|
+
|
|
101
|
+
## Boundaries
|
|
102
|
+
✅ Always: {항상 해야 하는 것}
|
|
103
|
+
⚠️ Ask first: {먼저 확인받아야 하는 것}
|
|
104
|
+
🚫 Never: {절대 하면 안 되는 것}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Layer 2: SPEC.md (기능별 설계 문서)
|
|
108
|
+
|
|
109
|
+
**특정 기능 작업 시에만 로드** → what과 why에 집중, how는 에이전트에게.
|
|
110
|
+
|
|
111
|
+
저장 위치: `.claude/vibe/specs/YYYY-MM-DD-{주제}.md`
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
# {기능명} SPEC
|
|
115
|
+
|
|
116
|
+
## 목적 (Why)
|
|
117
|
+
## 요구사항 (What)
|
|
118
|
+
## 성공 기준 (Acceptance Criteria)
|
|
119
|
+
## 기술적 제약 (Constraints)
|
|
120
|
+
## 경계선 (Out of Scope)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Layer 3: plan.md (실행 계획)
|
|
124
|
+
|
|
125
|
+
**세션별 태스크 리스트** → 2-5분 단위, 파일 경로 명시.
|
|
126
|
+
|
|
127
|
+
저장 위치: `.claude/vibe/specs/{name}-execplan.md`
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
# Execution Plan
|
|
131
|
+
|
|
132
|
+
## Task 1: {제목}
|
|
133
|
+
- Files: `src/foo.ts`, `src/foo.test.ts`
|
|
134
|
+
- Action: {구체적 변경 내용}
|
|
135
|
+
- Verify: `npm test src/foo.test.ts`
|
|
136
|
+
|
|
137
|
+
## Task 2: ...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Step 4: 작성 — 증거 기반 원칙 적용
|
|
141
|
+
|
|
142
|
+
### 크기 제한
|
|
143
|
+
|
|
144
|
+
| 등급 | 줄 수 | 적합한 경우 |
|
|
145
|
+
|------|-------|------------|
|
|
146
|
+
| 최적 | 60-150줄 | 대부분의 프로젝트 |
|
|
147
|
+
| 허용 | 150-200줄 | 복잡한 모노레포 |
|
|
148
|
+
| 경고 | 200-300줄 | 분리 필요 |
|
|
149
|
+
| 위험 | 300줄+ | 에이전트가 절반 무시 |
|
|
150
|
+
|
|
151
|
+
### 위치별 주의력 분포 (Lost in the Middle 효과)
|
|
152
|
+
|
|
153
|
+
LLM은 문서의 **처음과 끝**에 집중하고 **중간을 무시**합니다:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
주의력: ████████░░░░░░░░████████
|
|
157
|
+
^시작 ^중간(↓20-40%) ^끝
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**대응**:
|
|
161
|
+
- **가장 중요한 규칙** → 문서 상단에 배치
|
|
162
|
+
- **자주 위반되는 규칙** → 문서 하단(끝)에 배치
|
|
163
|
+
- **배경 정보** → 중간에 배치 (무시되어도 괜찮은 것)
|
|
164
|
+
|
|
165
|
+
### 포함 vs 제외 체크리스트
|
|
166
|
+
|
|
167
|
+
**✅ 포함 (비발견적, 운영상 중요)**
|
|
168
|
+
|
|
169
|
+
| 유형 | 예시 |
|
|
170
|
+
|------|------|
|
|
171
|
+
| 런타임 함정 | "Bun runtime, not Node" |
|
|
172
|
+
| 금지 패턴 | "Never use `any`, use `unknown` + type guards" |
|
|
173
|
+
| SSOT 위치 | "Only edit `constants.ts` for stack mapping" |
|
|
174
|
+
| 순서 불변 규칙 | "Build before test, always" |
|
|
175
|
+
| 비표준 커맨드 | 복합 명령어, 특수 플래그 |
|
|
176
|
+
| 보안 규칙 | 인증, 경로 순회 방지 등 |
|
|
177
|
+
|
|
178
|
+
**❌ 제외 (발견 가능하거나 다른 도구에 맡길 것)**
|
|
179
|
+
|
|
180
|
+
| 유형 | 이유 | 대안 |
|
|
181
|
+
|------|------|------|
|
|
182
|
+
| 디렉토리 구조 | `ls`로 발견 가능 | 코드 자체 |
|
|
183
|
+
| 기술 스택 목록 | `package.json`에 있음 | 코드 자체 |
|
|
184
|
+
| 코드 스타일 (들여쓰기, 세미콜론) | 린터가 잡음 | ESLint, Prettier |
|
|
185
|
+
| API 문서 | 코드에서 읽을 수 있음 | Swagger, JSDoc |
|
|
186
|
+
| 일반적 Best Practice | LLM이 이미 앎 | 불필요 |
|
|
187
|
+
| API 키, 시크릿 | 빠르게 구식이 됨 | `.env`, vault |
|
|
188
|
+
| 기능별 상세 지시 | Layer 2로 분리 | SPEC.md |
|
|
189
|
+
|
|
190
|
+
### 강조 기법
|
|
191
|
+
|
|
192
|
+
중요한 규칙이 무시될 때 사용:
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
**IMPORTANT**: {critical rule}
|
|
196
|
+
**MUST**: {mandatory action}
|
|
197
|
+
**NEVER**: {absolute prohibition}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
단, 모든 줄에 강조를 넣으면 **강조가 무효화**됩니다. P1 규칙에만 사용하세요.
|
|
201
|
+
|
|
202
|
+
### Progressive Disclosure (점진적 공개)
|
|
203
|
+
|
|
204
|
+
CLAUDE.md에 모든 것을 넣지 말고 참조하세요:
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
# Architecture
|
|
208
|
+
See @docs/ARCHITECTURE.md for design decisions.
|
|
209
|
+
|
|
210
|
+
# Security
|
|
211
|
+
@.claude/rules/security.md
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Claude Code는 `@` 참조를 따라가서 필요할 때만 로드합니다.
|
|
215
|
+
|
|
216
|
+
## Step 5: 검증 — 작성 품질 체크
|
|
217
|
+
|
|
218
|
+
작성된 CLAUDE.md를 검증합니다:
|
|
219
|
+
|
|
220
|
+
### 줄별 검증
|
|
221
|
+
|
|
222
|
+
모든 줄에 대해 4가지 질문:
|
|
223
|
+
|
|
224
|
+
1. **이걸 빼면 에이전트가 실수할까?** → No면 삭제
|
|
225
|
+
2. **모든 세션에 필요한가?** → No면 Layer 2/3으로 이동
|
|
226
|
+
3. **린터/훅이 대신할 수 있나?** → Yes면 린터/훅으로 이동
|
|
227
|
+
4. **코드에서 발견 가능한가?** → Yes면 삭제
|
|
228
|
+
|
|
229
|
+
### 앵커링 경고
|
|
230
|
+
|
|
231
|
+
기술명을 언급하면 에이전트가 그쪽으로 편향됩니다:
|
|
232
|
+
- ❌ "We use React" → 불필요 (package.json에 있음)
|
|
233
|
+
- ✅ "Never use jQuery, even for legacy code" → 유용 (함정 방지)
|
|
234
|
+
|
|
235
|
+
### 토큰 효율성
|
|
236
|
+
|
|
237
|
+
| 문제 | 예시 | 개선 |
|
|
238
|
+
|------|------|------|
|
|
239
|
+
| 장황한 설명 | "Please always make sure to..." | "Always:" |
|
|
240
|
+
| 중복 | 같은 규칙을 다른 표현으로 반복 | 한 번만 |
|
|
241
|
+
| 불필요한 맥락 | "As we discussed..." | 삭제 |
|
|
242
|
+
|
|
243
|
+
## Step 6: 유지보수 — 살아있는 문서
|
|
244
|
+
|
|
245
|
+
### 점진적 추가 패턴
|
|
246
|
+
|
|
247
|
+
처음부터 완벽하게 쓰지 마세요:
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
1. 최소한의 CLAUDE.md로 시작 (30-50줄)
|
|
251
|
+
2. 에이전트가 실수하는 걸 관찰
|
|
252
|
+
3. 반복되는 실수만 규칙으로 추가
|
|
253
|
+
4. 2-3주마다 불필요한 줄 정리
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Reflection Loop (Addy Osmani 패턴)
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
에이전트 작업 완료
|
|
260
|
+
→ "무엇이 예상과 달랐나?" 자문
|
|
261
|
+
→ 반복되는 패턴 발견 시 CLAUDE.md에 1줄 추가
|
|
262
|
+
→ 근본 원인이 코드 구조면 코드를 고치고 규칙은 추가하지 않음
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 위험 신호
|
|
266
|
+
|
|
267
|
+
| 신호 | 의미 | 대응 |
|
|
268
|
+
|------|------|------|
|
|
269
|
+
| 300줄 초과 | 정보 과부하 | 분리 또는 정리 |
|
|
270
|
+
| 같은 실수 반복 | 규칙이 노이즈에 묻힘 | 강조 또는 통합 |
|
|
271
|
+
| 규칙 추가해도 변화 없음 | 파일이 너무 김 | 근본 원인 수정 |
|
|
272
|
+
| 팀원이 규칙 무시 | 발견 가능한 정보 | 삭제 |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Quick Reference: 프로젝트 규모별 가이드
|
|
277
|
+
|
|
278
|
+
### 소규모 (파일 10개 미만)
|
|
279
|
+
|
|
280
|
+
```markdown
|
|
281
|
+
# {프로젝트명}
|
|
282
|
+
|
|
283
|
+
## Commands
|
|
284
|
+
- `{build}` — {설명}
|
|
285
|
+
- `{test}` — {설명}
|
|
286
|
+
|
|
287
|
+
## Gotchas
|
|
288
|
+
- **{함정 1}.** {설명}
|
|
289
|
+
- **{함정 2}.** {설명}
|
|
290
|
+
|
|
291
|
+
## Never
|
|
292
|
+
- 🚫 {금지 사항}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**목표: 20-30줄**
|
|
296
|
+
|
|
297
|
+
### 중규모 (파일 10-50개)
|
|
298
|
+
|
|
299
|
+
위 + Conventions, Boundaries 섹션 추가.
|
|
300
|
+
|
|
301
|
+
**목표: 60-150줄**
|
|
302
|
+
|
|
303
|
+
### 대규모 (파일 50개+, 모노레포)
|
|
304
|
+
|
|
305
|
+
루트 CLAUDE.md (공통 규칙) + 하위 디렉토리별 CLAUDE.md.
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
project/
|
|
309
|
+
├── CLAUDE.md ← 공통 (60줄)
|
|
310
|
+
├── packages/api/CLAUDE.md ← API 전용 (30줄)
|
|
311
|
+
├── packages/web/CLAUDE.md ← 웹 전용 (30줄)
|
|
312
|
+
└── .claude/rules/ ← 경로별 규칙
|
|
313
|
+
├── security.md
|
|
314
|
+
└── testing.md
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**목표: 루트 100줄 + 하위 각 30줄**
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 세션 분리 원칙
|
|
322
|
+
|
|
323
|
+
CLAUDE.md 작성도 세션을 분리하면 품질이 올라갑니다:
|
|
324
|
+
|
|
325
|
+
| 세션 | 목표 | 산출물 |
|
|
326
|
+
|------|------|--------|
|
|
327
|
+
| 세션 1 | 프로젝트 탐색 + 인터뷰 | 초안 |
|
|
328
|
+
| 세션 2 | 검증 + 최적화 | 최종본 |
|
|
329
|
+
| 이후 | 점진적 유지보수 | 지속 개선 |
|
|
330
|
+
|
|
331
|
+
작성 완료 후: `→ /agents-md` 스킬로 최적화 검증을 실행하세요.
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## References
|
|
336
|
+
|
|
337
|
+
### Research
|
|
338
|
+
- [Curse of Instructions: LLMs Cannot Follow Multiple Instructions at Once](https://openreview.net/forum?id=R6q67CDBCH)
|
|
339
|
+
- [Lost in the Middle: How Language Models Use Long Contexts](https://arxiv.org/abs/2307.03172)
|
|
340
|
+
- [The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions](https://arxiv.org/html/2404.13208v1)
|
|
341
|
+
- [Context Length Alone Hurts LLM Performance Despite Perfect Retrieval](https://arxiv.org/html/2510.05381v1)
|
|
342
|
+
|
|
343
|
+
### Official Docs
|
|
344
|
+
- [Claude Code Best Practices](https://code.claude.com/docs/en/best-practices)
|
|
345
|
+
- [Using CLAUDE.md Files](https://claude.com/blog/using-claude-md-files)
|
|
346
|
+
|
|
347
|
+
### Community
|
|
348
|
+
- [Addy Osmani: AGENTS.md](https://addyosmani.com/blog/agents-md/)
|
|
349
|
+
- [HumanLayer: Writing a good CLAUDE.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md)
|
|
350
|
+
- [Builder.io: CLAUDE.md Guide](https://www.builder.io/blog/claude-md-guide)
|
|
351
|
+
- [GitHub Blog: How to Write a Great agents.md](https://github.blog/ai-and-ml/github-copilot/how-to-write-a-great-agents-md-lessons-from-over-2500-repositories/)
|