@su-record/vibe 2.8.24 → 2.8.25

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.
Files changed (220) hide show
  1. package/dist/cli/commands/config.d.ts +17 -0
  2. package/dist/cli/commands/config.d.ts.map +1 -0
  3. package/dist/cli/commands/config.js +207 -0
  4. package/dist/cli/commands/config.js.map +1 -0
  5. package/dist/cli/commands/index.d.ts +2 -0
  6. package/dist/cli/commands/index.d.ts.map +1 -1
  7. package/dist/cli/commands/index.js +2 -0
  8. package/dist/cli/commands/index.js.map +1 -1
  9. package/dist/cli/commands/info.d.ts.map +1 -1
  10. package/dist/cli/commands/info.js +2 -0
  11. package/dist/cli/commands/info.js.map +1 -1
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +78 -54
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/stats.d.ts +13 -0
  16. package/dist/cli/commands/stats.d.ts.map +1 -0
  17. package/dist/cli/commands/stats.js +280 -0
  18. package/dist/cli/commands/stats.js.map +1 -0
  19. package/dist/cli/index.d.ts.map +1 -1
  20. package/dist/cli/index.js +33 -1
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  23. package/dist/cli/postinstall/constants.js +1 -0
  24. package/dist/cli/postinstall/constants.js.map +1 -1
  25. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  26. package/dist/cli/setup/GlobalInstaller.js +7 -7
  27. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  28. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  29. package/dist/cli/setup/ProjectSetup.js +18 -12
  30. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  31. package/dist/infra/lib/ContextCompressor.d.ts.map +1 -1
  32. package/dist/infra/lib/ContextCompressor.js +10 -4
  33. package/dist/infra/lib/ContextCompressor.js.map +1 -1
  34. package/dist/infra/lib/ProjectCache.d.ts +2 -2
  35. package/dist/infra/lib/ProjectCache.d.ts.map +1 -1
  36. package/dist/infra/lib/ProjectCache.js +4 -3
  37. package/dist/infra/lib/ProjectCache.js.map +1 -1
  38. package/dist/infra/lib/utils.d.ts +24 -0
  39. package/dist/infra/lib/utils.d.ts.map +1 -1
  40. package/dist/infra/lib/utils.js +41 -0
  41. package/dist/infra/lib/utils.js.map +1 -1
  42. package/dist/infra/orchestrator/SmartRouter.d.ts +3 -0
  43. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  44. package/dist/infra/orchestrator/SmartRouter.js +11 -1
  45. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  46. package/dist/infra/orchestrator/SmartRouter.test.d.ts +5 -0
  47. package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +1 -0
  48. package/dist/infra/orchestrator/SmartRouter.test.js +457 -0
  49. package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -0
  50. package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
  51. package/dist/tools/convention/analyzeComplexity.js +18 -10
  52. package/dist/tools/convention/analyzeComplexity.js.map +1 -1
  53. package/dist/tools/convention/checkCouplingCohesion.d.ts.map +1 -1
  54. package/dist/tools/convention/checkCouplingCohesion.js +14 -6
  55. package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
  56. package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +1 -1
  57. package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
  58. package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
  59. package/dist/tools/semantic/findReferences.d.ts.map +1 -1
  60. package/dist/tools/semantic/findReferences.js +13 -13
  61. package/dist/tools/semantic/findReferences.js.map +1 -1
  62. package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
  63. package/dist/tools/semantic/findSymbol.js +12 -13
  64. package/dist/tools/semantic/findSymbol.js.map +1 -1
  65. package/dist/tools/semantic/lsp.d.ts.map +1 -1
  66. package/dist/tools/semantic/lsp.js +22 -14
  67. package/dist/tools/semantic/lsp.js.map +1 -1
  68. package/hooks/hooks.json +29 -0
  69. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -0
  70. package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -0
  71. package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -0
  72. package/hooks/scripts/auto-commit.js +65 -0
  73. package/hooks/scripts/auto-format.js +64 -0
  74. package/hooks/scripts/auto-test.js +81 -0
  75. package/hooks/scripts/code-check.js +139 -0
  76. package/hooks/scripts/command-log.js +32 -0
  77. package/hooks/scripts/context-save.js +60 -6
  78. package/hooks/scripts/hud-status.js +32 -2
  79. package/hooks/scripts/llm-orchestrate.js +95 -17
  80. package/hooks/scripts/pr-test-gate.js +52 -0
  81. package/package.json +1 -1
  82. package/skills/agents-md/rubrics/what-to-keep.md +49 -0
  83. package/skills/agents-md/templates/agents-md.md +36 -0
  84. package/skills/arch-guard/agents/detector.md +48 -0
  85. package/skills/arch-guard/agents/reporter.md +48 -0
  86. package/skills/arch-guard/agents/rule-generator.md +49 -0
  87. package/skills/arch-guard/agents/violation-checker.md +51 -0
  88. package/skills/arch-guard/frameworks/clean-architecture.md +108 -0
  89. package/skills/arch-guard/frameworks/solid.md +102 -0
  90. package/skills/arch-guard/scripts/check-boundaries.js +90 -0
  91. package/skills/arch-guard/templates/arch-rules.json +47 -0
  92. package/skills/arch-guard/templates/violation-report.md +53 -0
  93. package/skills/brand-assets/rubrics/asset-checklist.md +98 -0
  94. package/skills/brand-assets/templates/brand-guide.md +161 -0
  95. package/skills/capability-loop/agents/capability-designer.md +61 -0
  96. package/skills/capability-loop/agents/failure-analyst.md +55 -0
  97. package/skills/capability-loop/agents/implementer.md +50 -0
  98. package/skills/capability-loop/agents/tester.md +53 -0
  99. package/skills/capability-loop/templates/capability-spec.md +118 -0
  100. package/skills/capability-loop/templates/failure-analysis.md +118 -0
  101. package/skills/characterization-test/agents/behavior-capturer.md +50 -0
  102. package/skills/characterization-test/agents/coverage-checker.md +54 -0
  103. package/skills/characterization-test/agents/reporter.md +50 -0
  104. package/skills/characterization-test/agents/test-writer.md +49 -0
  105. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -0
  106. package/skills/characterization-test/templates/test-template.ts +101 -0
  107. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -0
  108. package/skills/claude-md-guide/templates/claude-md.md +54 -0
  109. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -0
  110. package/skills/commerce-patterns/templates/product-schema.md +85 -0
  111. package/skills/commit-push-pr/agents/change-analyzer.md +55 -0
  112. package/skills/commit-push-pr/agents/message-writer.md +50 -0
  113. package/skills/commit-push-pr/agents/pr-writer.md +58 -0
  114. package/skills/commit-push-pr/agents/reviewer.md +52 -0
  115. package/skills/commit-push-pr/rubrics/commit-message.md +73 -0
  116. package/skills/commit-push-pr/templates/pr-body.md +63 -0
  117. package/skills/context7-usage/rubrics/when-to-use.md +50 -0
  118. package/skills/create-prd/agents/edge-case-finder.md +48 -0
  119. package/skills/create-prd/agents/prioritizer.md +60 -0
  120. package/skills/create-prd/agents/requirements-writer.md +48 -0
  121. package/skills/create-prd/agents/researcher.md +55 -0
  122. package/skills/create-prd/agents/reviewer.md +54 -0
  123. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -0
  124. package/skills/create-prd/frameworks/rice-scoring.md +97 -0
  125. package/skills/create-prd/orchestrator.md +70 -0
  126. package/skills/create-prd/rubrics/completeness.md +58 -0
  127. package/skills/create-prd/templates/prd.md +139 -0
  128. package/skills/design-audit/agents/a11y-auditor.md +43 -0
  129. package/skills/design-audit/agents/performance-auditor.md +46 -0
  130. package/skills/design-audit/agents/responsive-auditor.md +46 -0
  131. package/skills/design-audit/agents/scorer.md +47 -0
  132. package/skills/design-audit/agents/slop-detector.md +47 -0
  133. package/skills/design-audit/frameworks/core-web-vitals.md +107 -0
  134. package/skills/design-audit/frameworks/wcag-checklist.md +64 -0
  135. package/skills/design-audit/orchestrator.md +64 -0
  136. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -0
  137. package/skills/design-audit/rubrics/scoring.md +63 -0
  138. package/skills/design-audit/templates/report.md +88 -0
  139. package/skills/design-critique/rubrics/ux-heuristics.md +143 -0
  140. package/skills/design-critique/templates/critique-report.md +86 -0
  141. package/skills/design-distill/templates/design-system.md +132 -0
  142. package/skills/design-normalize/rubrics/token-naming.md +117 -0
  143. package/skills/design-normalize/templates/token-audit.md +89 -0
  144. package/skills/design-polish/rubrics/polish-checklist.md +68 -0
  145. package/skills/design-polish/templates/polish-report.md +64 -0
  146. package/skills/design-teach/rubrics/brand-personality.md +73 -0
  147. package/skills/design-teach/templates/design-context.json +36 -0
  148. package/skills/e2e-commerce/templates/test-scenarios.md +170 -0
  149. package/skills/event-comms/templates/email-invite.md +99 -0
  150. package/skills/event-comms/templates/sns-post.md +133 -0
  151. package/skills/event-ops/rubrics/contingency.md +85 -0
  152. package/skills/event-ops/templates/d-day-checklist.md +65 -0
  153. package/skills/event-planning/rubrics/timeline.md +70 -0
  154. package/skills/event-planning/templates/event-plan.md +91 -0
  155. package/skills/exec-plan/agents/decomposer.md +47 -0
  156. package/skills/exec-plan/agents/dependency-mapper.md +44 -0
  157. package/skills/exec-plan/agents/estimator.md +43 -0
  158. package/skills/exec-plan/agents/validator.md +55 -0
  159. package/skills/exec-plan/orchestrator.md +70 -0
  160. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -0
  161. package/skills/exec-plan/templates/plan.md +147 -0
  162. package/skills/git-worktree/rubrics/when-to-use.md +55 -0
  163. package/skills/handoff/agents/context-summarizer.md +51 -0
  164. package/skills/handoff/agents/document-writer.md +63 -0
  165. package/skills/handoff/agents/state-collector.md +53 -0
  166. package/skills/handoff/agents/verifier.md +48 -0
  167. package/skills/handoff/rubrics/completeness.md +62 -0
  168. package/skills/handoff/templates/handoff.md +107 -0
  169. package/skills/parallel-research/agents/best-practices.md +43 -0
  170. package/skills/parallel-research/agents/codebase-patterns.md +46 -0
  171. package/skills/parallel-research/agents/framework-docs.md +45 -0
  172. package/skills/parallel-research/agents/security-advisory.md +46 -0
  173. package/skills/parallel-research/agents/synthesizer.md +52 -0
  174. package/skills/parallel-research/experts/best-practices.md +50 -0
  175. package/skills/parallel-research/experts/codebase-patterns.md +70 -0
  176. package/skills/parallel-research/experts/framework-docs.md +65 -0
  177. package/skills/parallel-research/experts/security-advisory.md +69 -0
  178. package/skills/parallel-research/orchestrator.md +65 -0
  179. package/skills/parallel-research/templates/synthesis.md +101 -0
  180. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -0
  181. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -0
  182. package/skills/priority-todos/rubrics/prioritization.md +70 -0
  183. package/skills/priority-todos/templates/todo-board.md +59 -0
  184. package/skills/seo-checklist/frameworks/structured-data.md +153 -0
  185. package/skills/seo-checklist/rubrics/content-seo.md +42 -0
  186. package/skills/seo-checklist/rubrics/technical-seo.md +48 -0
  187. package/skills/techdebt/agents/analyzer.md +50 -0
  188. package/skills/techdebt/agents/fixer.md +41 -0
  189. package/skills/techdebt/agents/reviewer.md +47 -0
  190. package/skills/techdebt/agents/scanner.md +44 -0
  191. package/skills/techdebt/orchestrator.md +70 -0
  192. package/skills/techdebt/rubrics/severity.md +51 -0
  193. package/skills/techdebt/scripts/scan.js +90 -0
  194. package/skills/techdebt/templates/report.md +86 -0
  195. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -0
  196. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -0
  197. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -0
  198. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -0
  199. package/skills/user-personas/rubrics/research-methods.md +56 -0
  200. package/skills/user-personas/templates/persona.md +89 -0
  201. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -0
  202. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -0
  203. package/skills/vibe-docs/SKILL.md +171 -0
  204. package/skills/vibe-docs/templates/architecture.md +80 -0
  205. package/skills/vibe-docs/templates/readme.md +84 -0
  206. package/skills/vibe-docs/templates/release-notes.md +74 -0
  207. package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -0
  208. package/skills/vibe-figma/templates/figma-handoff.md +96 -0
  209. package/skills/vibe-figma-analyze/rubrics/analysis-dimensions.md +53 -0
  210. package/skills/vibe-figma-codegen/rubrics/code-quality.md +54 -0
  211. package/skills/vibe-figma-consolidate/templates/consolidation-report.md +95 -0
  212. package/skills/vibe-figma-convert/rubrics/conversion-rules.md +83 -0
  213. package/skills/vibe-figma-convert/templates/component.md +152 -0
  214. package/skills/vibe-figma-extract/rubrics/image-rules.md +67 -0
  215. package/skills/vibe-figma-frame/rubrics/frame-selection.md +55 -0
  216. package/skills/vibe-figma-pipeline/rubrics/pipeline-stages.md +96 -0
  217. package/skills/vibe-figma-rules/rubrics/naming-conventions.md +70 -0
  218. package/skills/vibe-figma-style/rubrics/style-mapping.md +100 -0
  219. package/skills/video-production/rubrics/quality-checklist.md +58 -0
  220. package/skills/video-production/templates/production-plan.md +104 -0
@@ -0,0 +1,86 @@
1
+ # Server vs Client Component Decision Guide
2
+
3
+ ## Decision Tree
4
+
5
+ ```
6
+ Does this component need any of the following?
7
+
8
+ ├─ useState / useReducer → Client
9
+ ├─ useEffect / lifecycle hooks → Client
10
+ ├─ Browser APIs (window, document, localStorage) → Client
11
+ ├─ Event handlers (onClick, onChange, onSubmit) → Client
12
+ ├─ Third-party hooks (useRouter, useForm, etc.) → Client
13
+
14
+ └─ None of the above? → Server (default)
15
+ ```
16
+
17
+ ## Default: Server Component
18
+
19
+ Next.js App Router defaults all components to Server. Only add `"use client"` when required.
20
+
21
+ **Server components can:**
22
+ - Fetch data directly (no useEffect needed)
23
+ - Access backend resources (DB, filesystem, env secrets)
24
+ - Reduce client bundle size (zero JS shipped)
25
+ - Use `async/await` at the component level
26
+
27
+ ```tsx
28
+ // Server component — no directive needed
29
+ async function UserProfile({ id }: { id: string }) {
30
+ const user = await db.user.findUnique({ where: { id } });
31
+ return <div>{user?.name}</div>;
32
+ }
33
+ ```
34
+
35
+ ## Client Component
36
+
37
+ Add `"use client"` at the top of the file.
38
+
39
+ ```tsx
40
+ "use client";
41
+ import { useState } from "react";
42
+
43
+ export function Counter() {
44
+ const [count, setCount] = useState(0);
45
+ return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
46
+ }
47
+ ```
48
+
49
+ ## Composition Pattern: Push Client Down
50
+
51
+ Keep client boundary as low as possible. Wrap only the interactive slice, not the whole page.
52
+
53
+ ```tsx
54
+ // Bad: entire section becomes client
55
+ "use client";
56
+ async function ProductPage({ id }: { id: string }) { ... }
57
+
58
+ // Good: server fetches, client handles interaction
59
+ async function ProductPage({ id }: { id: string }) {
60
+ const product = await getProduct(id);
61
+ return (
62
+ <div>
63
+ <ProductDetails product={product} /> {/* server */}
64
+ <AddToCartButton productId={id} /> {/* client — small, isolated */}
65
+ </div>
66
+ );
67
+ }
68
+ ```
69
+
70
+ ## Gotchas
71
+
72
+ | Mistake | Effect | Fix |
73
+ |---------|--------|-----|
74
+ | Importing a Client component into a Server component that passes a non-serializable prop | Runtime error | Only pass serializable data (string, number, plain object) |
75
+ | `"use client"` on a file that only uses server features | Unnecessary client bundle | Remove directive |
76
+ | `async` component without Suspense wrapper | Blocks entire parent render | Wrap in `<Suspense fallback={...}>` |
77
+ | Calling `React.cache()` in a Client component | No effect — cache is server-only | Move data fetching to Server component |
78
+ | Secrets in Client component | Exposed to browser | Move fetch to Server component or API route |
79
+
80
+ ## Data Fetching Boundary
81
+
82
+ | Where | Pattern |
83
+ |-------|---------|
84
+ | Server component | `await fetch()` / direct DB call |
85
+ | Client component | `useEffect` + fetch, or SWR/React Query |
86
+ | Shared across server components | Wrap with `React.cache()` for per-request dedup |
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: vibe-docs
3
+ tier: standard
4
+ description: "Generate project documentation — README, architecture docs, user guide, release notes. Activates on docs, readme, documentation keywords."
5
+ triggers: [vibe.docs, docs, documentation, readme, release notes, architecture doc]
6
+ priority: 50
7
+ ---
8
+
9
+ # vibe.docs — Project Documentation Generator
10
+
11
+ Generate or update project documentation by analyzing the actual codebase.
12
+
13
+ ## Subcommands
14
+
15
+ ### `/vibe.docs readme` — README Generation
16
+
17
+ Analyze the codebase and generate a complete README.md:
18
+
19
+ 1. **Detect project nature**: Read package.json, CLAUDE.md, existing README
20
+ 2. **Extract key info**: Tech stack, installation, usage, API surface
21
+ 3. **Generate sections**:
22
+
23
+ ```markdown
24
+ # Project Name
25
+ > One-line description from package.json
26
+
27
+ ## What is this?
28
+ [2-3 sentences explaining the problem and solution]
29
+
30
+ ## Quick Start
31
+ [Installation + minimal usage example]
32
+
33
+ ## Features
34
+ [Auto-detected from codebase — exported functions, CLI commands, API endpoints]
35
+
36
+ ## Architecture
37
+ [High-level module diagram if 5+ source directories]
38
+
39
+ ## Configuration
40
+ [Detected config files and their purposes]
41
+
42
+ ## Development
43
+ [Build, test, lint commands from package.json scripts]
44
+
45
+ ## License
46
+ ```
47
+
48
+ **Analysis approach:**
49
+ ```
50
+ Read: package.json → name, description, scripts, dependencies
51
+ Glob: src/**/*.ts → module structure
52
+ Grep: pattern="export (function|class|const)" → public API surface
53
+ Grep: pattern="(app|router)\.(get|post|put|delete)" → API endpoints
54
+ Read: CLAUDE.md → project conventions
55
+ ```
56
+
57
+ ### `/vibe.docs guide` — User Guide
58
+
59
+ Generate a step-by-step user guide:
60
+
61
+ 1. **Installation**: Detect package manager, prerequisites
62
+ 2. **Configuration**: Find all config files, document each option
63
+ 3. **Usage**: Extract CLI commands or API usage patterns
64
+ 4. **FAQ**: Common issues from error handling patterns
65
+ 5. **Troubleshooting**: Known edge cases from test files
66
+
67
+ Output: `docs/GUIDE.md`
68
+
69
+ **Analysis approach:**
70
+ ```
71
+ Read: package.json → bin, scripts, peerDependencies
72
+ Glob: src/cli/commands/*.ts → CLI command list
73
+ Grep: pattern="throw new|Error\(" → common error scenarios
74
+ Grep: pattern="(process\.env|config)\.\w+" → configuration options
75
+ ```
76
+
77
+ ### `/vibe.docs arch` — Architecture Documentation
78
+
79
+ Generate architecture overview with diagrams:
80
+
81
+ 1. **Module map**: Directory structure → responsibility mapping
82
+ 2. **Dependency graph**: Import analysis → Mermaid diagram
83
+ 3. **Data flow**: Entry points → processing → output
84
+ 4. **Key decisions**: Extract from CLAUDE.md and code comments
85
+
86
+ Output: `docs/ARCHITECTURE.md`
87
+
88
+ **Mermaid diagram generation:**
89
+ ```
90
+ Glob: src/**/ → module list
91
+ Grep: pattern="^import .+ from" → dependency edges
92
+ Read: CLAUDE.md → architecture notes
93
+
94
+ Generate:
95
+ graph TD
96
+ CLI[CLI Commands] --> Core[Core Logic]
97
+ Core --> Infra[Infrastructure]
98
+ Infra --> DB[(Database)]
99
+ Infra --> API[External APIs]
100
+ ```
101
+
102
+ ### `/vibe.docs release` — Release Notes
103
+
104
+ Generate release notes from git history:
105
+
106
+ 1. **Collect**: `git log` since last tag
107
+ 2. **Classify**: feat/fix/refactor/docs/chore from commit messages
108
+ 3. **Group**: By category with breaking changes highlighted
109
+ 4. **Format**: Semantic versioning suggestion
110
+
111
+ Output: `RELEASE_NOTES.md` or append to `CHANGELOG.md`
112
+
113
+ **Output format:**
114
+ ```markdown
115
+ ## [x.y.z] - YYYY-MM-DD
116
+
117
+ ### Breaking Changes
118
+ - ...
119
+
120
+ ### Features
121
+ - feat: description (#PR)
122
+
123
+ ### Bug Fixes
124
+ - fix: description (#PR)
125
+
126
+ ### Other
127
+ - refactor/docs/chore items
128
+ ```
129
+
130
+ ## Pipeline Integration
131
+
132
+ `/vibe.docs` completes the development pipeline:
133
+
134
+ ```
135
+ /vibe.spec → Design (what to build)
136
+ /vibe.run → Implement (build it)
137
+ /vibe.trace → Verify (prove it works)
138
+ /vibe.docs → Document (explain it)
139
+ ```
140
+
141
+ ### Auto-trigger after `/vibe.trace`
142
+
143
+ When `/vibe.trace` completes with all scenarios passing, suggest:
144
+ > "All scenarios verified. Run `/vibe.docs readme` to update documentation?"
145
+
146
+ ## Guidelines
147
+
148
+ ### DO
149
+ - Read the actual codebase before generating — never guess
150
+ - Preserve existing documentation that's still accurate
151
+ - Include concrete code examples from the actual project
152
+ - Keep language consistent with project (Korean/English based on CLAUDE.md)
153
+ - Use changelog-writer agent for `/vibe.docs release`
154
+ - Use api-documenter agent for API-heavy projects
155
+ - Use diagrammer agent for `/vibe.docs arch` Mermaid generation
156
+
157
+ ### DON'T
158
+ - Don't generate placeholder text ("Lorem ipsum", "TODO: fill in")
159
+ - Don't document internal implementation details in user-facing docs
160
+ - Don't create files without reading existing ones first
161
+ - Don't assume features — verify by reading code
162
+
163
+ ## Quality Checklist
164
+
165
+ Before finalizing any document:
166
+
167
+ - [ ] All code examples are runnable (copy-paste ready)
168
+ - [ ] Installation steps tested against package.json
169
+ - [ ] Links and paths are valid
170
+ - [ ] No placeholder text remaining
171
+ - [ ] Consistent with project language (Korean/English)
@@ -0,0 +1,80 @@
1
+ # Architecture: {{PROJECT_NAME}}
2
+
3
+ > Version: {{VERSION}} | Updated: {{DATE}}
4
+
5
+ ## Overview
6
+
7
+ {{2-3 SENTENCES: WHAT THIS SYSTEM DOES AND ITS PRIMARY ARCHITECTURAL APPROACH.}}
8
+
9
+ ## System Diagram
10
+
11
+ ```mermaid
12
+ graph TD
13
+ {{ENTRY_POINT}}[{{ENTRY_LABEL}}] --> {{MODULE_A}}[{{MODULE_A_LABEL}}]
14
+ {{MODULE_A}} --> {{MODULE_B}}[{{MODULE_B_LABEL}}]
15
+ {{MODULE_A}} --> {{MODULE_C}}[{{MODULE_C_LABEL}}]
16
+ {{MODULE_B}} --> {{STORE}}[({{STORE_LABEL}})]
17
+ {{MODULE_C}} --> {{EXTERNAL}}[{{EXTERNAL_SERVICE_LABEL}}]
18
+ ```
19
+
20
+ > Replace nodes above based on actual `import` analysis. Run:
21
+ > `grep -r "^import .* from" src/ | sed 's/.*from //' | sort | uniq` to get dependency edges.
22
+
23
+ ## Module Responsibilities
24
+
25
+ | Module / Directory | Responsibility | Key Files |
26
+ |--------------------|---------------|-----------|
27
+ | `{{MODULE_1}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
28
+ | `{{MODULE_2}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
29
+ | `{{MODULE_3}}/` | {{RESPONSIBILITY}} | `{{KEY_FILE}}` |
30
+
31
+ ## Data Flow
32
+
33
+ ```
34
+ {{INPUT_SOURCE}}
35
+ ↓ {{STEP_1_DESCRIPTION}}
36
+ {{PROCESSING_MODULE}}
37
+ ↓ {{STEP_2_DESCRIPTION}}
38
+ {{OUTPUT_TARGET}}
39
+ ```
40
+
41
+ ### Key Data Entities
42
+
43
+ | Entity | Where Defined | Storage |
44
+ |--------|--------------|---------|
45
+ | `{{ENTITY_1}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
46
+ | `{{ENTITY_2}}` | `{{FILE_PATH}}` | {{DB / FILE / MEMORY}} |
47
+
48
+ ## External Dependencies
49
+
50
+ | Service | Purpose | Auth Method |
51
+ |---------|---------|-------------|
52
+ | `{{SERVICE_1}}` | {{PURPOSE}} | {{API_KEY / OAUTH / NONE}} |
53
+ | `{{SERVICE_2}}` | {{PURPOSE}} | {{AUTH_METHOD}} |
54
+
55
+ ## Key Decisions
56
+
57
+ | Decision | Chosen Approach | Alternatives Considered | Rationale |
58
+ |----------|----------------|------------------------|-----------|
59
+ | {{DECISION_1}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
60
+ | {{DECISION_2}} | {{CHOICE}} | {{ALTERNATIVES}} | {{WHY}} |
61
+
62
+ ## Constraints & Non-Goals
63
+
64
+ **Constraints:**
65
+ - {{CONSTRAINT_1}} (e.g., "Must work offline")
66
+ - {{CONSTRAINT_2}}
67
+
68
+ **Non-goals (out of scope):**
69
+ - {{NON_GOAL_1}}
70
+ - {{NON_GOAL_2}}
71
+
72
+ ## Local Development Setup
73
+
74
+ ```bash
75
+ {{SETUP_COMMANDS}}
76
+ ```
77
+
78
+ ## Further Reading
79
+
80
+ - {{INTERNAL_LINK_OR_DOC}}
@@ -0,0 +1,84 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ > {{ONE_LINE_DESCRIPTION_FROM_PACKAGE_JSON}}
4
+
5
+ ## What is this?
6
+
7
+ {{2-3 SENTENCES: THE PROBLEM THIS PROJECT SOLVES AND HOW IT SOLVES IT.}}
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ # Install
13
+ {{PACKAGE_MANAGER}} install {{PACKAGE_NAME}}
14
+
15
+ # Minimal usage example
16
+ {{USAGE_EXAMPLE}}
17
+ ```
18
+
19
+ ## Features
20
+
21
+ - **{{FEATURE_1}}** — {{BRIEF_DESCRIPTION}}
22
+ - **{{FEATURE_2}}** — {{BRIEF_DESCRIPTION}}
23
+ - **{{FEATURE_3}}** — {{BRIEF_DESCRIPTION}}
24
+
25
+ ## Architecture
26
+
27
+ > Include this section if the project has 5+ source directories.
28
+
29
+ ```
30
+ {{PROJECT_NAME}}/
31
+ ├── {{DIR_1}}/ # {{RESPONSIBILITY_1}}
32
+ ├── {{DIR_2}}/ # {{RESPONSIBILITY_2}}
33
+ └── {{DIR_3}}/ # {{RESPONSIBILITY_3}}
34
+ ```
35
+
36
+ ## Configuration
37
+
38
+ | File | Purpose |
39
+ |------|---------|
40
+ | `{{CONFIG_FILE_1}}` | {{PURPOSE}} |
41
+ | `{{CONFIG_FILE_2}}` | {{PURPOSE}} |
42
+
43
+ **Key environment variables:**
44
+
45
+ | Variable | Required | Default | Description |
46
+ |----------|----------|---------|-------------|
47
+ | `{{ENV_VAR_1}}` | Yes / No | `{{DEFAULT}}` | {{DESCRIPTION}} |
48
+
49
+ ## Development
50
+
51
+ ```bash
52
+ # Install dependencies
53
+ {{INSTALL_COMMAND}}
54
+
55
+ # Build
56
+ {{BUILD_COMMAND}}
57
+
58
+ # Test
59
+ {{TEST_COMMAND}}
60
+
61
+ # Lint
62
+ {{LINT_COMMAND}}
63
+ ```
64
+
65
+ ## API Reference
66
+
67
+ > Include if the project exposes a public API.
68
+
69
+ ### `{{FUNCTION_OR_CLASS_NAME}}`
70
+
71
+ ```typescript
72
+ {{FUNCTION_SIGNATURE}}
73
+ ```
74
+
75
+ {{DESCRIPTION}}
76
+
77
+ **Parameters:**
78
+ - `{{PARAM_1}}` — {{TYPE}}: {{DESCRIPTION}}
79
+
80
+ **Returns:** `{{RETURN_TYPE}}` — {{DESCRIPTION}}
81
+
82
+ ## License
83
+
84
+ {{LICENSE}} — see [LICENSE](./LICENSE)
@@ -0,0 +1,74 @@
1
+ # Release Notes: {{PROJECT_NAME}}
2
+
3
+ ---
4
+
5
+ ## [{{VERSION}}] — {{RELEASE_DATE}}
6
+
7
+ > {{ONE_SENTENCE_SUMMARY_OF_THIS_RELEASE}}
8
+
9
+ ### Breaking Changes
10
+
11
+ > If none, remove this section.
12
+
13
+ - **{{CHANGE_DESCRIPTION}}** — {{MIGRATION_GUIDE}}
14
+ - Before: `{{OLD_USAGE}}`
15
+ - After: `{{NEW_USAGE}}`
16
+
17
+ ### Features
18
+
19
+ - `feat`: {{FEATURE_DESCRIPTION}} ([#{{PR_NUMBER}}]({{PR_URL}}))
20
+ - `feat`: {{FEATURE_DESCRIPTION}} ([#{{PR_NUMBER}}]({{PR_URL}}))
21
+
22
+ ### Bug Fixes
23
+
24
+ - `fix`: {{BUG_DESCRIPTION}} — {{WHAT_WAS_WRONG_AND_HOW_FIXED}} ([#{{PR_NUMBER}}]({{PR_URL}}))
25
+
26
+ ### Performance
27
+
28
+ - `perf`: {{IMPROVEMENT_DESCRIPTION}} — {{BEFORE}} → {{AFTER}}
29
+
30
+ ### Other
31
+
32
+ - `refactor`: {{DESCRIPTION}}
33
+ - `docs`: {{DESCRIPTION}}
34
+ - `chore`: {{DESCRIPTION}}
35
+
36
+ ---
37
+
38
+ ## Upgrade Guide
39
+
40
+ ### From {{PREVIOUS_VERSION}} to {{VERSION}}
41
+
42
+ ```bash
43
+ {{UPGRADE_COMMAND}}
44
+ ```
45
+
46
+ **Required config changes:**
47
+ 1. {{CONFIG_CHANGE_1}}
48
+ 2. {{CONFIG_CHANGE_2}}
49
+
50
+ ---
51
+
52
+ ## [{{PREVIOUS_VERSION}}] — {{PREVIOUS_DATE}}
53
+
54
+ > Past release notes continue below in reverse chronological order.
55
+
56
+ ---
57
+
58
+ <!-- GENERATION NOTES (remove before publishing)
59
+
60
+ Run to generate draft:
61
+ git log {{PREVIOUS_TAG}}..HEAD --oneline --no-merges
62
+
63
+ Classify commits:
64
+ feat: → Features
65
+ fix: → Bug Fixes
66
+ perf: → Performance
67
+ refactor/docs/chore/test: → Other
68
+ BREAKING CHANGE in footer: → Breaking Changes
69
+
70
+ Version bump guidance:
71
+ Breaking changes → major (x.0.0)
72
+ New features → minor (0.x.0)
73
+ Bug fixes only → patch (0.0.x)
74
+ -->
@@ -0,0 +1,51 @@
1
+ # Extraction Checklist — What to Extract from Figma
2
+
3
+ ## Colors
4
+
5
+ - [ ] Background colors (`bg-[#...]`) — section, card, overlay backgrounds
6
+ - [ ] Text colors (`text-[#...]`) — heading, body, label, disabled states
7
+ - [ ] Border colors (`border-[#...]`) — dividers, input outlines
8
+ - [ ] Overlay/alpha colors (`rgba(...)`) — modals, hover states
9
+ - [ ] Gradient stops — linear/radial gradients with exact hex + stop positions
10
+ - [ ] Blend mode colors — any element using `mix-blend-*`
11
+
12
+ ## Spacing
13
+
14
+ - [ ] Section padding (`pt-[Npx]`, `pb-[Npx]`, `px-[Npx]`)
15
+ - [ ] Component gaps (`gap-[Npx]`) — flex/grid item spacing
16
+ - [ ] Inner padding (`p-[Npx]`, `px-[Npx]`) — cards, buttons
17
+ - [ ] Margin overrides (`mt-`, `mb-`, `ml-`, `mr-`)
18
+ - [ ] Absolute offsets (`top-[Npx]`, `left-[Npx]`) — positioned layers
19
+
20
+ ## Typography
21
+
22
+ - [ ] Font family — extract from `font-[family-name:var(--...)]` fallback
23
+ - [ ] Font sizes (`text-[Npx]`) — all unique sizes per role (heading, sub, body, caption)
24
+ - [ ] Font weights (`font-black/bold/semibold/medium/normal`)
25
+ - [ ] Line heights (`leading-[N]` or `leading-[Npx]`)
26
+ - [ ] Letter spacing (`tracking-[Npx]` or `tracking-[-Npx]`)
27
+ - [ ] Text alignment (`text-center`, `text-left`, `text-right`)
28
+ - [ ] Text decoration / transform if present
29
+
30
+ ## Components
31
+
32
+ - [ ] Button variants — primary, secondary, disabled; exact size + color + radius
33
+ - [ ] Card structures — border, shadow (`shadow-[...]`), border-radius
34
+ - [ ] Icon dimensions — width/height from `w-[Npx] h-[Npx]`
35
+ - [ ] Badges/tags — background color, font, padding, radius
36
+ - [ ] Input fields — border, focus ring, placeholder color
37
+ - [ ] Navigation — GNB/footer height, link styles
38
+
39
+ ## Assets
40
+
41
+ - [ ] All `const img...` URL variables in reference code — zero omissions
42
+ - [ ] Background images vs content images vs decorative images classified
43
+ - [ ] Image dimensions noted for `width`/`height` attributes
44
+ - [ ] Sprite/overflow images identified (left negative %, width >100%)
45
+
46
+ ## Tokens to Create
47
+
48
+ - [ ] Color tokens for every unique hex value used more than once
49
+ - [ ] Spacing tokens for recurring gap/padding values
50
+ - [ ] Typography tokens for each font-size role
51
+ - [ ] Breakpoint token (`$bp-pc`) from CONFIG frame
@@ -0,0 +1,96 @@
1
+ # Figma Handoff — {{FEATURE_NAME}}
2
+
3
+ **Figma File:** {{FIGMA_FILE_URL}}
4
+ **Feature Key:** {{FEATURE_KEY}} (kebab-case)
5
+ **Date:** {{DATE}}
6
+ **Stack:** {{STACK}} (e.g. Vue/Nuxt + SCSS, React/Next.js + SCSS)
7
+
8
+ ---
9
+
10
+ ## Design Specs
11
+
12
+ ### Viewport / Scale
13
+
14
+ | Breakpoint | Design Width | Target Width | Scale Factor |
15
+ |-----------|-------------|-------------|-------------|
16
+ | Mobile (base) | {{DESIGN_MOBILE_PX}}px | {{TARGET_MOBILE_PX}}px | {{SCALE_MOBILE}} |
17
+ | Desktop | {{DESIGN_PC_PX}}px | {{TARGET_PC_PX}}px | {{SCALE_PC}} |
18
+
19
+ Breakpoint threshold: `@media (min-width: {{BP_PC}}px)`
20
+
21
+ ### Color Tokens
22
+
23
+ | Token | Hex | Usage |
24
+ |-------|-----|-------|
25
+ | `$color-{{NAME}}` | `{{HEX}}` | {{USAGE}} |
26
+
27
+ ### Typography Tokens
28
+
29
+ | Token | Figma px | Scaled px | Weight | Role |
30
+ |-------|---------|----------|--------|------|
31
+ | `$text-{{ROLE}}` | {{FIGMA_PX}}px | {{SCALED_PX}}px | {{WEIGHT}} | {{ROLE}} |
32
+
33
+ ### Spacing Tokens
34
+
35
+ | Token | Figma px | Scaled px | Usage |
36
+ |-------|---------|----------|-------|
37
+ | `$space-{{NAME}}` | {{FIGMA_PX}}px | {{SCALED_PX}}px | {{USAGE}} |
38
+
39
+ ---
40
+
41
+ ## Sections
42
+
43
+ | # | Section Name | Component File | Mode | Height (design) |
44
+ |---|-------------|---------------|------|----------------|
45
+ | 1 | {{SECTION_NAME}} | `components/{{FEATURE_KEY}}/{{ComponentName}}.vue` | {{MODE}} | {{HEIGHT}}px |
46
+
47
+ **Mode key:** `normal` = external SCSS | `literal` = scoped CSS (non-standard layout)
48
+
49
+ ---
50
+
51
+ ## Asset Manifest
52
+
53
+ | Variable | Local Path | Type | Alt Text |
54
+ |----------|-----------|------|----------|
55
+ | `{{IMG_VAR}}` | `/images/{{FEATURE_KEY}}/{{FILE_NAME}}.webp` | {{bg\|content\|decorative}} | {{ALT}} |
56
+
57
+ Total assets: {{ASSET_COUNT}}
58
+
59
+ ---
60
+
61
+ ## File Structure
62
+
63
+ ```
64
+ components/{{FEATURE_KEY}}/
65
+ {{ComponentName}}.vue
66
+
67
+ public/images/{{FEATURE_KEY}}/
68
+ {{FILE_NAME}}.webp
69
+
70
+ styles/{{FEATURE_KEY}}/
71
+ index.scss
72
+ _tokens.scss
73
+ _mixins.scss
74
+ _base.scss
75
+ layout/
76
+ _{{section}}.scss
77
+ components/
78
+ _{{section}}.scss
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Verification Checklist
84
+
85
+ - [ ] No `figma.com/api` URLs in any generated file
86
+ - [ ] No `placeholder` or empty `src=""` in components
87
+ - [ ] No `<style>` blocks in components (normal mode)
88
+ - [ ] All assets downloaded and non-zero bytes
89
+ - [ ] Build passes without errors
90
+ - [ ] Screenshot comparison: P1 issues = 0
91
+
92
+ ---
93
+
94
+ ## Notes
95
+
96
+ {{NOTES}}
@@ -0,0 +1,53 @@
1
+ # Analysis Dimensions — Figma Design Analysis
2
+
3
+ > This skill is merged into vibe-figma (Phase 1: Storyboard). These dimensions guide what to extract and evaluate when reading Figma frames.
4
+
5
+ ## Layout
6
+
7
+ - [ ] Overall page structure — single column, multi-column, grid, or free-form absolute
8
+ - [ ] Section boundaries — identify where each distinct section starts/ends by visual grouping
9
+ - [ ] Container width — fixed px vs fluid (100%)
10
+ - [ ] Alignment system — centered, left-aligned, or asymmetric
11
+ - [ ] Z-layering — how many stacked layers exist (BG/content/overlay count)
12
+ - [ ] Overflow behavior — clip, hidden, visible, scroll
13
+
14
+ ## Spacing Consistency
15
+
16
+ - [ ] Gap between sections — does a single spacing value repeat, or is each unique?
17
+ - [ ] Internal component padding — consistent across card variants?
18
+ - [ ] Icon-to-text gap — uniform within a component family?
19
+ - [ ] Recurring values — list values that appear 3+ times (these become spacing tokens)
20
+ - [ ] Irregular values — flag one-off spacings that may indicate design inconsistency
21
+
22
+ ## Color Usage
23
+
24
+ - [ ] Background palette — how many distinct background colors exist?
25
+ - [ ] Text color roles — identify heading / body / label / disabled colors separately
26
+ - [ ] Accent/brand colors — primary CTA color, hover state color
27
+ - [ ] Transparency usage — rgba overlays, opacity layers
28
+ - [ ] Blend modes present — `mix-blend-lighten`, `multiply`, `hue` flag a literal-mode section
29
+ - [ ] Dark/light variants — does the design have both, requiring CSS variable tokens?
30
+
31
+ ## Typography Hierarchy
32
+
33
+ - [ ] H1 equivalent — largest display text, font-size + weight + role
34
+ - [ ] H2 / section heading — size, weight, color
35
+ - [ ] Body text — base size, line-height, color
36
+ - [ ] Caption / label text — smallest size, usage context
37
+ - [ ] Font families — how many distinct families? Any variable fonts?
38
+ - [ ] Responsive scaling — does font-size change across breakpoints?
39
+
40
+ ## Component Inventory
41
+
42
+ - [ ] Repeating UI patterns — cards, list items, tabs (candidates for `v-for`)
43
+ - [ ] State variants — default, hover, active, disabled, selected (note which states exist)
44
+ - [ ] Shared components — GNB, Footer, Popup (already in project or needs creation?)
45
+ - [ ] Interactive elements — buttons, links, inputs, toggles
46
+ - [ ] Decorative elements — particles, background shapes, overlay effects
47
+
48
+ ## Storyboard-Specific Dimensions
49
+
50
+ - [ ] Frame classification — SPEC, CONFIG, SHARED, PAGE (by name pattern)
51
+ - [ ] Interaction annotations — arrows, overlay connections, state transitions in Figma
52
+ - [ ] Section count — total PAGE frames that need components
53
+ - [ ] Tall frames (1500px+) — flag for split strategy before `get_design_context`