@byh3071/vhk 1.0.2 β†’ 1.3.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/README.md CHANGED
@@ -1,57 +1,90 @@
1
1
  ---
2
2
  id: vhk-readme
3
- date: 2026-05-24
4
- tags: [vhk, cli, readme, v1.0.0, ga]
3
+ date: 2026-05-28
4
+ tags: [vhk, cli, readme, v1.3.0, ga]
5
5
  ---
6
6
 
7
7
  # πŸ”§ VHK β€” Vibe Harness Kit
8
8
 
9
- > πŸŽ‰ **v1.0.0 GA** β€” λ°”μ΄λΈŒμ½”λ”μ˜ μ˜¬μΈμ› CLI. 곡개 API μ•ˆμ •μ„± 보μž₯.
9
+ > πŸŽ‰ **v1.3.0** β€” λ°”μ΄λΈŒμ½”λ”μ˜ μ˜¬μΈμ› CLI. μ»¨ν…μŠ€νŠΈ + 자율 ν•˜λ„€μŠ€.
10
10
  >
11
- > AI μ½”λ”© μ—μ΄μ „νŠΈλ₯Ό λΆ€λ¦¬λŠ” μ‚¬λžŒμ„ μœ„ν•œ **ν•œκ΅­μ–΄ 풀사이클 CLI** (v1.0.0)
11
+ > AI μ½”λ”© μ—μ΄μ „νŠΈλ₯Ό λΆ€λ¦¬λŠ” μ‚¬λžŒμ„ μœ„ν•œ **ν•œκ΅­μ–΄ 풀사이클 CLI**.
12
12
  >
13
13
  > 🍽️ **VHKλŠ” VHK둜 λΆ€νŠΈμŠ€νŠΈλž©λ¨** β€” 이 레포의 `docs/`, `CLAUDE.md`, `.cursorrules`도 `vhk init`이 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.
14
14
 
15
15
  λͺ…λ Ήμ–΄λ₯Ό μ™Έμš°μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€. `vhk`만 치면 메뉴가 λ‚˜μ˜€κ³ , ν•œκ΅­μ–΄λ‘œ 말해도 μ•Œμ•„λ“£μŠ΅λ‹ˆλ‹€.
16
16
 
17
- ## μ„€μΉ˜
17
+ ## 3λΆ„ μ•ˆμ— μ‹œμž‘ν•˜κΈ° (Getting Started)
18
+
19
+ ### 1. μ„€μΉ˜
18
20
 
19
21
  ```bash
20
22
  npm install -g @byh3071/vhk
23
+ vhk --version
21
24
  ```
22
25
 
26
+ > Node.js β‰₯ 20 ν•„μš”. `npx @byh3071/vhk` 둜 1νšŒμ„± 싀행도 κ°€λŠ₯.
27
+
28
+ ### 2. 첫 ν”„λ‘œμ νŠΈ β€” `vhk start` (λ§ˆλ²•μ‚¬)
29
+
23
30
  ```bash
24
- # ν•œ 번만 μ“Έ λ•Œ
25
- npx @byh3071/vhk
31
+ mkdir my-app && cd my-app
32
+ vhk start
26
33
  ```
27
34
 
28
- 둜컬 개발 쀑:
35
+ `vhk start` ν•œ 번이면 **git init β†’ λ¬Έμ„œ 생성 β†’ MCP 등둝 β†’ μ»¨ν…μŠ€νŠΈ 파일** κΉŒμ§€ μžλ™μœΌλ‘œ λλ‚©λ‹ˆλ‹€.
29
36
 
30
- ```powershell
31
- cd vhk-cli
32
- pnpm install
33
- pnpm build
34
- pnpm link --global
35
- vhk --version
37
+ 기획이 막 λ– μ˜¬λžλ‹€λ©΄ 검증뢀터:
38
+
39
+ ```bash
40
+ vhk gate # 퀡 5λ¬Έν•­ β€” GO / 닀듬기 / λ‹€λ₯Έ 아이디어
36
41
  ```
37
42
 
38
- ## λΉ λ₯Έ μ‹œμž‘
43
+ ### 3. v1.3 핡심 κΈ°λŠ₯ ν•œλˆˆμ—
39
44
 
40
- ```bash
41
- vhk
45
+ | κΈ°λŠ₯ | ν•œ 쀄 μš”μ•½ | μ§„μž… λͺ…λ Ή |
46
+ |------|-----------|-----------|
47
+ | 🎯 **Goals 체계** | 단계별 λ―Έμ…˜ + 게이트 슀크립트둜 AIκ°€ λͺ©ν‘œλ₯Ό 슀슀둜 좔적 | `vhk goal init` |
48
+ | ▢️ **자율 루프** | `goal next β†’ μž‘μ—… β†’ goal check β†’ goal done`. FAIL 3회면 μžλ™ λΈ”λ‘œμ»€ | `vhk goal next` |
49
+ | 🚧 **HARD_STOP μ•ˆμ „μž₯치** | λΈ”λ‘œμ»€ 3건 λˆ„μ  β†’ `.vhk/HARD_STOP` νŠΈλ¦½μ™€μ΄μ–΄. `vhk resume --confirm` 만 ν•΄μ œ | `vhk blocker "<증상>"` |
50
+ | πŸ”Œ **MCP 24 tool** | CursorΒ·Claude Desktop λ“±μ—μ„œ vhkλ₯Ό μ±„νŒ…μœΌλ‘œ 호좜 | `vhk mcp-init` |
51
+ | πŸ“‹ **μ»¨ν…μŠ€νŠΈ μ˜μ†ν™”** | `.vhk/context.md` + `memory.json` + `brief.md` 둜 μ„Έμ…˜ κ°„ λ§₯락 μœ μ§€ | `vhk context` |
52
+
53
+ ### 4. ꢌμž₯ 일일 사이클
54
+
55
+ ```text
56
+ μ„Έμ…˜ μ‹œμž‘ : vhk context # AI에 쀄 ν”„λ‘œμ νŠΈ λ§₯락 κ°±μ‹ 
57
+ vhk goal next # 였늘 μž‘μ—…ν•  λ―Έμ…˜ μžλ™ 선택
58
+
59
+ 개발 ...
60
+
61
+ μ„Έμ…˜ μ’…λ£Œ : vhk goal check # 게이트 슀크립트둜 톡과 검증
62
+ vhk goal done # 톡과 μ‹œ status: DONE 으둜 전이
63
+ vhk save # add β†’ commit β†’ push ν•œ λ²ˆμ—
64
+ vhk recap # docs/log/ 에 였늘 기둝
42
65
  ```
43
66
 
44
- 인자 없이 μ‹€ν–‰ν•˜λ©΄ **γ€Œλ­˜ λ„μ™€λ“œλ¦΄κΉŒμš”?」** 메뉴가 μ—΄λ¦½λ‹ˆλ‹€.
67
+ ### 5. μžμ—°μ–΄λ‘œλ„ λ©λ‹ˆλ‹€
45
68
 
46
69
  ```bash
47
- # μžμ—°μ–΄λ‘œλ„ κ°€λŠ₯
48
70
  vhk ν”„λ‘œμ νŠΈ λ§Œλ“€κ³  μ‹Άμ–΄
49
71
  vhk 기획 끝났고 λ°”λ‘œ μ‹œμž‘
50
72
  vhk 였늘 ν•œ 일 정리
51
73
  vhk μ €μž₯ν•΄μ€˜
52
- vhk 변경사항 λ³΄μ—¬μ€˜
74
+ vhk λ‹€μŒ λͺ©ν‘œ
75
+ vhk λΈ”λ‘œμ»€ "API 호좜 μ‹€νŒ¨"
53
76
  ```
54
77
 
78
+ ---
79
+
80
+ ## λΉ λ₯Έ μ‹œμž‘ (μΈν„°λž™ν‹°λΈŒ 메뉴)
81
+
82
+ ```bash
83
+ vhk
84
+ ```
85
+
86
+ 인자 없이 μ‹€ν–‰ν•˜λ©΄ **γ€Œλ­˜ λ„μ™€λ“œλ¦΄κΉŒμš”?」** 메뉴가 μ—΄λ¦½λ‹ˆλ‹€.
87
+
55
88
  ## μ›Œν¬ν”Œλ‘œμš° (ꢌμž₯ μˆœμ„œ)
56
89
 
57
90
  ```text
@@ -109,6 +142,33 @@ vhk 기획 끝났고 λ°”λ‘œ μ‹œμž‘
109
142
  | `vhk context-show` | `λ§₯락보기` | ν˜„μž¬ μ»¨ν…μŠ€νŠΈ 파일 λ‚΄μš© 좜λ ₯ |
110
143
  | `vhk memory` | `κΈ°μ–΅` | 결정사항 κΈ°μ–΅ 관리 (`add` / `list` / `remove`, `.vhk/memory.json` 기반, νƒœκ·Έ 지원) |
111
144
  | `vhk brief` | `λΈŒλ¦¬ν•‘` | ν”„λ‘œμ νŠΈ 정보 + git μƒνƒœ + 결정사항 + 레퍼런슀 톡합 λ³΄κ³ μ„œ `.vhk/brief.md` |
145
+ | `vhk goal` | `λͺ©ν‘œ` | Goal 단계별 λ―Έμ…˜ 관리 (`init` / `list` / `next` / `check` / `done`) β€” vspec/vooster νŒ¨ν„΄ |
146
+ | `vhk blocker <μ„€λͺ…>` | `λΈ”λ‘œμ»€` | λΈ”λ‘œμ»€ 1건 β†’ `docs/state/blockers.md` append. 3건 λˆ„μ  μ‹œ `.vhk/HARD_STOP` μžλ™ 생성 |
147
+ | `vhk learn <κ΅ν›ˆ>` | `κ΅ν›ˆ` | κ΅ν›ˆ 1건 β†’ `docs/state/learnings.md` append (memory.json κ³Ό 별도 SoT) |
148
+ | `vhk resume --confirm` | `재개` | `.vhk/HARD_STOP` ν•΄μ œ (μ‚¬λžŒ 확인 ν•„μš”, μžλ™ 호좜 κΈˆμ§€) |
149
+
150
+ ### 자율 루프 (v1.3+)
151
+
152
+ `AGENTS.md` 의 Loop Protocol μ°Έμ‘°. 단방ν–₯ 사이클:
153
+
154
+ ```text
155
+ vhk context β†’ vhk goal next β†’ (μž‘μ—…) β†’ vhk goal check β†’ vhk goal done
156
+ ↓ FAIL Γ— 3 cycle
157
+ vhk blocker "<증상>"
158
+ ↓ 3건 λˆ„μ 
159
+ .vhk/HARD_STOP μžλ™ β†’ μ‚¬λžŒ κ²€ν†  β†’ vhk resume --confirm
160
+ ```
161
+
162
+ ### goal μ„œλΈŒμ»€λ§¨λ“œ (v1.2+)
163
+
164
+ | μ„œλΈŒ | μ„€λͺ… |
165
+ |------|------|
166
+ | `vhk goal init` | ν˜„μž¬ ν”„λ‘œμ νŠΈμ— `goals/` + `docs/state/` μŠ€μΊν΄λ”© (κΈ°μ‘΄ 파일 보쑴) |
167
+ | `vhk goal list` | `goals/*.md` frontmatter νŒŒμ‹± β†’ id 순 λͺ©λ‘ (status/priority/title) |
168
+ | `vhk goal next` | active goal (IN_PROGRESS β†’ 첫 NOT_STARTED) 선택 β†’ `docs/state/next-task.md` κ°±μ‹  |
169
+ | `vhk goal check [--id N]` | `scripts/check-goal-<id>.sh` μ‹€ν–‰ (μƒλž΅ μ‹œ active goal) |
170
+ | `vhk goal done [--id N]` | 게이트 μž¬κ²€μ¦ β†’ 톡과 μ‹œ frontmatter `status: DONE` + `completed: YYYY-MM-DD` |
171
+ | `vhk check --goal N` | μœ„ `goal check` 의 별칭 (κΈ°μ‘΄ `check` μ‹œκ·Έλ‹ˆμ²˜ 무변경 + optional μ˜΅μ…˜) |
112
172
 
113
173
  ### init μ˜΅μ…˜
114
174
 
@@ -135,7 +195,16 @@ vhk mcp-init # .cursor/mcp.json μžλ™ 생성
135
195
  # 예: "μƒνƒœ μ•Œλ €μ€˜" β†’ Cursorκ°€ vhk status 도ꡬ 호좜
136
196
  ```
137
197
 
138
- λ…ΈμΆœλ˜λŠ” MCP 도ꡬ 8개: `save`, `undo`, `status`, `diff`, `ship`, `doctor`, `check`, `recap`.
198
+ λ…ΈμΆœλ˜λŠ” MCP 도ꡬ **24개** (v1.1):
199
+
200
+ - **git μ›Œν¬ν”Œλ‘œ (8)**: `save`, `undo`, `status`, `diff`, `ship`, `doctor`, `check`, `recap`
201
+ - **ν™˜κ²½/κ·œμΉ™ (4)**: `env`, `env-check`, `sync`, `secure`
202
+ - **ν’ˆμ§ˆ/감사 (3)**: `audit`, `harness`, `mcp-init`
203
+ - **μ»¨ν…μŠ€νŠΈ/기둝 (4)**: `context`, `context-show`, `memory-list`, `brief`
204
+ - **dry-info (4)**: `deploy`, `publish`, `migrate`, `update` β€” μΈν„°λž™ν‹°λΈŒ 본질이라 μ‹€μ œ μ‹€ν–‰ μ•ˆ 함, 진단/μ•ˆλ‚΄λ§Œ
205
+ - **레퍼런슀 (1)**: `ref-list`
206
+
207
+ MCP μ œμ™Έ ν™•μ • μ»€λ§¨λ“œ (λŒ€ν™”ν˜• 본질): `gate`, `init`, `start`, `design palette`, `theme`, `goal` (각각 CLI μ—μ„œλ§Œ λ™μž‘).
139
208
 
140
209
  MCP μ„œλ²„λ₯Ό μˆ˜λ™μœΌλ‘œ λ„μš°λ €λ©΄:
141
210
 
@@ -178,7 +247,7 @@ vhk brief # μ„Έμ…˜ μ’…λ£Œ μ‹œ μƒνƒœ λ³΄κ³ μ„œ
178
247
  - **곡개 API μ•ˆμ •μ„±**: λͺ…λ Ήμ–΄ 이름, CLI 인자, `.vhk/` 파일 포맷은 v2.0κΉŒμ§€ breaking change μ—†μŒ
179
248
  - **deprecation 절차**: λͺ…λ Ήμ–΄/μ˜΅μ…˜ 제거 μ „ 1개 λ§ˆμ΄λ„ˆ 버전(1.x.0)μ—μ„œ deprecation κ²½κ³ 
180
249
  - **i18n ν‚€**: `ko.ts`의 `t()` ν‚€ 이름은 μ•ˆμ •. μ‹ κ·œ ν‚€ λˆ„μ , κΈ°μ‘΄ ν‚€ 미제거
181
- - **MCP μ„œλ²„ 도ꡬ**: 8개 도ꡬ(save/undo/status/diff/ship/doctor/check/recap) μΈν„°νŽ˜μ΄μŠ€ μ•ˆμ •
250
+ - **MCP μ„œλ²„ 도ꡬ**: v1.0 GA 의 8개 baseline 도ꡬ(save/undo/status/diff/ship/doctor/check/recap) μΈν„°νŽ˜μ΄μŠ€ μ•ˆμ • β€” v1.1 μ—μ„œ 16개 μΆ”κ°€λ˜μ–΄ 총 24개
182
251
 
183
252
  > **`vhk memory` vs Claude Code `auto memory`** β€” `vhk memory`λŠ” **ν”„λ‘œμ νŠΈ λ‹¨μœ„** 결정사항(`.vhk/memory.json`, νŒ€ 곡유). Claude Code의 `auto memory`λŠ” **μ‚¬μš©μž λ‹¨μœ„** (`~/.claude/projects/.../memory/`, 개인 μ»¨ν…μŠ€νŠΈ). λ‘˜μ€ λ³„κ°œ.
184
253
 
@@ -229,7 +298,7 @@ vhk ref open 1 # 1번 레퍼런슀λ₯Ό λΈŒλΌμš°μ €λ‘œ μ—΄κΈ°
229
298
 
230
299
  | κΈ°λŠ₯ | μ„€λͺ… |
231
300
  |------|------|
232
- | **MCP μ„œλ²„** | `vhk mcp` β€” 8개 도ꡬ(save/undo/status/diff/ship/doctor/check/recap)λ₯Ό stdio둜 λ…ΈμΆœ. Cursor λ“± MCP ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μžμ—°μ–΄λ‘œ 호좜 |
301
+ | **MCP μ„œλ²„** | `vhk mcp` β€” stdio MCP μ„œλ²„ 첫 λ„μž… (v0.6.0 λ‹Ήμ‹œ 8개 도ꡬ β€” save/undo/status/diff/ship/doctor/check/recap). ν˜„μž¬ v1.3 κΈ°μ€€ **24개** 둜 ν™•μž₯ β€” μœ„ "Cursor와 MCP둜 μ—°λ™ν•˜κΈ°" μ„Ήμ…˜ μ°Έμ‘° |
233
302
  | **mcp-init** | `vhk mcp-init` β€” Cursor `.cursor/mcp.json` μžλ™ 생성. μž¬μ‹œμž‘ ν•œ 번으둜 연동 μ™„λ£Œ |
234
303
  | **μžμ—°μ–΄ λΌμš°νŒ… ν™•μž₯** | `vhk mcpμ„€μ •` β†’ `vhk mcp-init` 별칭 |
235
304
  | **λ³΄μ•ˆ** | MCP save λ„κ΅¬μ˜ shell injection 차단 β€” λͺ¨λ“  git ν˜ΈμΆœμ— `execFileSync` μ‚¬μš© |