@su-record/vibe 0.3.0 → 0.4.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.
- package/.claude/agents/simplifier.md +120 -0
- package/.claude/commands/vibe.run.md +133 -113
- package/.claude/commands/vibe.spec.md +143 -218
- package/.claude/commands/vibe.verify.md +7 -0
- package/.claude/settings.local.json +22 -1
- package/CLAUDE.md +41 -0
- package/README.md +181 -443
- package/bin/vibe +183 -152
- package/package.json +3 -6
- package/templates/hooks-template.json +26 -0
- package/.claude/commands/vibe.plan.md +0 -81
- package/.claude/commands/vibe.tasks.md +0 -83
- package/agents/backend-python-expert.md +0 -453
- package/agents/database-postgres-expert.md +0 -538
- package/agents/frontend-flutter-expert.md +0 -487
- package/agents/frontend-react-expert.md +0 -424
- package/agents/quality-reviewer.md +0 -542
- package/agents/reasoning-agent.md +0 -353
- package/agents/specification-agent.md +0 -582
- package/scripts/install-mcp.js +0 -74
- package/scripts/install.sh +0 -70
- package/templates/plan-template.md +0 -237
- package/templates/tasks-template.md +0 -132
- /package/{skills → .agent/rules}/core/communication-guide.md +0 -0
- /package/{skills → .agent/rules}/core/development-philosophy.md +0 -0
- /package/{skills → .agent/rules}/core/quick-start.md +0 -0
- /package/{skills → .agent/rules}/languages/dart-flutter.md +0 -0
- /package/{skills → .agent/rules}/languages/python-fastapi.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-nextjs.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-react-native.md +0 -0
- /package/{skills → .agent/rules}/languages/typescript-react.md +0 -0
- /package/{skills → .agent/rules}/quality/bdd-contract-testing.md +0 -0
- /package/{skills → .agent/rules}/quality/checklist.md +0 -0
- /package/{skills → .agent/rules}/quality/testing-strategy.md +0 -0
- /package/{skills → .agent/rules}/standards/anti-patterns.md +0 -0
- /package/{skills → .agent/rules}/standards/code-structure.md +0 -0
- /package/{skills → .agent/rules}/standards/complexity-metrics.md +0 -0
- /package/{skills → .agent/rules}/standards/naming-conventions.md +0 -0
- /package/{skills → .agent/rules}/tools/mcp-hi-ai-guide.md +0 -0
- /package/{skills → .agent/rules}/tools/mcp-workflow.md +0 -0
package/README.md
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
# Vibe
|
|
2
2
|
|
|
3
|
-
**SPEC-driven AI coding framework
|
|
3
|
+
**SPEC-driven AI coding framework (Claude Code 전용)**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
SPEC 문서 하나로 AI가 바로 구현하는 2-step 워크플로우.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://smithery.ai/protocol/@su-record/hi-ai)
|
|
10
9
|
[](https://github.com/su-record/hi-ai)
|
|
11
10
|
|
|
12
11
|
---
|
|
13
12
|
|
|
14
13
|
## Features
|
|
15
14
|
|
|
16
|
-
- **Claude Code
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- **
|
|
22
|
-
- **Multi-language Support**: English and Korean interface
|
|
23
|
-
- **AI Agent System**: 7 specialized agents for different tech stacks
|
|
15
|
+
- **Claude Code 전용**: 네이티브 슬래시 커맨드 + MCP 통합
|
|
16
|
+
- **2-Step 워크플로우**: SPEC → RUN → VERIFY (PLAN/TASKS 불필요)
|
|
17
|
+
- **PTCF 구조**: Persona, Task, Context, Format - Gemini 프롬프트 최적화
|
|
18
|
+
- **코딩 규칙 내장**: `.agent/rules/` - 품질 기준, 복잡도 제한, 안티패턴
|
|
19
|
+
- **자동 품질 검증**: code-simplifier 서브에이전트
|
|
20
|
+
- **36개 MCP 도구**: @su-record/hi-ai 통합
|
|
24
21
|
|
|
25
22
|
---
|
|
26
23
|
|
|
@@ -30,526 +27,267 @@ Transform natural language requirements into production-ready code through struc
|
|
|
30
27
|
npm install -g @su-record/vibe
|
|
31
28
|
```
|
|
32
29
|
|
|
33
|
-
This installs:
|
|
34
|
-
- Vibe CLI (for initialization only)
|
|
35
|
-
- @su-record/hi-ai MCP server (36 development tools)
|
|
36
|
-
- Agents, Skills, Templates for Claude Code
|
|
37
|
-
|
|
38
|
-
⚠️ **Important**: Vibe is a **Claude Code-exclusive** framework. Terminal commands are limited to `init` only. All development commands are available as **slash commands** within Claude Code.
|
|
39
|
-
|
|
40
30
|
---
|
|
41
31
|
|
|
42
32
|
## Quick Start
|
|
43
33
|
|
|
44
|
-
### 1.
|
|
34
|
+
### 1. 프로젝트 초기화 (터미널)
|
|
45
35
|
|
|
46
36
|
```bash
|
|
47
|
-
#
|
|
37
|
+
# 기존 프로젝트에서
|
|
48
38
|
vibe init
|
|
49
39
|
|
|
50
|
-
#
|
|
51
|
-
vibe init my-
|
|
52
|
-
cd my-
|
|
40
|
+
# 새 프로젝트 생성
|
|
41
|
+
vibe init my-project
|
|
42
|
+
cd my-project
|
|
53
43
|
```
|
|
54
44
|
|
|
55
|
-
|
|
56
|
-
- Register MCP server for the project directory
|
|
57
|
-
- Create `.vibe/` folder structure
|
|
58
|
-
- Install agents, skills, and templates
|
|
59
|
-
|
|
60
|
-
### 2. Use Slash Commands (Claude Code)
|
|
61
|
-
|
|
62
|
-
Open Claude Code in your project directory and use slash commands:
|
|
45
|
+
### 2. 슬래시 커맨드 사용 (Claude Code)
|
|
63
46
|
|
|
64
47
|
```
|
|
65
|
-
/vibe.spec "
|
|
66
|
-
/vibe.
|
|
67
|
-
/vibe.
|
|
68
|
-
/vibe.run "Task 1-1"
|
|
69
|
-
/vibe.verify "push notification settings"
|
|
48
|
+
/vibe.spec "로그인 기능" # SPEC 작성 (대화형)
|
|
49
|
+
/vibe.run "로그인 기능" # 구현 실행
|
|
50
|
+
/vibe.verify "로그인 기능" # 검증
|
|
70
51
|
```
|
|
71
52
|
|
|
72
53
|
---
|
|
73
54
|
|
|
74
|
-
##
|
|
75
|
-
|
|
76
|
-
### Terminal Commands (Initialization Only)
|
|
77
|
-
|
|
78
|
-
| Command | Description | Example |
|
|
79
|
-
|---------|-------------|---------|
|
|
80
|
-
| `vibe init` | Initialize Vibe in current project | `vibe init` |
|
|
81
|
-
| `vibe init <name>` | Create new project with Vibe | `vibe init my-app` |
|
|
82
|
-
| `vibe help` | Show help message | `vibe help` |
|
|
83
|
-
|
|
84
|
-
### Claude Code Slash Commands (Development)
|
|
85
|
-
|
|
86
|
-
#### Core Workflow
|
|
87
|
-
|
|
88
|
-
| Command | Description | Example |
|
|
89
|
-
|---------|-------------|---------|
|
|
90
|
-
| `/vibe.spec <name>` | Create SPEC through natural conversation (auto-detects project type, suggests tech stack & design) | `/vibe.spec "user authentication"` |
|
|
91
|
-
| `/vibe.plan <name>` | Generate technical implementation plan | `/vibe.plan "user authentication"` |
|
|
92
|
-
| `/vibe.tasks <name>` | Break down into executable tasks | `/vibe.tasks "user authentication"` |
|
|
93
|
-
| `/vibe.run <task>` | Execute specific task with auto-generated guide | `/vibe.run "Task 1-1"` |
|
|
94
|
-
| `/vibe.verify <name>` | Verify implementation against SPEC | `/vibe.verify "user authentication"` |
|
|
95
|
-
|
|
96
|
-
#### Analysis & Tools
|
|
97
|
-
|
|
98
|
-
| Command | Description | Example |
|
|
99
|
-
|---------|-------------|---------|
|
|
100
|
-
| `/vibe.analyze` | Comprehensive project analysis | `/vibe.analyze` |
|
|
101
|
-
| **`/vibe.reason`** 🆕 | **Apply 9-step reasoning framework to complex problems** | **`/vibe.reason "debug issue"`** |
|
|
102
|
-
| `/vibe.ui <description>` | Generate ASCII UI mockup | `/vibe.ui "login form"` |
|
|
103
|
-
| `/vibe.diagram --er` | Generate diagrams (architecture, ERD, flow) | `/vibe.diagram --er` |
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## MCP Integration
|
|
108
|
-
|
|
109
|
-
Vibe includes 36 MCP tools across multiple categories (2 new tools added in v1.4.0):
|
|
110
|
-
|
|
111
|
-
### Code Analysis
|
|
112
|
-
- `analyze_complexity` - Cyclomatic and cognitive complexity metrics
|
|
113
|
-
- `validate_code_quality` - Code quality scoring and recommendations
|
|
114
|
-
- `check_coupling_cohesion` - Module coupling and cohesion analysis
|
|
115
|
-
|
|
116
|
-
### Project Intelligence
|
|
117
|
-
- `find_symbol` - Locate function/class definitions
|
|
118
|
-
- `find_references` - Find all usages of symbols
|
|
55
|
+
## Workflow
|
|
119
56
|
|
|
120
|
-
### Thinking & Planning
|
|
121
|
-
- `create_thinking_chain` - Generate step-by-step reasoning
|
|
122
|
-
- `step_by_step_analysis` - Detailed problem breakdown
|
|
123
|
-
- `analyze_problem` - Structured problem analysis
|
|
124
|
-
- **`apply_reasoning_framework`** 🆕 - **9-step reasoning framework for complex problems**
|
|
125
|
-
|
|
126
|
-
### Quality & Standards
|
|
127
|
-
- `apply_quality_rules` - Apply coding standards
|
|
128
|
-
- `suggest_improvements` - Code improvement recommendations
|
|
129
|
-
- **`enhance_prompt_gemini`** 🆕 - **Enhance prompts using Gemini API strategies (Few-Shot, Output Format, etc.)**
|
|
130
|
-
|
|
131
|
-
### UI & Design
|
|
132
|
-
- `preview_ui_ascii` - Generate ASCII UI mockups
|
|
133
|
-
|
|
134
|
-
### Memory & Context
|
|
135
|
-
- `save_memory` - Store project context
|
|
136
|
-
- `recall_memory` - Retrieve stored information
|
|
137
|
-
- `auto_save_context` - Automatic context checkpointing
|
|
138
|
-
|
|
139
|
-
**MCP Server Registration:**
|
|
140
|
-
|
|
141
|
-
The MCP server is automatically registered when you run `vibe init` in your project. This registers the server **locally for your project only**, not globally.
|
|
142
|
-
|
|
143
|
-
**Verify MCP server:**
|
|
144
|
-
```bash
|
|
145
|
-
# Run this in your project directory
|
|
146
|
-
claude mcp list
|
|
147
|
-
# Expected output:
|
|
148
|
-
# vibe: node /path/to/@su-record/vibe/node_modules/@su-record/hi-ai/dist/index.js - ✓ Connected
|
|
149
57
|
```
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
"mcp": {
|
|
166
|
-
"enabled": true,
|
|
167
|
-
"servers": ["vibe"]
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### CLAUDE.md (Recommended)
|
|
173
|
-
|
|
174
|
-
Place this file in your project root to enable automatic tech stack detection:
|
|
175
|
-
|
|
176
|
-
```markdown
|
|
177
|
-
# CLAUDE.md
|
|
178
|
-
|
|
179
|
-
## Tech Stack
|
|
180
|
-
|
|
181
|
-
### Backend
|
|
182
|
-
- Framework: FastAPI 0.104+
|
|
183
|
-
- Database: PostgreSQL 17
|
|
184
|
-
- Cache: Redis 7.2
|
|
185
|
-
|
|
186
|
-
### Frontend
|
|
187
|
-
- Framework: Flutter 3.24+
|
|
188
|
-
- State Management: Provider
|
|
58
|
+
┌─────────────────────────────────────────────────────┐
|
|
59
|
+
│ /vibe.spec "기능명" │
|
|
60
|
+
│ ↓ 대화형 요구사항 수집 │
|
|
61
|
+
│ ↓ .vibe/specs/{기능명}.md (PTCF 구조) │
|
|
62
|
+
│ ↓ .vibe/features/{기능명}.feature (BDD) │
|
|
63
|
+
├─────────────────────────────────────────────────────┤
|
|
64
|
+
│ /vibe.run "기능명" │
|
|
65
|
+
│ ↓ SPEC 읽고 바로 구현 │
|
|
66
|
+
│ ↓ Phase별 순차 실행 │
|
|
67
|
+
│ ↓ .agent/rules/ 규칙 준수 │
|
|
68
|
+
├─────────────────────────────────────────────────────┤
|
|
69
|
+
│ /vibe.verify "기능명" │
|
|
70
|
+
│ ↓ Acceptance Criteria 검증 │
|
|
71
|
+
│ ↓ 품질 점수 (A+ ~ F) │
|
|
72
|
+
└─────────────────────────────────────────────────────┘
|
|
189
73
|
```
|
|
190
74
|
|
|
191
75
|
---
|
|
192
76
|
|
|
193
|
-
##
|
|
77
|
+
## Commands
|
|
194
78
|
|
|
195
|
-
|
|
79
|
+
### 터미널 (초기화만)
|
|
196
80
|
|
|
197
|
-
|
|
198
|
-
|
|
81
|
+
| 명령어 | 설명 |
|
|
82
|
+
|--------|------|
|
|
83
|
+
| `vibe init` | 현재 폴더에 vibe 초기화 |
|
|
84
|
+
| `vibe init <name>` | 새 프로젝트 생성 |
|
|
85
|
+
| `vibe help` | 도움말 |
|
|
86
|
+
| `vibe version` | 버전 정보 |
|
|
199
87
|
|
|
200
|
-
|
|
201
|
-
- Created: 2025-01-17
|
|
202
|
-
- Priority: HIGH
|
|
203
|
-
- Language: en
|
|
204
|
-
|
|
205
|
-
## Requirements
|
|
88
|
+
### Claude Code 슬래시 커맨드
|
|
206
89
|
|
|
207
|
-
|
|
208
|
-
**WHEN** user performs action X
|
|
209
|
-
**THEN** system SHALL perform Y
|
|
90
|
+
#### 핵심 워크플로우
|
|
210
91
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
**WHERE** condition A exists
|
|
218
|
-
**AND** condition B is true
|
|
219
|
-
**THEN** system SHALL perform Z
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
---
|
|
92
|
+
| 명령어 | 설명 |
|
|
93
|
+
|--------|------|
|
|
94
|
+
| `/vibe.spec "기능명"` | SPEC 작성 (PTCF 구조) |
|
|
95
|
+
| `/vibe.run "기능명"` | 구현 실행 |
|
|
96
|
+
| `/vibe.run "기능명" --phase N` | 특정 Phase만 실행 |
|
|
97
|
+
| `/vibe.verify "기능명"` | 검증 |
|
|
223
98
|
|
|
224
|
-
|
|
99
|
+
#### 분석 & 도구
|
|
225
100
|
|
|
226
|
-
|
|
|
227
|
-
|
|
228
|
-
|
|
|
229
|
-
|
|
|
230
|
-
|
|
|
231
|
-
|
|
|
232
|
-
| Backend Python Expert | Python/FastAPI implementation | Python 3.11+, FastAPI, SQLAlchemy |
|
|
233
|
-
| Frontend Flutter Expert | Flutter/Dart implementation | Flutter 3.24+, Dart 3.5+ |
|
|
234
|
-
| Frontend React Expert | React/Next.js implementation | React 18+, Next.js 14+ |
|
|
235
|
-
| Database PostgreSQL Expert | PostgreSQL/PostGIS design | PostgreSQL 17, PostGIS 3.4+ |
|
|
236
|
-
| Quality Reviewer | Code review and quality validation | Multi-language |
|
|
101
|
+
| 명령어 | 설명 |
|
|
102
|
+
|--------|------|
|
|
103
|
+
| `/vibe.analyze` | 프로젝트 분석 |
|
|
104
|
+
| `/vibe.reason "문제"` | 체계적 추론 (9단계) |
|
|
105
|
+
| `/vibe.ui "설명"` | ASCII UI 미리보기 |
|
|
106
|
+
| `/vibe.diagram` | 다이어그램 생성 |
|
|
237
107
|
|
|
238
108
|
---
|
|
239
109
|
|
|
240
|
-
##
|
|
110
|
+
## Project Structure
|
|
241
111
|
|
|
242
|
-
|
|
112
|
+
`vibe init` 실행 후 생성되는 구조:
|
|
243
113
|
|
|
244
|
-
```bash
|
|
245
|
-
$ vibe init
|
|
246
|
-
🔧 MCP 서버 확인 중...
|
|
247
|
-
✅ vibe MCP 서버 등록 완료
|
|
248
|
-
✅ vibe 초기화 완료!
|
|
249
|
-
|
|
250
|
-
생성된 구조:
|
|
251
|
-
.vibe/
|
|
252
|
-
├── config.json
|
|
253
|
-
├── constitution.md
|
|
254
|
-
├── specs/ # SPEC documents (EARS format)
|
|
255
|
-
├── features/ # BDD Feature files (Gherkin)
|
|
256
|
-
├── plans/ # Technical plans
|
|
257
|
-
└── tasks/ # Task breakdowns
|
|
258
114
|
```
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
115
|
+
project/
|
|
116
|
+
├── CLAUDE.md # 프로젝트 컨텍스트
|
|
117
|
+
├── .claude/
|
|
118
|
+
│ ├── commands/ # 슬래시 커맨드 (7개)
|
|
119
|
+
│ └── agents/ # 서브에이전트 (simplifier)
|
|
120
|
+
├── .agent/rules/ # 코딩 규칙
|
|
121
|
+
│ ├── core/ # 핵심 원칙 (수술적 정밀도, DRY, SRP)
|
|
122
|
+
│ ├── quality/ # 품질 체크리스트
|
|
123
|
+
│ ├── standards/ # 복잡도, 네이밍, 안티패턴
|
|
124
|
+
│ ├── languages/ # 언어별 규칙
|
|
125
|
+
│ └── tools/ # MCP 가이드
|
|
126
|
+
└── .vibe/
|
|
127
|
+
├── config.json # 프로젝트 설정
|
|
128
|
+
├── constitution.md # 프로젝트 원칙
|
|
129
|
+
├── specs/ # SPEC 문서들
|
|
130
|
+
└── features/ # BDD Feature 파일들
|
|
264
131
|
```
|
|
265
|
-
User: /vibe.spec "push notification settings"
|
|
266
|
-
|
|
267
|
-
Claude (Specification Agent):
|
|
268
|
-
[Analyzing source code]
|
|
269
|
-
- Backend: Python (FastAPI)
|
|
270
|
-
- Frontend: Flutter 3.24+
|
|
271
|
-
- Database: PostgreSQL 17
|
|
272
|
-
|
|
273
|
-
Existing project detected! Is this tech stack correct?
|
|
274
|
-
|
|
275
|
-
User: Yes
|
|
276
|
-
|
|
277
|
-
Claude:
|
|
278
|
-
What types of notifications do you want to manage?
|
|
279
|
-
|
|
280
|
-
User: Comments, likes, follows, announcements, events, marketing
|
|
281
|
-
|
|
282
|
-
Claude:
|
|
283
|
-
Do you need just ON/OFF toggle for each category, or detailed settings too?
|
|
284
|
-
|
|
285
|
-
1. ON/OFF only
|
|
286
|
-
2. Detailed settings (time, frequency, etc.)
|
|
287
|
-
3. Both
|
|
288
132
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
User: 1
|
|
292
|
-
|
|
293
|
-
Claude:
|
|
294
|
-
Which push notification service would you like to use?
|
|
295
|
-
|
|
296
|
-
1. Firebase Cloud Messaging (FCM) - Free, easy Flutter integration
|
|
297
|
-
2. OneSignal - Multi-platform, dashboard
|
|
298
|
-
3. Custom implementation
|
|
299
|
-
|
|
300
|
-
Or you can describe directly.
|
|
301
|
-
|
|
302
|
-
User: We're already using FCM
|
|
303
|
-
|
|
304
|
-
Claude:
|
|
305
|
-
Great! Which design reference would you like to follow?
|
|
306
|
-
|
|
307
|
-
1. iOS Settings > Notifications (toggle + grouping)
|
|
308
|
-
2. Slack notification settings (category-based)
|
|
309
|
-
3. Twitter notification settings (simple list)
|
|
133
|
+
---
|
|
310
134
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
User: 1
|
|
135
|
+
## SPEC Document (PTCF Structure)
|
|
314
136
|
|
|
137
|
+
```markdown
|
|
138
|
+
# SPEC: {기능명}
|
|
139
|
+
|
|
140
|
+
## Persona
|
|
141
|
+
<role>
|
|
142
|
+
AI의 역할과 전문성 정의
|
|
143
|
+
</role>
|
|
144
|
+
|
|
145
|
+
## Context
|
|
146
|
+
<context>
|
|
147
|
+
- 배경, 목적
|
|
148
|
+
- 기술 스택
|
|
149
|
+
- 관련 코드
|
|
150
|
+
- 디자인 레퍼런스
|
|
151
|
+
</context>
|
|
152
|
+
|
|
153
|
+
## Task
|
|
154
|
+
<task>
|
|
155
|
+
### Phase 1: {단계명}
|
|
156
|
+
1. [ ] 작업 1
|
|
157
|
+
2. [ ] 작업 2
|
|
158
|
+
|
|
159
|
+
### Phase 2: {단계명}
|
|
315
160
|
...
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
-
|
|
335
|
-
|
|
336
|
-
- Cost: +$0.50/month (Redis + FCM)
|
|
337
|
-
- Testing: BDD (pytest-bdd) + Contract Testing (Pact)
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### 4. Decompose Tasks (Claude Code)
|
|
341
|
-
|
|
342
|
-
```
|
|
343
|
-
User: /vibe.tasks "push notification settings"
|
|
344
|
-
|
|
345
|
-
Claude (Task Agent):
|
|
346
|
-
PLAN을 기반으로 Task를 생성하겠습니다.
|
|
347
|
-
|
|
348
|
-
✅ TASKS 문서 작성 완료!
|
|
349
|
-
📄 .vibe/tasks/push-notification-settings.md
|
|
350
|
-
|
|
351
|
-
Task Breakdown:
|
|
352
|
-
- Total: 23 tasks
|
|
353
|
-
- Phase 1 (Backend): 9 tasks (includes Contract Provider)
|
|
354
|
-
- Phase 2 (Frontend): 9 tasks (includes Contract Consumer)
|
|
355
|
-
- Phase 3 (Integration): 5 tasks (includes BDD Steps + Contract Verification)
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
### 5. Execute Tasks (Claude Code)
|
|
359
|
-
|
|
360
|
-
```
|
|
361
|
-
User: /vibe.run "Task 1-1"
|
|
362
|
-
|
|
363
|
-
Claude:
|
|
364
|
-
Task 1-1 - Database Migration을 실행하겠습니다.
|
|
365
|
-
|
|
366
|
-
1. 구현 가이드 생성 (.vibe/guides/task-1-1.md)
|
|
367
|
-
2. Migration 파일 생성
|
|
368
|
-
3. Acceptance Criteria 검증
|
|
369
|
-
4. Task 상태 업데이트
|
|
370
|
-
|
|
371
|
-
✅ Task 1-1 completed
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### 6. Code Analysis (Claude Code)
|
|
375
|
-
|
|
376
|
-
```
|
|
377
|
-
User: /vibe.analyze
|
|
378
|
-
|
|
379
|
-
Claude:
|
|
380
|
-
프로젝트 전체를 분석하겠습니다.
|
|
381
|
-
|
|
382
|
-
📊 Code Quality Report
|
|
383
|
-
|
|
384
|
-
Overall Score: 85/100 (B+)
|
|
385
|
-
|
|
386
|
-
Findings:
|
|
387
|
-
- High complexity: src/service.py (CC: 15)
|
|
388
|
-
- Low cohesion: src/utils.py (0.3)
|
|
389
|
-
- Strong coupling: Controller ↔ Service (0.8)
|
|
390
|
-
|
|
391
|
-
Recommendations:
|
|
392
|
-
1. Refactor src/service.py into 3 modules
|
|
393
|
-
2. Apply Dependency Injection pattern
|
|
394
|
-
3. Extract unrelated utilities from src/utils.py
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
### 7. UI Mockup (Claude Code)
|
|
398
|
-
|
|
399
|
-
```
|
|
400
|
-
User: /vibe.ui "login form"
|
|
401
|
-
|
|
402
|
-
Claude:
|
|
403
|
-
┌─────────────────────────────────────────┐
|
|
404
|
-
│ Welcome Back │
|
|
405
|
-
├─────────────────────────────────────────┤
|
|
406
|
-
│ │
|
|
407
|
-
│ ┌─────────────────────┐ │
|
|
408
|
-
│ Email: │ │ │
|
|
409
|
-
│ └─────────────────────┘ │
|
|
410
|
-
│ │
|
|
411
|
-
│ ┌─────────────────────┐ │
|
|
412
|
-
│ Pass: │ •••••••••••• │ │
|
|
413
|
-
│ └─────────────────────┘ │
|
|
414
|
-
│ │
|
|
415
|
-
│ ┌─────────────────────┐ │
|
|
416
|
-
│ │ Sign In │ │
|
|
417
|
-
│ └─────────────────────┘ │
|
|
418
|
-
│ │
|
|
419
|
-
└─────────────────────────────────────────┘
|
|
420
|
-
|
|
421
|
-
Required Components:
|
|
422
|
-
- EmailInput.tsx, PasswordInput.tsx, Button.tsx
|
|
161
|
+
</task>
|
|
162
|
+
|
|
163
|
+
## Constraints
|
|
164
|
+
<constraints>
|
|
165
|
+
- 기존 코드 패턴 준수
|
|
166
|
+
- 에러 메시지 한글화
|
|
167
|
+
</constraints>
|
|
168
|
+
|
|
169
|
+
## Output Format
|
|
170
|
+
<output_format>
|
|
171
|
+
- 생성할 파일
|
|
172
|
+
- 수정할 파일
|
|
173
|
+
- 검증 명령어
|
|
174
|
+
</output_format>
|
|
175
|
+
|
|
176
|
+
## Acceptance Criteria
|
|
177
|
+
<acceptance>
|
|
178
|
+
- [ ] 검증 기준 1
|
|
179
|
+
- [ ] 검증 기준 2
|
|
180
|
+
</acceptance>
|
|
423
181
|
```
|
|
424
182
|
|
|
425
183
|
---
|
|
426
184
|
|
|
427
|
-
##
|
|
185
|
+
## Coding Rules (.agent/rules/)
|
|
428
186
|
|
|
429
|
-
|
|
187
|
+
### 핵심 원칙
|
|
430
188
|
|
|
431
|
-
|
|
189
|
+
- **수술적 정밀도**: 요청받지 않은 코드는 절대 수정하지 않음
|
|
190
|
+
- **한국어 우선**: 모든 커뮤니케이션은 한국어로
|
|
191
|
+
- **DRY**: 반복하지 말고 재사용
|
|
192
|
+
- **SRP**: 하나의 함수는 하나의 목적만
|
|
193
|
+
- **YAGNI**: 필요하지 않으면 만들지 않음
|
|
432
194
|
|
|
433
|
-
|
|
434
|
-
/vibe.spec "feature"
|
|
435
|
-
↓ Generates SPEC (EARS) + Feature file (Gherkin)
|
|
195
|
+
### 복잡도 기준
|
|
436
196
|
|
|
437
|
-
|
|
438
|
-
|
|
197
|
+
| 메트릭 | 기준 |
|
|
198
|
+
|--------|------|
|
|
199
|
+
| 순환 복잡도 | ≤ 10 |
|
|
200
|
+
| 함수 길이 | ≤ 20줄 |
|
|
201
|
+
| 중첩 깊이 | ≤ 3단계 |
|
|
202
|
+
| 매개변수 | ≤ 5개 |
|
|
203
|
+
| 컴포넌트 JSX | ≤ 50줄 |
|
|
439
204
|
|
|
440
|
-
|
|
441
|
-
↓ Creates Contract Testing tasks (Provider, Consumer, Verification)
|
|
205
|
+
### 품질 등급
|
|
442
206
|
|
|
443
|
-
|
|
444
|
-
|
|
207
|
+
| 등급 | 점수 | 설명 |
|
|
208
|
+
|------|------|------|
|
|
209
|
+
| A+ | 95-100 | 완벽 |
|
|
210
|
+
| A | 90-94 | 우수 |
|
|
211
|
+
| B+ | 85-89 | 양호 |
|
|
212
|
+
| B | 80-84 | 개선 권장 |
|
|
213
|
+
| C | 70-79 | 개선 필요 |
|
|
214
|
+
| F | < 70 | 리팩토링 필요 |
|
|
445
215
|
|
|
446
|
-
|
|
447
|
-
↓ Validates BDD Scenarios + Contract Tests
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
### Generated Files
|
|
216
|
+
---
|
|
451
217
|
|
|
452
|
-
|
|
453
|
-
- **`tests/steps/`** - BDD step definitions
|
|
454
|
-
- **`pacts/` or `contracts/`** - Contract test files (Provider/Consumer)
|
|
218
|
+
## MCP Integration
|
|
455
219
|
|
|
456
|
-
|
|
220
|
+
36개 MCP 도구 포함 (@su-record/hi-ai):
|
|
457
221
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
| Dart/Flutter | gherkin, flutter_gherkin | Pact Dart |
|
|
222
|
+
- **코드 분석**: `analyze_complexity`, `validate_code_quality`
|
|
223
|
+
- **추론**: `apply_reasoning_framework`, `create_thinking_chain`
|
|
224
|
+
- **품질**: `apply_quality_rules`, `suggest_improvements`
|
|
225
|
+
- **UI**: `preview_ui_ascii`
|
|
226
|
+
- **메모리**: `save_memory`, `recall_memory`
|
|
464
227
|
|
|
465
|
-
|
|
228
|
+
---
|
|
466
229
|
|
|
467
|
-
|
|
468
|
-
Feature: Push Notification Settings
|
|
230
|
+
## Example
|
|
469
231
|
|
|
470
|
-
Scenario: User enables comment notifications
|
|
471
|
-
Given the user is logged in
|
|
472
|
-
And the notification settings page is displayed
|
|
473
|
-
When the user toggles "Comments" notification to ON
|
|
474
|
-
Then the setting should be saved successfully
|
|
475
|
-
And the API should return status 200
|
|
476
|
-
And the response time should be less than 500ms
|
|
477
232
|
```
|
|
233
|
+
User: /vibe.spec "벽돌게임"
|
|
478
234
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
## Best Practices
|
|
235
|
+
Claude:
|
|
236
|
+
벽돌게임을 만드시는군요! 어떤 스타일을 생각하고 계신가요?
|
|
482
237
|
|
|
483
|
-
|
|
238
|
+
1. 클래식 벽돌깨기 (Breakout)
|
|
239
|
+
2. 아르카노이드 (파워업 포함)
|
|
240
|
+
3. 커스텀 스타일
|
|
484
241
|
|
|
485
|
-
|
|
242
|
+
또는 직접 설명해주셔도 됩니다.
|
|
486
243
|
|
|
487
|
-
|
|
244
|
+
User: 1
|
|
488
245
|
|
|
489
|
-
|
|
246
|
+
Claude: 어떤 플랫폼에서 실행하시겠어요?
|
|
490
247
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
248
|
+
1. 웹 (브라우저)
|
|
249
|
+
2. 모바일
|
|
250
|
+
3. 데스크톱
|
|
494
251
|
|
|
495
|
-
|
|
496
|
-
# Verify, test, commit
|
|
252
|
+
User: 1
|
|
497
253
|
|
|
498
|
-
|
|
499
|
-
# Verify, test, commit
|
|
500
|
-
```
|
|
254
|
+
Claude: 기술 스택을 제안드립니다:
|
|
501
255
|
|
|
502
|
-
|
|
256
|
+
1. Phaser.js (추천) - 게임 프레임워크
|
|
257
|
+
2. Canvas + JavaScript
|
|
258
|
+
3. PixiJS + Matter.js
|
|
503
259
|
|
|
504
|
-
|
|
260
|
+
User: 1
|
|
505
261
|
|
|
506
|
-
|
|
262
|
+
[대화 계속...]
|
|
507
263
|
|
|
508
|
-
|
|
264
|
+
✅ SPEC 문서 작성 완료!
|
|
265
|
+
📄 .vibe/specs/brick-game.md
|
|
266
|
+
📄 .vibe/features/brick-game.feature
|
|
509
267
|
|
|
510
|
-
|
|
511
|
-
/vibe.analyze --code # Identify complexity hotspots
|
|
512
|
-
/vibe.analyze --deps # Check for outdated/vulnerable packages
|
|
513
|
-
/vibe.analyze --arch # Detect circular dependencies
|
|
268
|
+
다음 단계: /vibe.run "벽돌게임"
|
|
514
269
|
```
|
|
515
270
|
|
|
516
271
|
---
|
|
517
272
|
|
|
518
273
|
## Requirements
|
|
519
274
|
|
|
520
|
-
- **Node.js**: 18.0.0
|
|
521
|
-
- **
|
|
522
|
-
- **Claude Code**: Required for slash commands
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
|
|
526
|
-
## Contributing
|
|
527
|
-
|
|
528
|
-
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
|
|
529
|
-
|
|
530
|
-
---
|
|
531
|
-
|
|
532
|
-
## License
|
|
533
|
-
|
|
534
|
-
MIT License - see [LICENSE](LICENSE) file for details
|
|
275
|
+
- **Node.js**: 18.0.0+
|
|
276
|
+
- **Claude Code**: 필수
|
|
535
277
|
|
|
536
278
|
---
|
|
537
279
|
|
|
538
280
|
## Links
|
|
539
281
|
|
|
540
282
|
- **Repository**: [github.com/su-record/vibe](https://github.com/su-record/vibe)
|
|
541
|
-
- **Issues**: [GitHub Issues](https://github.com/su-record/vibe/issues)
|
|
542
283
|
- **MCP Server**: [@su-record/hi-ai](https://github.com/su-record/hi-ai)
|
|
543
|
-
- **
|
|
284
|
+
- **Issues**: [GitHub Issues](https://github.com/su-record/vibe/issues)
|
|
544
285
|
|
|
545
286
|
---
|
|
546
287
|
|
|
547
|
-
##
|
|
288
|
+
## License
|
|
548
289
|
|
|
549
|
-
|
|
550
|
-
- Open an issue on GitHub
|
|
551
|
-
- Check the documentation wiki
|
|
552
|
-
- Review existing discussions
|
|
290
|
+
MIT License
|
|
553
291
|
|
|
554
292
|
---
|
|
555
293
|
|