@su-record/vibe 2.8.24 → 2.8.26
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/dist/cli/commands/config.d.ts +17 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +207 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/index.d.ts +2 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +78 -54
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +13 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +280 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +33 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +1 -0
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +7 -7
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +18 -12
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/infra/lib/ContextCompressor.d.ts.map +1 -1
- package/dist/infra/lib/ContextCompressor.js +10 -4
- package/dist/infra/lib/ContextCompressor.js.map +1 -1
- package/dist/infra/lib/ProjectCache.d.ts +2 -2
- package/dist/infra/lib/ProjectCache.d.ts.map +1 -1
- package/dist/infra/lib/ProjectCache.js +4 -3
- package/dist/infra/lib/ProjectCache.js.map +1 -1
- package/dist/infra/lib/utils.d.ts +24 -0
- package/dist/infra/lib/utils.d.ts.map +1 -1
- package/dist/infra/lib/utils.js +41 -0
- package/dist/infra/lib/utils.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +3 -0
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +11 -1
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.test.d.ts +5 -0
- package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +1 -0
- package/dist/infra/orchestrator/SmartRouter.test.js +457 -0
- package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
- package/dist/tools/convention/analyzeComplexity.js +18 -10
- package/dist/tools/convention/analyzeComplexity.js.map +1 -1
- package/dist/tools/convention/checkCouplingCohesion.d.ts.map +1 -1
- package/dist/tools/convention/checkCouplingCohesion.js +14 -6
- package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
- package/dist/tools/semantic/findReferences.d.ts.map +1 -1
- package/dist/tools/semantic/findReferences.js +13 -13
- package/dist/tools/semantic/findReferences.js.map +1 -1
- package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
- package/dist/tools/semantic/findSymbol.js +12 -13
- package/dist/tools/semantic/findSymbol.js.map +1 -1
- package/dist/tools/semantic/lsp.d.ts.map +1 -1
- package/dist/tools/semantic/lsp.js +22 -14
- package/dist/tools/semantic/lsp.js.map +1 -1
- package/hooks/hooks.json +29 -0
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -0
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -0
- package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -0
- package/hooks/scripts/auto-commit.js +65 -0
- package/hooks/scripts/auto-format.js +64 -0
- package/hooks/scripts/auto-test.js +81 -0
- package/hooks/scripts/code-check.js +139 -0
- package/hooks/scripts/command-log.js +32 -0
- package/hooks/scripts/context-save.js +60 -6
- package/hooks/scripts/hud-status.js +32 -2
- package/hooks/scripts/llm-orchestrate.js +95 -17
- package/hooks/scripts/pr-test-gate.js +52 -0
- package/package.json +1 -1
- package/skills/agents-md/rubrics/what-to-keep.md +49 -0
- package/skills/agents-md/templates/agents-md.md +36 -0
- package/skills/arch-guard/agents/detector.md +48 -0
- package/skills/arch-guard/agents/reporter.md +48 -0
- package/skills/arch-guard/agents/rule-generator.md +49 -0
- package/skills/arch-guard/agents/violation-checker.md +51 -0
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -0
- package/skills/arch-guard/frameworks/solid.md +102 -0
- package/skills/arch-guard/scripts/check-boundaries.js +90 -0
- package/skills/arch-guard/templates/arch-rules.json +47 -0
- package/skills/arch-guard/templates/violation-report.md +53 -0
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -0
- package/skills/brand-assets/templates/brand-guide.md +161 -0
- package/skills/capability-loop/agents/capability-designer.md +61 -0
- package/skills/capability-loop/agents/failure-analyst.md +55 -0
- package/skills/capability-loop/agents/implementer.md +50 -0
- package/skills/capability-loop/agents/tester.md +53 -0
- package/skills/capability-loop/templates/capability-spec.md +118 -0
- package/skills/capability-loop/templates/failure-analysis.md +118 -0
- package/skills/characterization-test/agents/behavior-capturer.md +50 -0
- package/skills/characterization-test/agents/coverage-checker.md +54 -0
- package/skills/characterization-test/agents/reporter.md +50 -0
- package/skills/characterization-test/agents/test-writer.md +49 -0
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -0
- package/skills/characterization-test/templates/test-template.ts +101 -0
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -0
- package/skills/claude-md-guide/templates/claude-md.md +54 -0
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -0
- package/skills/commerce-patterns/templates/product-schema.md +85 -0
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -0
- package/skills/commit-push-pr/agents/message-writer.md +50 -0
- package/skills/commit-push-pr/agents/pr-writer.md +58 -0
- package/skills/commit-push-pr/agents/reviewer.md +52 -0
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -0
- package/skills/commit-push-pr/templates/pr-body.md +63 -0
- package/skills/context7-usage/rubrics/when-to-use.md +50 -0
- package/skills/create-prd/agents/edge-case-finder.md +48 -0
- package/skills/create-prd/agents/prioritizer.md +60 -0
- package/skills/create-prd/agents/requirements-writer.md +48 -0
- package/skills/create-prd/agents/researcher.md +55 -0
- package/skills/create-prd/agents/reviewer.md +54 -0
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -0
- package/skills/create-prd/frameworks/rice-scoring.md +97 -0
- package/skills/create-prd/orchestrator.md +70 -0
- package/skills/create-prd/rubrics/completeness.md +58 -0
- package/skills/create-prd/templates/prd.md +139 -0
- package/skills/design-audit/agents/a11y-auditor.md +43 -0
- package/skills/design-audit/agents/performance-auditor.md +46 -0
- package/skills/design-audit/agents/responsive-auditor.md +46 -0
- package/skills/design-audit/agents/scorer.md +47 -0
- package/skills/design-audit/agents/slop-detector.md +47 -0
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -0
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -0
- package/skills/design-audit/orchestrator.md +64 -0
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -0
- package/skills/design-audit/rubrics/scoring.md +63 -0
- package/skills/design-audit/templates/report.md +88 -0
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -0
- package/skills/design-critique/templates/critique-report.md +86 -0
- package/skills/design-distill/templates/design-system.md +132 -0
- package/skills/design-normalize/rubrics/token-naming.md +117 -0
- package/skills/design-normalize/templates/token-audit.md +89 -0
- package/skills/design-polish/rubrics/polish-checklist.md +68 -0
- package/skills/design-polish/templates/polish-report.md +64 -0
- package/skills/design-teach/rubrics/brand-personality.md +73 -0
- package/skills/design-teach/templates/design-context.json +36 -0
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -0
- package/skills/event-comms/templates/email-invite.md +99 -0
- package/skills/event-comms/templates/sns-post.md +133 -0
- package/skills/event-ops/rubrics/contingency.md +85 -0
- package/skills/event-ops/templates/d-day-checklist.md +65 -0
- package/skills/event-planning/rubrics/timeline.md +70 -0
- package/skills/event-planning/templates/event-plan.md +91 -0
- package/skills/exec-plan/agents/decomposer.md +47 -0
- package/skills/exec-plan/agents/dependency-mapper.md +44 -0
- package/skills/exec-plan/agents/estimator.md +43 -0
- package/skills/exec-plan/agents/validator.md +55 -0
- package/skills/exec-plan/orchestrator.md +70 -0
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -0
- package/skills/exec-plan/templates/plan.md +147 -0
- package/skills/git-worktree/rubrics/when-to-use.md +55 -0
- package/skills/handoff/agents/context-summarizer.md +51 -0
- package/skills/handoff/agents/document-writer.md +63 -0
- package/skills/handoff/agents/state-collector.md +53 -0
- package/skills/handoff/agents/verifier.md +48 -0
- package/skills/handoff/rubrics/completeness.md +62 -0
- package/skills/handoff/templates/handoff.md +107 -0
- package/skills/parallel-research/agents/best-practices.md +43 -0
- package/skills/parallel-research/agents/codebase-patterns.md +46 -0
- package/skills/parallel-research/agents/framework-docs.md +45 -0
- package/skills/parallel-research/agents/security-advisory.md +46 -0
- package/skills/parallel-research/agents/synthesizer.md +52 -0
- package/skills/parallel-research/experts/best-practices.md +50 -0
- package/skills/parallel-research/experts/codebase-patterns.md +70 -0
- package/skills/parallel-research/experts/framework-docs.md +65 -0
- package/skills/parallel-research/experts/security-advisory.md +69 -0
- package/skills/parallel-research/orchestrator.md +65 -0
- package/skills/parallel-research/templates/synthesis.md +101 -0
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -0
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -0
- package/skills/priority-todos/rubrics/prioritization.md +70 -0
- package/skills/priority-todos/templates/todo-board.md +59 -0
- package/skills/seo-checklist/frameworks/structured-data.md +153 -0
- package/skills/seo-checklist/rubrics/content-seo.md +42 -0
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -0
- package/skills/techdebt/agents/analyzer.md +50 -0
- package/skills/techdebt/agents/fixer.md +41 -0
- package/skills/techdebt/agents/reviewer.md +47 -0
- package/skills/techdebt/agents/scanner.md +44 -0
- package/skills/techdebt/orchestrator.md +70 -0
- package/skills/techdebt/rubrics/severity.md +51 -0
- package/skills/techdebt/scripts/scan.js +90 -0
- package/skills/techdebt/templates/report.md +86 -0
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -0
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -0
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -0
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -0
- package/skills/user-personas/rubrics/research-methods.md +56 -0
- package/skills/user-personas/templates/persona.md +89 -0
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -0
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -0
- package/skills/vibe-docs/SKILL.md +171 -0
- package/skills/vibe-docs/templates/architecture.md +80 -0
- package/skills/vibe-docs/templates/readme.md +84 -0
- package/skills/vibe-docs/templates/release-notes.md +74 -0
- package/skills/vibe-figma/SKILL.md +122 -206
- package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -0
- package/skills/vibe-figma/templates/figma-handoff.md +96 -0
- package/skills/vibe-figma-analyze/rubrics/analysis-dimensions.md +53 -0
- package/skills/vibe-figma-codegen/rubrics/code-quality.md +54 -0
- package/skills/vibe-figma-consolidate/templates/consolidation-report.md +95 -0
- package/skills/vibe-figma-convert/SKILL.md +13 -175
- package/skills/vibe-figma-convert/rubrics/conversion-rules.md +83 -0
- package/skills/vibe-figma-convert/templates/component.md +152 -0
- package/skills/vibe-figma-extract/rubrics/image-rules.md +67 -0
- package/skills/vibe-figma-frame/rubrics/frame-selection.md +55 -0
- package/skills/vibe-figma-pipeline/rubrics/pipeline-stages.md +96 -0
- package/skills/vibe-figma-rules/rubrics/naming-conventions.md +70 -0
- package/skills/vibe-figma-style/rubrics/style-mapping.md +100 -0
- package/skills/video-production/rubrics/quality-checklist.md +58 -0
- 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
|
+
-->
|