@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,88 +1,88 @@
|
|
|
1
|
-
# CLAUDE.md Anti-Patterns
|
|
2
|
-
|
|
3
|
-
## Anti-pattern 1: Discoverable Content
|
|
4
|
-
|
|
5
|
-
**Symptom**: Listing things the agent can find by reading the repo.
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Bad
|
|
9
|
-
- Components are in src/components/
|
|
10
|
-
- Uses React 18 with TypeScript
|
|
11
|
-
- Run tests with npm test
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
```markdown
|
|
15
|
-
# Good
|
|
16
|
-
(delete these — they're in package.json and the repo structure)
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Anti-pattern 2: Instruction Overload
|
|
20
|
-
|
|
21
|
-
**Symptom**: 300+ line CLAUDE.md full of best practices.
|
|
22
|
-
|
|
23
|
-
LLM compliance drops to ~5% after 15+ instructions. Every line competes for attention.
|
|
24
|
-
|
|
25
|
-
Fix: Keep under 150 lines. Move feature-specific rules to SPEC files.
|
|
26
|
-
|
|
27
|
-
## Anti-pattern 3: Emphasis Inflation
|
|
28
|
-
|
|
29
|
-
**Symptom**: IMPORTANT, CRITICAL, MUST on every other line.
|
|
30
|
-
|
|
31
|
-
When everything is critical, nothing is. Reserve emphasis words for P1 rules only.
|
|
32
|
-
|
|
33
|
-
## Anti-pattern 4: Past-Tense History
|
|
34
|
-
|
|
35
|
-
**Symptom**: Phase tables, progress logs, "we decided to..." narratives.
|
|
36
|
-
|
|
37
|
-
```markdown
|
|
38
|
-
# Bad
|
|
39
|
-
## Progress
|
|
40
|
-
- Phase 1 ✅ Auth
|
|
41
|
-
- Phase 2 ✅ Dashboard
|
|
42
|
-
- Phase 3 🚧 Payments
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This is context noise, not guidance. Delete it.
|
|
46
|
-
|
|
47
|
-
## Anti-pattern 5: Technology Anchoring
|
|
48
|
-
|
|
49
|
-
**Symptom**: Listing what you use instead of what to avoid.
|
|
50
|
-
|
|
51
|
-
```markdown
|
|
52
|
-
# Bad
|
|
53
|
-
We use Zod for validation, Prisma for ORM, Tailwind for styling.
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
# Good
|
|
58
|
-
Never use joi or yup — Zod is the only validation library.
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Naming a technology biases the agent toward it. Only name tech in prohibitions.
|
|
62
|
-
|
|
63
|
-
## Anti-pattern 6: Vague Prohibitions
|
|
64
|
-
|
|
65
|
-
**Symptom**: Rules without specific triggers.
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
# Bad
|
|
69
|
-
- Write clean, readable code
|
|
70
|
-
- Follow best practices
|
|
71
|
-
- Keep functions small
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
The agent already knows these. They consume tokens and provide no new signal.
|
|
75
|
-
|
|
76
|
-
## Anti-pattern 7: Missing Boundaries
|
|
77
|
-
|
|
78
|
-
**Symptom**: No section on what the agent should never touch.
|
|
79
|
-
|
|
80
|
-
Without explicit boundaries, agents will "helpfully" refactor generated files, edit lock files, or push to main.
|
|
81
|
-
|
|
82
|
-
Always include: what's off-limits, what requires human approval first.
|
|
83
|
-
|
|
84
|
-
## Anti-pattern 8: Stale Secrets/Keys
|
|
85
|
-
|
|
86
|
-
**Symptom**: API keys or connection strings in CLAUDE.md.
|
|
87
|
-
|
|
88
|
-
These belong in `.env` only. CLAUDE.md is committed to version control.
|
|
1
|
+
# CLAUDE.md Anti-Patterns
|
|
2
|
+
|
|
3
|
+
## Anti-pattern 1: Discoverable Content
|
|
4
|
+
|
|
5
|
+
**Symptom**: Listing things the agent can find by reading the repo.
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Bad
|
|
9
|
+
- Components are in src/components/
|
|
10
|
+
- Uses React 18 with TypeScript
|
|
11
|
+
- Run tests with npm test
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
# Good
|
|
16
|
+
(delete these — they're in package.json and the repo structure)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Anti-pattern 2: Instruction Overload
|
|
20
|
+
|
|
21
|
+
**Symptom**: 300+ line CLAUDE.md full of best practices.
|
|
22
|
+
|
|
23
|
+
LLM compliance drops to ~5% after 15+ instructions. Every line competes for attention.
|
|
24
|
+
|
|
25
|
+
Fix: Keep under 150 lines. Move feature-specific rules to SPEC files.
|
|
26
|
+
|
|
27
|
+
## Anti-pattern 3: Emphasis Inflation
|
|
28
|
+
|
|
29
|
+
**Symptom**: IMPORTANT, CRITICAL, MUST on every other line.
|
|
30
|
+
|
|
31
|
+
When everything is critical, nothing is. Reserve emphasis words for P1 rules only.
|
|
32
|
+
|
|
33
|
+
## Anti-pattern 4: Past-Tense History
|
|
34
|
+
|
|
35
|
+
**Symptom**: Phase tables, progress logs, "we decided to..." narratives.
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Bad
|
|
39
|
+
## Progress
|
|
40
|
+
- Phase 1 ✅ Auth
|
|
41
|
+
- Phase 2 ✅ Dashboard
|
|
42
|
+
- Phase 3 🚧 Payments
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This is context noise, not guidance. Delete it.
|
|
46
|
+
|
|
47
|
+
## Anti-pattern 5: Technology Anchoring
|
|
48
|
+
|
|
49
|
+
**Symptom**: Listing what you use instead of what to avoid.
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
# Bad
|
|
53
|
+
We use Zod for validation, Prisma for ORM, Tailwind for styling.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# Good
|
|
58
|
+
Never use joi or yup — Zod is the only validation library.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Naming a technology biases the agent toward it. Only name tech in prohibitions.
|
|
62
|
+
|
|
63
|
+
## Anti-pattern 6: Vague Prohibitions
|
|
64
|
+
|
|
65
|
+
**Symptom**: Rules without specific triggers.
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
# Bad
|
|
69
|
+
- Write clean, readable code
|
|
70
|
+
- Follow best practices
|
|
71
|
+
- Keep functions small
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The agent already knows these. They consume tokens and provide no new signal.
|
|
75
|
+
|
|
76
|
+
## Anti-pattern 7: Missing Boundaries
|
|
77
|
+
|
|
78
|
+
**Symptom**: No section on what the agent should never touch.
|
|
79
|
+
|
|
80
|
+
Without explicit boundaries, agents will "helpfully" refactor generated files, edit lock files, or push to main.
|
|
81
|
+
|
|
82
|
+
Always include: what's off-limits, what requires human approval first.
|
|
83
|
+
|
|
84
|
+
## Anti-pattern 8: Stale Secrets/Keys
|
|
85
|
+
|
|
86
|
+
**Symptom**: API keys or connection strings in CLAUDE.md.
|
|
87
|
+
|
|
88
|
+
These belong in `.env` only. CLAUDE.md is committed to version control.
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
# {{PROJECT_NAME}}
|
|
2
|
-
|
|
3
|
-
{{OPTIONAL: 1-2 sentence description. Only if project purpose is unclear from reading the code.}}
|
|
4
|
-
|
|
5
|
-
## Commands
|
|
6
|
-
|
|
7
|
-
{{Only non-obvious commands. Delete commands already in package.json scripts.}}
|
|
8
|
-
|
|
9
|
-
- `{{COMMAND}}` — {{WHY_ORDER_MATTERS_OR_SPECIAL_FLAGS}}
|
|
10
|
-
|
|
11
|
-
## Conventions
|
|
12
|
-
|
|
13
|
-
{{Only what linters/formatters don't enforce automatically.}}
|
|
14
|
-
|
|
15
|
-
- {{CONVENTION}} — {{e.g., "ESM only — imports need .js extension"}}
|
|
16
|
-
|
|
17
|
-
## Gotchas
|
|
18
|
-
|
|
19
|
-
{{Non-discoverable traps an agent will hit without being told.}}
|
|
20
|
-
|
|
21
|
-
- **{{TRAP_TITLE}}.** {{Specific do/don't description.}}
|
|
22
|
-
- **{{TRAP_TITLE}}.** {{Specific do/don't description.}}
|
|
23
|
-
|
|
24
|
-
## Boundaries
|
|
25
|
-
|
|
26
|
-
{{What the agent should never touch or always ask about first.}}
|
|
27
|
-
|
|
28
|
-
Always: {{ALWAYS_DO}}
|
|
29
|
-
Ask first: {{ASK_BEFORE_DOING}}
|
|
30
|
-
Never: {{ABSOLUTE_PROHIBITION}}
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
<!--
|
|
35
|
-
FILLING INSTRUCTIONS
|
|
36
|
-
|
|
37
|
-
Size targets:
|
|
38
|
-
- Small project (< 10 files): 20-30 lines
|
|
39
|
-
- Medium project (10-50 files): 60-150 lines
|
|
40
|
-
- Large project / monorepo: 100 lines root + 30 lines per package
|
|
41
|
-
|
|
42
|
-
Placement priority (LLM attention is highest at top and bottom):
|
|
43
|
-
- Top: most critical rules (security, never-do)
|
|
44
|
-
- Middle: background context
|
|
45
|
-
- Bottom: frequently violated rules
|
|
46
|
-
|
|
47
|
-
For each line ask:
|
|
48
|
-
1. Would the agent make a mistake without this? No → delete
|
|
49
|
-
2. Does every session need this? No → move to SPEC or plan file
|
|
50
|
-
3. Does a linter/hook enforce this? Yes → delete
|
|
51
|
-
4. Is this discoverable from code? Yes → delete
|
|
52
|
-
|
|
53
|
-
Delete this comment block before committing.
|
|
54
|
-
-->
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
{{OPTIONAL: 1-2 sentence description. Only if project purpose is unclear from reading the code.}}
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
{{Only non-obvious commands. Delete commands already in package.json scripts.}}
|
|
8
|
+
|
|
9
|
+
- `{{COMMAND}}` — {{WHY_ORDER_MATTERS_OR_SPECIAL_FLAGS}}
|
|
10
|
+
|
|
11
|
+
## Conventions
|
|
12
|
+
|
|
13
|
+
{{Only what linters/formatters don't enforce automatically.}}
|
|
14
|
+
|
|
15
|
+
- {{CONVENTION}} — {{e.g., "ESM only — imports need .js extension"}}
|
|
16
|
+
|
|
17
|
+
## Gotchas
|
|
18
|
+
|
|
19
|
+
{{Non-discoverable traps an agent will hit without being told.}}
|
|
20
|
+
|
|
21
|
+
- **{{TRAP_TITLE}}.** {{Specific do/don't description.}}
|
|
22
|
+
- **{{TRAP_TITLE}}.** {{Specific do/don't description.}}
|
|
23
|
+
|
|
24
|
+
## Boundaries
|
|
25
|
+
|
|
26
|
+
{{What the agent should never touch or always ask about first.}}
|
|
27
|
+
|
|
28
|
+
Always: {{ALWAYS_DO}}
|
|
29
|
+
Ask first: {{ASK_BEFORE_DOING}}
|
|
30
|
+
Never: {{ABSOLUTE_PROHIBITION}}
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
<!--
|
|
35
|
+
FILLING INSTRUCTIONS
|
|
36
|
+
|
|
37
|
+
Size targets:
|
|
38
|
+
- Small project (< 10 files): 20-30 lines
|
|
39
|
+
- Medium project (10-50 files): 60-150 lines
|
|
40
|
+
- Large project / monorepo: 100 lines root + 30 lines per package
|
|
41
|
+
|
|
42
|
+
Placement priority (LLM attention is highest at top and bottom):
|
|
43
|
+
- Top: most critical rules (security, never-do)
|
|
44
|
+
- Middle: background context
|
|
45
|
+
- Bottom: frequently violated rules
|
|
46
|
+
|
|
47
|
+
For each line ask:
|
|
48
|
+
1. Would the agent make a mistake without this? No → delete
|
|
49
|
+
2. Does every session need this? No → move to SPEC or plan file
|
|
50
|
+
3. Does a linter/hook enforce this? Yes → delete
|
|
51
|
+
4. Is this discoverable from code? Yes → delete
|
|
52
|
+
|
|
53
|
+
Delete this comment block before committing.
|
|
54
|
+
-->
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: commerce-patterns
|
|
3
|
-
tier: core
|
|
4
|
-
description: "E-commerce domain patterns — cart management, payment processing (Toss/Stripe/PG), inventory tracking, and order state machines with transaction safety. Use when implementing any shopping cart, checkout flow, payment integration, stock management, or order lifecycle. Covers idempotency keys, double-charge prevention, stock reservation, and refund flows. Must use this skill when the codebase involves e-commerce — even for seemingly simple 'add to cart' features."
|
|
5
|
-
triggers: [commerce, ecommerce, cart, payment, checkout, inventory, stock, order, pg, toss, stripe]
|
|
6
|
-
priority: 70
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Commerce Patterns
|
|
10
|
-
|
|
11
|
-
## Pre-check (K1)
|
|
12
|
-
|
|
13
|
-
> Is this an e-commerce transaction flow? If building simple CRUD without payment/stock management, this skill is not needed.
|
|
14
|
-
|
|
15
|
-
## Gotchas & Traps
|
|
16
|
-
|
|
17
|
-
These are the non-obvious failure modes LLMs typically miss:
|
|
18
|
-
|
|
19
|
-
### Payment
|
|
20
|
-
|
|
21
|
-
| Trap | Consequence | Prevention |
|
|
22
|
-
|------|-------------|------------|
|
|
23
|
-
| No idempotency key | User double-clicks → charged twice | `idempotencyKey: order_${orderId}_${timestamp}` on every payment request |
|
|
24
|
-
| Webhook not idempotent | Retry delivers duplicate events | Check `eventId` before processing, store processed events |
|
|
25
|
-
| Missing webhook signature verification | Attacker forges payment confirmation | Always verify HMAC signature before processing |
|
|
26
|
-
| No payment state machine | Order stuck in limbo | `PENDING → PROCESSING → AUTHORIZED → CAPTURED → COMPLETED` (+ FAILED, CANCELED, REFUNDED) |
|
|
27
|
-
|
|
28
|
-
### Inventory
|
|
29
|
-
|
|
30
|
-
| Trap | Consequence | Prevention |
|
|
31
|
-
|------|-------------|------------|
|
|
32
|
-
| Non-atomic stock decrement | Race condition → negative stock | `UPDATE SET stock = stock - $1 WHERE stock >= $1` (atomic with check) |
|
|
33
|
-
| No reservation TTL | Stock locked forever on abandoned checkout | 15-min reservation + scheduled cleanup job |
|
|
34
|
-
| Commit without reservation | Stock sold twice | Two-phase: RESERVE (checkout start) → COMMIT (payment success) / RELEASE (failure) |
|
|
35
|
-
| Optimistic lock without retry | Fails silently under contention | Use `version` column or `FOR UPDATE` for high-contention products |
|
|
36
|
-
|
|
37
|
-
### Cart & Pricing
|
|
38
|
-
|
|
39
|
-
| Trap | Consequence | Prevention |
|
|
40
|
-
|------|-------------|------------|
|
|
41
|
-
| No price snapshot | Price changes between add and checkout | Store `price` at add time, revalidate at checkout entry |
|
|
42
|
-
| No guest→user cart merge | Guest loses cart on login | Merge by `sessionId` on login, user cart takes priority for duplicates |
|
|
43
|
-
| No cart expiration | Abandoned carts accumulate forever | TTL-based cleanup (e.g., 7 days) |
|
|
44
|
-
|
|
45
|
-
## Checkout Flow (Reference)
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Cart Validation → Order Creation (PENDING) → Stock Reservation (15min) → Payment
|
|
49
|
-
├─ Success → Order PAID, Stock COMMIT, Send Confirmation
|
|
50
|
-
└─ Failure → Order FAILED, Stock RELEASE
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Related
|
|
54
|
-
|
|
55
|
-
See `e2e-commerce` skill for test scenarios covering these patterns (P0 duplicate payment, stock release on failure, etc.).
|
|
56
|
-
|
|
57
|
-
## Done Criteria (K4)
|
|
58
|
-
|
|
59
|
-
- [ ] Idempotency key on all payment requests
|
|
60
|
-
- [ ] Webhook handler is idempotent (dedup by eventId)
|
|
61
|
-
- [ ] Stock updates are atomic (SQL-level check)
|
|
62
|
-
- [ ] Two-phase reservation implemented with TTL
|
|
63
|
-
- [ ] Prices snapshot at cart add, revalidated at checkout
|
|
64
|
-
- [ ] Payment state machine covers all transitions
|
|
1
|
+
---
|
|
2
|
+
name: commerce-patterns
|
|
3
|
+
tier: core
|
|
4
|
+
description: "E-commerce domain patterns — cart management, payment processing (Toss/Stripe/PG), inventory tracking, and order state machines with transaction safety. Use when implementing any shopping cart, checkout flow, payment integration, stock management, or order lifecycle. Covers idempotency keys, double-charge prevention, stock reservation, and refund flows. Must use this skill when the codebase involves e-commerce — even for seemingly simple 'add to cart' features."
|
|
5
|
+
triggers: [commerce, ecommerce, cart, payment, checkout, inventory, stock, order, pg, toss, stripe]
|
|
6
|
+
priority: 70
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Commerce Patterns
|
|
10
|
+
|
|
11
|
+
## Pre-check (K1)
|
|
12
|
+
|
|
13
|
+
> Is this an e-commerce transaction flow? If building simple CRUD without payment/stock management, this skill is not needed.
|
|
14
|
+
|
|
15
|
+
## Gotchas & Traps
|
|
16
|
+
|
|
17
|
+
These are the non-obvious failure modes LLMs typically miss:
|
|
18
|
+
|
|
19
|
+
### Payment
|
|
20
|
+
|
|
21
|
+
| Trap | Consequence | Prevention |
|
|
22
|
+
|------|-------------|------------|
|
|
23
|
+
| No idempotency key | User double-clicks → charged twice | `idempotencyKey: order_${orderId}_${timestamp}` on every payment request |
|
|
24
|
+
| Webhook not idempotent | Retry delivers duplicate events | Check `eventId` before processing, store processed events |
|
|
25
|
+
| Missing webhook signature verification | Attacker forges payment confirmation | Always verify HMAC signature before processing |
|
|
26
|
+
| No payment state machine | Order stuck in limbo | `PENDING → PROCESSING → AUTHORIZED → CAPTURED → COMPLETED` (+ FAILED, CANCELED, REFUNDED) |
|
|
27
|
+
|
|
28
|
+
### Inventory
|
|
29
|
+
|
|
30
|
+
| Trap | Consequence | Prevention |
|
|
31
|
+
|------|-------------|------------|
|
|
32
|
+
| Non-atomic stock decrement | Race condition → negative stock | `UPDATE SET stock = stock - $1 WHERE stock >= $1` (atomic with check) |
|
|
33
|
+
| No reservation TTL | Stock locked forever on abandoned checkout | 15-min reservation + scheduled cleanup job |
|
|
34
|
+
| Commit without reservation | Stock sold twice | Two-phase: RESERVE (checkout start) → COMMIT (payment success) / RELEASE (failure) |
|
|
35
|
+
| Optimistic lock without retry | Fails silently under contention | Use `version` column or `FOR UPDATE` for high-contention products |
|
|
36
|
+
|
|
37
|
+
### Cart & Pricing
|
|
38
|
+
|
|
39
|
+
| Trap | Consequence | Prevention |
|
|
40
|
+
|------|-------------|------------|
|
|
41
|
+
| No price snapshot | Price changes between add and checkout | Store `price` at add time, revalidate at checkout entry |
|
|
42
|
+
| No guest→user cart merge | Guest loses cart on login | Merge by `sessionId` on login, user cart takes priority for duplicates |
|
|
43
|
+
| No cart expiration | Abandoned carts accumulate forever | TTL-based cleanup (e.g., 7 days) |
|
|
44
|
+
|
|
45
|
+
## Checkout Flow (Reference)
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Cart Validation → Order Creation (PENDING) → Stock Reservation (15min) → Payment
|
|
49
|
+
├─ Success → Order PAID, Stock COMMIT, Send Confirmation
|
|
50
|
+
└─ Failure → Order FAILED, Stock RELEASE
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Related
|
|
54
|
+
|
|
55
|
+
See `e2e-commerce` skill for test scenarios covering these patterns (P0 duplicate payment, stock release on failure, etc.).
|
|
56
|
+
|
|
57
|
+
## Done Criteria (K4)
|
|
58
|
+
|
|
59
|
+
- [ ] Idempotency key on all payment requests
|
|
60
|
+
- [ ] Webhook handler is idempotent (dedup by eventId)
|
|
61
|
+
- [ ] Stock updates are atomic (SQL-level check)
|
|
62
|
+
- [ ] Two-phase reservation implemented with TTL
|
|
63
|
+
- [ ] Prices snapshot at cart add, revalidated at checkout
|
|
64
|
+
- [ ] Payment state machine covers all transitions
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
# Checkout UX Best Practices Checklist
|
|
2
|
-
|
|
3
|
-
## Cart Review Step
|
|
4
|
-
|
|
5
|
-
- [ ] Cart items show current price, quantity, and subtotal per line
|
|
6
|
-
- [ ] Price change warning shown if item price changed since add-to-cart
|
|
7
|
-
- [ ] Out-of-stock items flagged before user proceeds
|
|
8
|
-
- [ ] Clear "Continue to Checkout" CTA — one primary action per step
|
|
9
|
-
- [ ] Guest checkout option visible (no forced registration)
|
|
10
|
-
|
|
11
|
-
## Shipping & Address Step
|
|
12
|
-
|
|
13
|
-
- [ ] Address autocomplete reduces input friction
|
|
14
|
-
- [ ] Saved addresses surfaced first for logged-in users
|
|
15
|
-
- [ ] Shipping cost displayed before payment (no surprise at confirmation)
|
|
16
|
-
- [ ] Estimated delivery date shown per shipping method
|
|
17
|
-
- [ ] Address validation feedback inline, not on submit
|
|
18
|
-
|
|
19
|
-
## Payment Step
|
|
20
|
-
|
|
21
|
-
- [ ] Supported payment methods visible upfront (icons, labels)
|
|
22
|
-
- [ ] Payment form uses browser autofill attributes (`autocomplete`)
|
|
23
|
-
- [ ] Idempotency key bound to order ID — double-click safe
|
|
24
|
-
- [ ] Loading state on submit button prevents double submission
|
|
25
|
-
- [ ] Clear error messages distinguish user error from system error
|
|
26
|
-
- [ ] PG redirect handles back-button recovery gracefully
|
|
27
|
-
|
|
28
|
-
## Order Confirmation Step
|
|
29
|
-
|
|
30
|
-
- [ ] Order ID prominently displayed (user can reference for support)
|
|
31
|
-
- [ ] Confirmation email sent within 30 seconds of payment success
|
|
32
|
-
- [ ] Summary includes: items, total, shipping address, estimated delivery
|
|
33
|
-
- [ ] Clear next step (track order / continue shopping)
|
|
34
|
-
- [ ] No personal payment data displayed (mask card number)
|
|
35
|
-
|
|
36
|
-
## Error & Edge Cases
|
|
37
|
-
|
|
38
|
-
- [ ] Stock exhausted mid-checkout: clear message, return to cart
|
|
39
|
-
- [ ] Payment timeout: inform user, preserve order state for retry
|
|
40
|
-
- [ ] Session expiry during checkout: preserve cart, redirect to login
|
|
41
|
-
- [ ] Network failure on submit: prevent duplicate submission, show retry CTA
|
|
42
|
-
|
|
43
|
-
## Accessibility & Performance
|
|
44
|
-
|
|
45
|
-
- [ ] Checkout steps announced to screen readers (step X of Y)
|
|
46
|
-
- [ ] Tab order logical through form fields
|
|
47
|
-
- [ ] Core checkout flow works without JavaScript (progressive enhancement)
|
|
48
|
-
- [ ] Page weight under 200 KB per step (no unnecessary third-party scripts)
|
|
1
|
+
# Checkout UX Best Practices Checklist
|
|
2
|
+
|
|
3
|
+
## Cart Review Step
|
|
4
|
+
|
|
5
|
+
- [ ] Cart items show current price, quantity, and subtotal per line
|
|
6
|
+
- [ ] Price change warning shown if item price changed since add-to-cart
|
|
7
|
+
- [ ] Out-of-stock items flagged before user proceeds
|
|
8
|
+
- [ ] Clear "Continue to Checkout" CTA — one primary action per step
|
|
9
|
+
- [ ] Guest checkout option visible (no forced registration)
|
|
10
|
+
|
|
11
|
+
## Shipping & Address Step
|
|
12
|
+
|
|
13
|
+
- [ ] Address autocomplete reduces input friction
|
|
14
|
+
- [ ] Saved addresses surfaced first for logged-in users
|
|
15
|
+
- [ ] Shipping cost displayed before payment (no surprise at confirmation)
|
|
16
|
+
- [ ] Estimated delivery date shown per shipping method
|
|
17
|
+
- [ ] Address validation feedback inline, not on submit
|
|
18
|
+
|
|
19
|
+
## Payment Step
|
|
20
|
+
|
|
21
|
+
- [ ] Supported payment methods visible upfront (icons, labels)
|
|
22
|
+
- [ ] Payment form uses browser autofill attributes (`autocomplete`)
|
|
23
|
+
- [ ] Idempotency key bound to order ID — double-click safe
|
|
24
|
+
- [ ] Loading state on submit button prevents double submission
|
|
25
|
+
- [ ] Clear error messages distinguish user error from system error
|
|
26
|
+
- [ ] PG redirect handles back-button recovery gracefully
|
|
27
|
+
|
|
28
|
+
## Order Confirmation Step
|
|
29
|
+
|
|
30
|
+
- [ ] Order ID prominently displayed (user can reference for support)
|
|
31
|
+
- [ ] Confirmation email sent within 30 seconds of payment success
|
|
32
|
+
- [ ] Summary includes: items, total, shipping address, estimated delivery
|
|
33
|
+
- [ ] Clear next step (track order / continue shopping)
|
|
34
|
+
- [ ] No personal payment data displayed (mask card number)
|
|
35
|
+
|
|
36
|
+
## Error & Edge Cases
|
|
37
|
+
|
|
38
|
+
- [ ] Stock exhausted mid-checkout: clear message, return to cart
|
|
39
|
+
- [ ] Payment timeout: inform user, preserve order state for retry
|
|
40
|
+
- [ ] Session expiry during checkout: preserve cart, redirect to login
|
|
41
|
+
- [ ] Network failure on submit: prevent duplicate submission, show retry CTA
|
|
42
|
+
|
|
43
|
+
## Accessibility & Performance
|
|
44
|
+
|
|
45
|
+
- [ ] Checkout steps announced to screen readers (step X of Y)
|
|
46
|
+
- [ ] Tab order logical through form fields
|
|
47
|
+
- [ ] Core checkout flow works without JavaScript (progressive enhancement)
|
|
48
|
+
- [ ] Page weight under 200 KB per step (no unnecessary third-party scripts)
|