@su-record/vibe 2.0.11 → 2.2.1

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 (60) hide show
  1. package/.claude/settings.json +1 -1
  2. package/.claude/settings.local.json +5 -1
  3. package/{.vibe → .claude/vibe}/rules/quality/bdd-contract-testing.md +1 -1
  4. package/{.vibe → .claude/vibe}/setup.sh +1 -1
  5. package/CLAUDE.md +16 -6
  6. package/README.md +33 -15
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +100 -56
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/tools/reasoning/applyReasoningFramework.js +1 -1
  11. package/package.json +1 -2
  12. package/templates/feature-template.md +1 -1
  13. package/.claude/agents/explorer.md +0 -48
  14. package/.claude/agents/implementer.md +0 -53
  15. package/.claude/agents/research/best-practices-agent.md +0 -139
  16. package/.claude/agents/research/codebase-patterns-agent.md +0 -147
  17. package/.claude/agents/research/framework-docs-agent.md +0 -181
  18. package/.claude/agents/research/security-advisory-agent.md +0 -167
  19. package/.claude/agents/review/architecture-reviewer.md +0 -107
  20. package/.claude/agents/review/complexity-reviewer.md +0 -116
  21. package/.claude/agents/review/data-integrity-reviewer.md +0 -88
  22. package/.claude/agents/review/git-history-reviewer.md +0 -103
  23. package/.claude/agents/review/performance-reviewer.md +0 -86
  24. package/.claude/agents/review/python-reviewer.md +0 -152
  25. package/.claude/agents/review/rails-reviewer.md +0 -139
  26. package/.claude/agents/review/react-reviewer.md +0 -144
  27. package/.claude/agents/review/security-reviewer.md +0 -80
  28. package/.claude/agents/review/simplicity-reviewer.md +0 -140
  29. package/.claude/agents/review/test-coverage-reviewer.md +0 -116
  30. package/.claude/agents/review/typescript-reviewer.md +0 -127
  31. package/.claude/agents/searcher.md +0 -54
  32. package/.claude/agents/simplifier.md +0 -119
  33. package/.claude/agents/tester.md +0 -49
  34. package/.claude/commands/vibe.analyze.md +0 -239
  35. package/.claude/commands/vibe.compound.md +0 -261
  36. package/.claude/commands/vibe.continue.md +0 -88
  37. package/.claude/commands/vibe.diagram.md +0 -178
  38. package/.claude/commands/vibe.e2e.md +0 -266
  39. package/.claude/commands/vibe.reason.md +0 -306
  40. package/.claude/commands/vibe.review.md +0 -324
  41. package/.claude/commands/vibe.run.md +0 -760
  42. package/.claude/commands/vibe.spec.md +0 -383
  43. package/.claude/commands/vibe.tool.md +0 -153
  44. package/.claude/commands/vibe.ui.md +0 -137
  45. package/.claude/commands/vibe.verify.md +0 -238
  46. package/.claude/skills/git-worktree.md +0 -178
  47. package/.claude/skills/priority-todos.md +0 -236
  48. /package/{.vibe → .claude/vibe}/config.json +0 -0
  49. /package/{.vibe → .claude/vibe}/constitution.md +0 -0
  50. /package/{.vibe → .claude/vibe}/rules/core/communication-guide.md +0 -0
  51. /package/{.vibe → .claude/vibe}/rules/core/development-philosophy.md +0 -0
  52. /package/{.vibe → .claude/vibe}/rules/core/quick-start.md +0 -0
  53. /package/{.vibe → .claude/vibe}/rules/quality/checklist.md +0 -0
  54. /package/{.vibe → .claude/vibe}/rules/quality/testing-strategy.md +0 -0
  55. /package/{.vibe → .claude/vibe}/rules/standards/anti-patterns.md +0 -0
  56. /package/{.vibe → .claude/vibe}/rules/standards/code-structure.md +0 -0
  57. /package/{.vibe → .claude/vibe}/rules/standards/complexity-metrics.md +0 -0
  58. /package/{.vibe → .claude/vibe}/rules/standards/naming-conventions.md +0 -0
  59. /package/{.vibe → .claude/vibe}/rules/tools/mcp-hi-ai-guide.md +0 -0
  60. /package/{.vibe → .claude/vibe}/rules/tools/mcp-workflow.md +0 -0
@@ -1,383 +0,0 @@
1
- ---
2
- description: Create SPEC document with Specification Agent
3
- argument-hint: "feature name"
4
- ---
5
-
6
- # /vibe.spec
7
-
8
- Create a SPEC document (Specification Agent).
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.spec "feature-name"
14
- ```
15
-
16
- ## Rules Reference
17
-
18
- **Must follow `.vibe/rules/`:**
19
- - `core/development-philosophy.md` - Surgical precision, simplicity
20
- - `core/quick-start.md` - Korean first, DRY, SRP
21
- - `core/communication-guide.md` - Communication principles
22
-
23
- ## Description
24
-
25
- Collect requirements through conversation with the user and create an **AI-executable PTCF structured SPEC document**.
26
-
27
- > **PTCF**: Persona, Task, Context, Format - Google Gemini prompt optimization framework
28
-
29
- ## External LLM Integration (Optional)
30
-
31
- When external LLMs are enabled in `.vibe/config.json`, automatically utilize during SPEC creation:
32
-
33
- ```
34
- /vibe.spec "complex feature"
35
-
36
- [Claude Opus] Create SPEC draft
37
-
38
- [GPT enabled?] → Cross-review design via MCP(vibe-gpt)
39
-
40
- [Gemini enabled?] → UI/UX consultation via MCP(vibe-gemini)
41
-
42
- [Claude] Finalize SPEC
43
- ```
44
-
45
- | External LLM | Role | When Used |
46
- |--------------|------|-----------|
47
- | GPT 5.2 | Architecture/design review | After SPEC draft completion |
48
- | Gemini 3 | UI/UX consultation | During design reference discussion |
49
-
50
- **Activation:**
51
- ```bash
52
- vibe gpt <api-key> # Enable GPT
53
- vibe gemini <api-key> # Enable Gemini
54
- vibe status # Check current settings
55
- ```
56
-
57
- ## Process
58
-
59
- ### 1. Project Analysis
60
-
61
- **Existing project** (`vibe init`):
62
- - Source code analysis: `package.json`, `pyproject.toml`, `pubspec.yaml`, `go.mod`, etc.
63
- - Reference `CLAUDE.md` file (tech stack)
64
- - Infer framework from file structure
65
-
66
- **New project** (`vibe init <project-name>`):
67
- - Suggest tech stack (2-3 options)
68
-
69
- ### 2. Collect Requirements via Conversation
70
-
71
- **Principles:**
72
- - Ask **one question at a time**
73
- - Present options **with numbers** + "Feel free to describe in your own words"
74
- - **Natural conversation** without fixed order
75
-
76
- **Required confirmations:**
77
- - Purpose (Why): Why is it needed?
78
- - User (Who): Who will use it?
79
- - Feature scope (What): What features are needed?
80
- - Tech stack: Confirm existing stack or suggest new
81
- - Design reference: UI/UX to reference
82
-
83
- ### 3. Parallel Research (v2.1.0) - Run AFTER requirements confirmed
84
-
85
- **⚠️ IMPORTANT: Research starts ONLY after requirements are confirmed via Q&A**
86
-
87
- Requirements confirmed when:
88
- - Feature type decided (e.g., "passkey authentication")
89
- - Tech stack confirmed (e.g., "React + Supabase")
90
- - Core requirements collected
91
-
92
- ```
93
- ┌─────────────────────────────────────────────────────────────────┐
94
- │ 🔍 PARALLEL RESEARCH AGENTS (After requirements confirmed) │
95
- ├─────────────────────────────────────────────────────────────────┤
96
- │ │
97
- │ Task 1: best-practices-agent │
98
- │ └── Best practices for [confirmed feature] + [confirmed stack] │
99
- │ │
100
- │ Task 2: framework-docs-agent │
101
- │ └── Latest docs for [confirmed stack] (via context7) │
102
- │ │
103
- │ Task 3: codebase-patterns-agent │
104
- │ └── Analyze similar patterns in existing codebase │
105
- │ │
106
- │ Task 4: security-advisory-agent │
107
- │ └── Security advisories for [confirmed feature] │
108
- │ │
109
- └─────────────────────────────────────────────────────────────────┘
110
- ```
111
-
112
- **Execution (ALL in parallel):**
113
- ```
114
- # Generate specific prompts based on confirmed requirements
115
- Task(model: "haiku", subagent_type: "Explore",
116
- prompt: "Research best practices for [passkey auth] with [React + Supabase]")
117
- Task(model: "haiku", subagent_type: "Explore",
118
- prompt: "Get Supabase Auth + WebAuthn docs from context7")
119
- Task(model: "haiku", subagent_type: "Explore",
120
- prompt: "Find existing auth patterns in this codebase")
121
- Task(model: "haiku", subagent_type: "Explore",
122
- prompt: "Check OWASP WebAuthn security guidelines")
123
- ```
124
-
125
- **Research results are reflected in SPEC's Context section.**
126
-
127
- ### 4. Write SPEC Document (PTCF Structure)
128
-
129
- Create `.vibe/specs/{feature-name}.md`:
130
-
131
- ```markdown
132
- # SPEC: {feature-name}
133
-
134
- ## Persona
135
- <role>
136
- Define AI role and expertise for implementation
137
- - Senior developer on the project
138
- - Follow existing code patterns
139
- - Write testable code
140
- </role>
141
-
142
- ## Context
143
- <context>
144
- ### Background
145
- - Why this feature is needed
146
- - Who will use it
147
-
148
- ### Tech Stack
149
- - Backend: {technology}
150
- - Frontend: {technology}
151
- - Database: {technology}
152
-
153
- ### Related Code
154
- - `src/xxx/`: Existing implementation to reference
155
- - `src/yyy/`: Files to modify
156
-
157
- ### Design Reference
158
- - {Reference app/service}
159
- </context>
160
-
161
- ## Task
162
- <task>
163
- ### Phase 1: {phase-name}
164
- 1. [ ] {specific task}
165
- - File: `path/to/file`
166
- - Verify: `command`
167
- 2. [ ] {specific task}
168
-
169
- ### Phase 2: {phase-name}
170
- 1. [ ] {specific task}
171
- 2. [ ] {specific task}
172
-
173
- ### Phase 3: Testing and Verification
174
- 1. [ ] Unit Tests
175
- 2. [ ] Integration Tests
176
- </task>
177
-
178
- ## Constraints
179
- <constraints>
180
- - Follow existing code patterns
181
- - Localize error messages
182
- - Separate configuration via environment variables
183
- - {other constraints}
184
- </constraints>
185
-
186
- ## Output Format
187
- <output_format>
188
- ### Files to Create
189
- - `path/to/new/file.ts`
190
- - `path/to/new/file.test.ts`
191
-
192
- ### Files to Modify
193
- - `path/to/existing/file.ts`
194
-
195
- ### Verification Commands
196
- - `npm test`
197
- - `npm run build`
198
- </output_format>
199
-
200
- ## Acceptance Criteria
201
- <acceptance>
202
- - [ ] {verifiable criterion 1}
203
- - [ ] {verifiable criterion 2}
204
- - [ ] All tests pass
205
- - [ ] Build succeeds
206
- </acceptance>
207
- ```
208
-
209
- ### 5. Create Feature File (BDD) - Required
210
-
211
- **Must** create `.vibe/features/{feature-name}.feature` file.
212
-
213
- **Creation rules:**
214
- 1. Convert each SPEC Acceptance Criteria → one Scenario
215
- 2. Include Happy Path (normal case) + Edge Case (exception case)
216
- 3. Follow Given-When-Then format
217
-
218
- **Feature structure:**
219
- ```markdown
220
- # Feature: {feature-name}
221
-
222
- **SPEC**: `.vibe/specs/{feature-name}.md`
223
-
224
- ## User Story
225
- **As a** {user}
226
- **I want** {feature}
227
- **So that** {value}
228
-
229
- ## Scenarios
230
-
231
- ### Scenario 1: {Happy Path}
232
- \`\`\`gherkin
233
- Scenario: {title}
234
- Given {precondition}
235
- When {action}
236
- Then {result}
237
- \`\`\`
238
- **Verification**: SPEC AC #1
239
-
240
- ### Scenario 2: {Edge Case}
241
- ...
242
-
243
- ## Coverage
244
- | Scenario | SPEC AC | Status |
245
- |----------|---------|--------|
246
- | 1 | AC-1 | ⬜ |
247
- ```
248
-
249
- ### 6. Ambiguity Scan - Required
250
-
251
- After creating SPEC draft, **must perform systematic ambiguity check**.
252
-
253
- **Check categories:**
254
-
255
- | Category | Check Items |
256
- |----------|-------------|
257
- | **Functional Scope** | Missing features, unclear behavior definitions |
258
- | **Data Model** | Undefined entities, unclear relationships |
259
- | **Non-Functional** | Missing performance requirements, security considerations |
260
- | **Edge Cases** | Boundary conditions, error handling scenarios |
261
- | **Integration Points** | External system integration, API contracts |
262
-
263
- **Check process:**
264
-
265
- ```
266
- 1. Create SPEC draft
267
-
268
- 2. Scan by category for ambiguity
269
-
270
- 3. Present list of found ambiguities
271
-
272
- 4. Request user clarification
273
-
274
- 5. Refine SPEC
275
-
276
- 6. Re-check (until 0 ambiguities)
277
- ```
278
-
279
- **Ambiguity output format:**
280
-
281
- ```markdown
282
- ## 🔍 Ambiguity Scan Results
283
-
284
- ### Functional Scope
285
- - ⚠️ "Login failure behavior" not defined
286
- - ⚠️ "Session expiration handling" unclear
287
-
288
- ### Edge Cases
289
- - ⚠️ Concurrent login permission undefined
290
- - ⚠️ No password retry limit specified
291
-
292
- Please clarify the above items.
293
- ```
294
-
295
- ### 7. Quality Validation
296
-
297
- Self-evaluate against `.vibe/rules/quality/checklist.md` (0-100 score)
298
-
299
- ## Output
300
-
301
- - `.vibe/specs/{feature-name}.md` - PTCF structured SPEC
302
- - `.vibe/features/{feature-name}.feature` - BDD Feature file
303
- - Ambiguity scan results (0 ambiguities confirmed)
304
- - Quality score and improvement suggestions
305
-
306
- ## Example
307
-
308
- ```
309
- User: /vibe.spec "brick-game"
310
-
311
- Claude:
312
- You're making a brick game! What style are you thinking of?
313
-
314
- 1. Classic Breakout style
315
- 2. Arkanoid (with power-up items)
316
- 3. Custom style with special gameplay
317
-
318
- Feel free to describe in your own words.
319
-
320
- User: 1
321
-
322
- Claude: What platform will it run on?
323
-
324
- 1. Web (browser)
325
- 2. Mobile (iOS/Android)
326
- 3. Desktop
327
-
328
- User: 1
329
-
330
- Claude:
331
- Here are tech stack suggestions for web game development:
332
-
333
- 1. **Phaser.js** (Recommended) - Game framework with built-in physics engine
334
- 2. **Canvas + JavaScript** - Lightweight with fine control
335
- 3. **PixiJS + Matter.js** - High-performance rendering
336
-
337
- User: 1
338
-
339
- Claude: What design style?
340
-
341
- 1. Retro pixel (Atari Breakout)
342
- 2. Neon graphics (Arkanoid)
343
- 3. Modern 3D effects
344
-
345
- User: 2
346
-
347
- [Conversation continues...]
348
-
349
- Claude: SPEC draft created. Running ambiguity scan.
350
-
351
- ## 🔍 Ambiguity Scan Results
352
-
353
- ### Functional Scope
354
- - ⚠️ Game over condition not defined (ball drop vs lives system)
355
- - ⚠️ Stage clear condition unclear
356
-
357
- ### Edge Cases
358
- - ⚠️ Ball reflection angle when hitting paddle edge
359
- - ⚠️ Multiple brick collision handling
360
-
361
- Please clarify the above items.
362
-
363
- User: 3 lives, clear when all bricks destroyed, edge reflects at 45 degrees
364
-
365
- Claude: Thank you. SPEC has been refined.
366
-
367
- 🔍 Re-check result: 0 ambiguities
368
-
369
- ✅ SPEC document complete!
370
- 📄 .vibe/specs/brick-game.md (PTCF structure)
371
- 📄 .vibe/features/brick-game.feature
372
- 📊 Quality score: 92/100 (A)
373
- ```
374
-
375
- ## Next Step
376
-
377
- ```
378
- /vibe.run "brick-game"
379
- ```
380
-
381
- ---
382
-
383
- ARGUMENTS: $ARGUMENTS
@@ -1,153 +0,0 @@
1
- ---
2
- description: Natural language tool invocation
3
- argument-hint: "자연어로 원하는 기능 설명"
4
- ---
5
-
6
- # /vibe.tool
7
-
8
- 자연어로 vibe 도구를 호출합니다. 35개 이상의 도구를 하나의 명령어로 사용할 수 있습니다.
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.tool "원하는 기능을 자연어로 설명"
14
- ```
15
-
16
- ## Examples
17
-
18
- ```
19
- /vibe.tool "이 프로젝트 스택을 기억해줘: Next.js 14, TypeScript, Tailwind"
20
- /vibe.tool "저장된 메모리 목록 보여줘"
21
- /vibe.tool "auth 관련 메모리 검색해줘"
22
- /vibe.tool "이 코드 복잡도 분석해줘"
23
- /vibe.tool "UserService 클래스가 어디서 사용되는지 찾아줘"
24
- /vibe.tool "로그인 기능 PRD 작성해줘"
25
- ```
26
-
27
- ---
28
-
29
- ## Tool Mapping Table
30
-
31
- 아래 표를 참고하여 사용자 요청에 가장 적합한 도구를 선택하고 실행하세요.
32
-
33
- ### Memory (메모리 관리)
34
-
35
- | 키워드 | 함수 | 설명 |
36
- |--------|------|------|
37
- | 기억해, save, remember, 저장 | `saveMemory({ key, value, category, projectPath })` | 메모리 저장 |
38
- | 떠올려, recall, 뭐였지 | `recallMemory({ key, projectPath })` | 메모리 조회 |
39
- | 목록, list, 뭐 있어 | `listMemories({ category, limit, projectPath })` | 메모리 목록 |
40
- | 삭제, delete, 지워 | `deleteMemory({ key, projectPath })` | 메모리 삭제 |
41
- | 수정, update, 바꿔 | `updateMemory({ key, value, append, projectPath })` | 메모리 수정 |
42
- | 찾아, search, 검색 | `searchMemories({ query, category, projectPath })` | 메모리 검색 |
43
- | 연결, link, 관계 | `linkMemories({ sourceKey, targetKey, relationType, strength, projectPath })` | 메모리 연결 |
44
- | 그래프, graph, 관계도 | `getMemoryGraph({ key, depth, format, projectPath })` | 지식 그래프 |
45
- | 타임라인, timeline, 히스토리 | `createMemoryTimeline({ startDate, endDate, groupBy, projectPath })` | 시간순 메모리 |
46
- | 고급검색, advanced | `searchMemoriesAdvanced({ query, strategy, limit, projectPath })` | 고급 검색 |
47
- | 세션, session, 컨텍스트 | `startSession({ greeting, loadMemory, loadGuides, projectPath })` | 세션 시작 |
48
- | 저장해둬, auto-save | `autoSaveContext({ urgency, contextType, summary, projectPath })` | 컨텍스트 자동 저장 |
49
- | 복원, restore | `restoreSessionContext({ sessionId, restoreLevel, projectPath })` | 세션 복원 |
50
- | 우선순위, priority | `prioritizeMemory({ currentTask, criticalDecisions, projectPath })` | 우선순위 정리 |
51
-
52
- ### Semantic (코드 분석)
53
-
54
- | 키워드 | 함수 | 설명 |
55
- |--------|------|------|
56
- | 심볼, symbol, 정의 찾기 | `findSymbol({ symbolName, projectPath, symbolType })` | 심볼 정의 찾기 |
57
- | 참조, references, 어디서 쓰여 | `findReferences({ symbolName, projectPath, filePath })` | 참조 찾기 |
58
- | 의존성, dependencies, 그래프 | `analyzeDependencyGraph({ projectPath, entryPoint, depth })` | 의존성 분석 |
59
-
60
- ### Convention (코드 품질)
61
-
62
- | 키워드 | 함수 | 설명 |
63
- |--------|------|------|
64
- | 복잡도, complexity | `analyzeComplexity({ code, metrics })` | 복잡도 분석 |
65
- | 품질, quality, 검증 | `validateCodeQuality({ code, type, metrics, strict })` | 코드 품질 검증 |
66
- | 결합도, coupling, 응집도 | `checkCouplingCohesion({ code, type, checkDependencies })` | 결합도/응집도 |
67
- | 개선, improve, 리팩토링 | `suggestImprovements({ code, focus, priority })` | 개선 제안 |
68
- | 규칙, rules, 표준 | `applyQualityRules({ scope, language })` | 품질 규칙 적용 |
69
- | 가이드, guide, 컨벤션 | `getCodingGuide({ name, category })` | 코딩 가이드 |
70
-
71
- ### Thinking (사고 도구)
72
-
73
- | 키워드 | 함수 | 설명 |
74
- |--------|------|------|
75
- | 생각, thinking, 연쇄 | `createThinkingChain({ topic, steps })` | 사고 체인 |
76
- | 문제분석, analyze problem | `analyzeProblem({ problem, domain })` | 문제 분석 |
77
- | 단계별, step by step | `stepByStepAnalysis({ task, detailLevel, context })` | 단계별 분석 |
78
- | 계획, plan, 정리 | `formatAsPlan({ content, includeCheckboxes, priority })` | 계획 포맷팅 |
79
- | 분해, break down | `breakDownProblem({ problem, approach, maxDepth })` | 문제 분해 |
80
- | 추론, reason, 생각해봐 | `thinkAloudProcess({ scenario, perspective, verbosity })` | 추론 프로세스 |
81
-
82
- ### Planning (프로젝트 계획)
83
-
84
- | 키워드 | 함수 | 설명 |
85
- |--------|------|------|
86
- | PRD, 요구사항 문서 | `generatePrd({ productName, productVision, targetAudience })` | PRD 생성 |
87
- | 사용자 스토리, user story | `createUserStories({ features, userTypes, includeAcceptanceCriteria })` | 사용자 스토리 |
88
- | 요구사항 분석 | `analyzeRequirements({ requirements, analysisMethod, stakeholders })` | 요구사항 분석 |
89
- | 로드맵, roadmap | `featureRoadmap({ projectName, features, timeframe, teamSize })` | 로드맵 생성 |
90
-
91
- ### Prompt (프롬프트 엔지니어링)
92
-
93
- | 키워드 | 함수 | 설명 |
94
- |--------|------|------|
95
- | 프롬프트 개선 | `enhancePrompt({ prompt, context, enhancement_type })` | 프롬프트 개선 |
96
- | 프롬프트 분석 | `analyzePrompt({ prompt, criteria })` | 프롬프트 분석 |
97
-
98
- ### UI (UI 도구)
99
-
100
- | 키워드 | 함수 | 설명 |
101
- |--------|------|------|
102
- | UI 미리보기, ASCII | `previewUiAscii({ page_name, components, layout_type })` | UI 프리뷰 |
103
-
104
- ### Time (시간)
105
-
106
- | 키워드 | 함수 | 설명 |
107
- |--------|------|------|
108
- | 시간, time, 몇시 | `getCurrentTime({ format, timezone })` | 현재 시간 |
109
-
110
- ---
111
-
112
- ## Process
113
-
114
- 1. 사용자 입력을 분석하여 위 매핑 테이블에서 적합한 도구 선택
115
- 2. 필요한 파라미터 추출 (자연어에서)
116
- 3. projectPath는 현재 작업 디렉토리(pwd) 사용
117
- 4. 도구 실행 및 결과 반환
118
-
119
- ## Example Execution
120
-
121
- **입력**: `/vibe.tool "프로젝트 스택 기억해: Next.js, TypeScript"`
122
-
123
- **실행**:
124
- ```typescript
125
- saveMemory({
126
- key: "project-stack",
127
- value: "Next.js, TypeScript",
128
- category: "project",
129
- projectPath: process.cwd()
130
- })
131
- ```
132
-
133
- **입력**: `/vibe.tool "UserService가 어디서 참조되는지 찾아줘"`
134
-
135
- **실행**:
136
- ```typescript
137
- findReferences({
138
- symbolName: "UserService",
139
- projectPath: process.cwd()
140
- })
141
- ```
142
-
143
- ---
144
-
145
- ## Important Notes
146
-
147
- - 모든 메모리 관련 도구는 `projectPath`를 현재 디렉토리로 설정하여 프로젝트별 메모리 격리
148
- - 키워드 매칭이 애매한 경우, 가장 연관성 높은 도구 선택
149
- - 여러 도구가 필요한 경우 순차 실행
150
-
151
- ---
152
-
153
- ARGUMENTS: $ARGUMENTS
@@ -1,137 +0,0 @@
1
- ---
2
- description: Preview UI with ASCII art
3
- argument-hint: "UI description"
4
- ---
5
-
6
- # /vibe.ui
7
-
8
- Preview UI with ASCII art.
9
-
10
- ## Usage
11
-
12
- ```
13
- /vibe.ui "login page"
14
- /vibe.ui "dashboard" --layout grid
15
- ```
16
-
17
- ## Process
18
-
19
- ### 1. Analyze UI Description
20
-
21
- Analyze user's requested UI description:
22
- - Page/component name
23
- - Required UI elements (buttons, inputs, cards, etc.)
24
- - Layout structure (header-footer, sidebar, grid, etc.)
25
-
26
- ### 2. Use MCP Tool
27
-
28
- Use `mcp__su-record-hi-ai__preview_ui_ascii` tool to generate ASCII art:
29
-
30
- ```javascript
31
- {
32
- page_name: "Login Page",
33
- layout_type: "centered",
34
- components: [
35
- { type: "header", label: "Welcome", position: "top" },
36
- { type: "input", label: "Email", position: "center" },
37
- { type: "input", label: "Password", position: "center" },
38
- { type: "button", label: "Login", position: "center" }
39
- ]
40
- }
41
- ```
42
-
43
- ### 3. Output ASCII Art
44
-
45
- Output generated ASCII art:
46
-
47
- ```
48
- ┌─────────────────────────────────────────┐
49
- │ Welcome │
50
- ├─────────────────────────────────────────┤
51
- │ │
52
- │ ┌─────────────────────┐ │
53
- │ Email: │ │ │
54
- │ └─────────────────────┘ │
55
- │ │
56
- │ ┌─────────────────────┐ │
57
- │ Pass: │ │ │
58
- │ └─────────────────────┘ │
59
- │ │
60
- │ ┌─────────────────────┐ │
61
- │ │ Login │ │
62
- │ └─────────────────────┘ │
63
- │ │
64
- └─────────────────────────────────────────┘
65
- ```
66
-
67
- ### 4. Generate Component List
68
-
69
- Suggest list of components needed for UI:
70
-
71
- **Required Components:**
72
- - `Header.tsx` - Header ("Welcome")
73
- - `LoginForm.tsx` - Form container
74
- - `Input.tsx` - Reusable input field
75
- - `Button.tsx` - Login button
76
-
77
- **Expected File Structure:**
78
- ```
79
- src/
80
- ├── components/
81
- │ ├── common/
82
- │ │ ├── Input.tsx
83
- │ │ └── Button.tsx
84
- │ └── auth/
85
- │ ├── Header.tsx
86
- │ └── LoginForm.tsx
87
- └── pages/
88
- └── LoginPage.tsx
89
- ```
90
-
91
- ## Example
92
-
93
- ```
94
- User: /vibe.ui "Dashboard page - header, sidebar, main content (3 cards), footer"
95
-
96
- Claude: Generating dashboard UI preview...
97
-
98
- ┌────────────────────────────────────────────────────────┐
99
- │ [Logo] Dashboard [User] [Logout] │
100
- ├────────┬───────────────────────────────────────────────┤
101
- │ │ │
102
- │ Home │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
103
- │ Stats │ │ Card 1 │ │ Card 2 │ │ Card 3 │ │
104
- │ Users │ │ │ │ │ │ │ │
105
- │ Settings│ │ 100 │ │ 200 │ │ 50 │ │
106
- │ │ └──────────┘ └──────────┘ └──────────┘ │
107
- │ │ │
108
- │ │ │
109
- ├────────┴───────────────────────────────────────────────┤
110
- │ © 2025 Company Privacy | Terms │
111
- └────────────────────────────────────────────────────────┘
112
-
113
- **Required Components:**
114
- 1. Header (logo, user menu)
115
- 2. Sidebar (navigation)
116
- 3. StatsCard (reusable card)
117
- 4. Footer (copyright, links)
118
- 5. DashboardLayout (overall layout)
119
-
120
- **Layout Structure:**
121
- - Layout: sidebar (fixed left)
122
- - Main: grid (3 columns)
123
- - Responsive: Changes to 1 column on mobile
124
-
125
- Next step:
126
- vibe spec "dashboard page"
127
- ```
128
-
129
- ## Notes
130
-
131
- - For complex UI, request in multiple parts
132
- - Layout options: `sidebar`, `header-footer`, `grid`, `centered`, `split`
133
- - ASCII art is for quick visualization before actual implementation
134
-
135
- ---
136
-
137
- ARGUMENTS: $ARGUMENTS