maskweaver 0.8.15 → 0.9.0

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 (35) hide show
  1. package/README.ko.md +640 -657
  2. package/README.md +672 -689
  3. package/assets/commands/meta/commands.json +254 -0
  4. package/assets/commands/weave-agents.md +62 -0
  5. package/assets/commands/weave-approve.md +61 -0
  6. package/assets/commands/weave-build.md +99 -0
  7. package/assets/commands/weave-help.md +112 -158
  8. package/assets/commands/weave-interview.md +121 -0
  9. package/assets/commands/weave-map.md +109 -0
  10. package/assets/commands/weave-troubleshoot.md +57 -0
  11. package/dist/plugin/index.d.ts +5 -1
  12. package/dist/plugin/index.d.ts.map +1 -1
  13. package/dist/plugin/index.js +42 -18
  14. package/dist/plugin/index.js.map +1 -1
  15. package/dist/plugin/tools/command-registry.d.ts +51 -0
  16. package/dist/plugin/tools/command-registry.d.ts.map +1 -0
  17. package/dist/plugin/tools/command-registry.js +348 -0
  18. package/dist/plugin/tools/command-registry.js.map +1 -0
  19. package/dist/plugin/tools/slashcommand.d.ts +1 -1
  20. package/dist/plugin/tools/slashcommand.d.ts.map +1 -1
  21. package/dist/plugin/tools/slashcommand.js +47 -193
  22. package/dist/plugin/tools/slashcommand.js.map +1 -1
  23. package/dist/plugin/tools/weave.d.ts +14 -35
  24. package/dist/plugin/tools/weave.d.ts.map +1 -1
  25. package/dist/plugin/tools/weave.js +247 -213
  26. package/dist/plugin/tools/weave.js.map +1 -1
  27. package/package.json +142 -142
  28. package/postinstall.mjs +64 -14
  29. package/assets/commands/weave-approve-plan.md +0 -57
  30. package/assets/commands/weave-design.md +0 -296
  31. package/assets/commands/weave-flow.md +0 -48
  32. package/assets/commands/weave-plan.md +0 -15
  33. package/assets/commands/weave-research.md +0 -51
  34. package/assets/commands/weave-spec.md +0 -227
  35. package/assets/commands/weave-switch.md +0 -170
package/README.ko.md CHANGED
@@ -1,657 +1,640 @@
1
- # 🎭 Maskweaver: OpenCode를 위한 전문가 페르소나 프레임워크
2
-
3
- <div align="center">
4
-
5
- <img src="docs/images/hero.png" width="800" alt="Maskweaver Hero Image">
6
-
7
- > **AI 페르소나를 위한 npm** — OpenCode 어시스턴트에게 독보적인 전문가 인격을 더하세요
8
-
9
- [![GitHub Release](https://img.shields.io/github/v/release/ulgerang/maskweaver?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/ulgerang/maskweaver/releases)
10
- [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](LICENSE)
11
- [![npm](https://img.shields.io/npm/v/maskweaver?color=ff6b35&labelColor=black&style=flat-square)](https://www.npmjs.com/package/maskweaver)
12
-
13
- [English](README.md) | [한국어](README.ko.md)
14
-
15
- </div>
16
-
17
- ---
18
-
19
- ## 🔌 OpenCode 통합
20
-
21
- **Maskweaver는 [OpenCode](https://github.com/sst/opencode) 생태계의 핵심 구성 요소입니다.**
22
-
23
- 본 프로젝트는 독립적인 라이브러리로도 사용 가능하지만, 기본적으로 OpenCode 에이전트들이 특정 분야의 전문 지식을 갖출 수 있도록 설계되었습니다:
24
- - **전문가 페르소나 (Masks)**: 전설적인 개발자들의 철학을 담은 표준 YAML 프로필.
25
- - **스마트 위임**: OpenCode에 최적화된 멀티 에이전트 워크플로우.
26
- - **프로젝트 메모리**: 코드베이스 전체에 대한 하이브리드 의미론적 검색.
27
- - **🆕 Weave 워크플로우**: AI 자체 검증이 포함된 Phase 기반 개발.
28
- - **🔗 GDC 통합**: Graph-Driven Codebase 지원으로 리서치 품질 향상 및 설계 시점 검증 게이트 추가.
29
-
30
- ---
31
-
32
- ## 왜 Maskweaver인가요?
33
-
34
- 레이스 컨디션 버그로 고생 중이라면, **린 토발즈**가 코드를 봐준다면 얼마나 좋을까요?
35
-
36
- ```typescript
37
- // 일반 AI 답변 대신...
38
- "코드에 잠재적 레이스 컨디션이 있습니다."
39
-
40
- // 린 토발즈 수준의 인사이트:
41
- "이건 멍청한 코드야. 메모리 배리어도 안 썼잖아. 어셈블리 봐봐 -
42
- 컴파일러가 로드 순서 바꿨어. smp_rmb() 쓰든지, 아예 이 멍청한
43
- 락 없이 다시 설계해."
44
- ```
45
-
46
- **Maskweaver가 이걸 가능하게 합니다.** AI 어시스턴트에 전문가 페르소나(가면)를 씌워 깊은 도메인 지식과 독특한 사고방식을 부여합니다.
47
-
48
- ---
49
-
50
- ## 설치
51
-
52
- ### 빠른 설치
53
-
54
- ```bash
55
- # npm
56
- npm install maskweaver
57
-
58
- # bun
59
- bun add maskweaver
60
- ```
61
-
62
- ### OpenCode 플러그인 설정
63
-
64
- OpenCode 설정에 추가하면 끝!
65
-
66
- **전역** (`~/.config/opencode/opencode.json`):
67
- ```json
68
- {
69
- "plugin": ["maskweaver"]
70
- }
71
- ```
72
-
73
- **또는 프로젝트별** (프로젝트 루트의 `opencode.json`):
74
- ```json
75
- {
76
- "plugin": ["maskweaver"]
77
- }
78
- ```
79
-
80
- > 참고: OpenCode는 npm 패키지를 이름으로 설치합니다. `maskweaver`를 사용하세요 (`maskweaver/plugin` 아님).
81
-
82
- OpenCode가 시작 시 자동으로 `~/.cache/opencode/node_modules/`에 플러그인을 설치합니다.
83
-
84
- **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
85
-
86
- ### 완료 알림 소리 (선택)
87
-
88
- Maskweaver는 생성이 끝나서 세션이 idle 상태가 되면(`session.idle`) 알림 소리를 재생할 수 있습니다.
89
-
90
- `.opencode/maskweaver.json`(프로젝트) 또는 `~/.config/opencode/maskweaver.json`(전역)에 설정하세요:
91
-
92
- ```jsonc
93
- {
94
- "notifications": {
95
- "completionSound": {
96
- "enabled": true
97
- }
98
- }
99
- }
100
- ```
101
-
102
- 끄려면:
103
-
104
- ```jsonc
105
- {
106
- "notifications": {
107
- "completionSound": {
108
- "enabled": false
109
- }
110
- }
111
- }
112
- ```
113
-
114
- ### 설치된 버전 확인
115
-
116
- Maskweaver 버전을 확인하는 여러 방법:
117
-
118
- ```bash
119
- # CLI (터미널)
120
- maskweaver --version
121
- # 또는
122
- maskweaver -V
123
-
124
- # npm
125
- npm list maskweaver
126
-
127
- # OpenCode 채팅 내에서
128
- # maskweaver_status 도구를 사용하거나:
129
- /weave help
130
- ```
131
-
132
- ```typescript
133
- // 프로그래밍 방식 (Node.js / TypeScript)
134
- import { VERSION } from 'maskweaver';
135
- console.log(VERSION); // "0.7.29"
136
- ```
137
-
138
- ---
139
-
140
- ## 빠른 시작
141
-
142
- ### 첫 사용
143
-
144
- ```bash
145
- # AI 어시스턴트 채팅에서:
146
- @maskweaver 린 토발즈 가면으로 이 C 코드 리뷰해줘
147
-
148
- # 또는 더미인간에게 위임:
149
- @dummy-human 린 토발즈 가면으로 멀티스레딩 코드 리뷰
150
- @dummy-flash "unsafe" 들어간 파일 전부 찾아줘
151
- @dummy-premium 이 모놀리스를 마이크로서비스로 설계해줘
152
- ```
153
-
154
- ---
155
-
156
- ## 기능
157
-
158
- ### 🎭 전문가 페르소나 (가면)
159
-
160
- 전설적인 개발자의 인격을 AI에 적용:
161
-
162
- ```yaml
163
- # masks/software-engineering/linus-torvalds.yaml
164
- profile:
165
- name: Linus Torvalds
166
- expertise:
167
- - 커널 수준 시스템 프로그래밍
168
- - 성능 최적화
169
- - 메모리 관리 및 동시성
170
-
171
- thinkingStyle: |
172
- 상향식, 실용적 접근. 이론이 아닌 코드부터.
173
- 복잡함을 무자비하게 제거.
174
- ```
175
-
176
- **현재 가면:**
177
- - 🐧 **린 토발즈** - 시스템, C, 리눅스, 성능
178
- - 🏗️ **마틴 파울러** - 아키텍처, 리팩토링, 패턴
179
- - 🧪 **켄트 벡** - TDD, XP, 테스팅
180
- - 🧠 **앤드류 응** - ML/AI 시스템
181
- - ⚛️ **댄 아브라모프** - React, 프론트엔드 아키텍처
182
-
183
- ### 🤖 더미인간 시스템
184
-
185
- 비용 효율적인 멀티 에이전트 워크플로우를 위한 스마트 서브에이전트:
186
-
187
- | 에이전트 | 모델 등급 | 비용 | 최적 용도 |
188
- |---------|----------|------|-----------|
189
- | `@dummy-flash` | 빠름 | 💰 | 파일 검색, 요약, 간단한 작업 |
190
- | `@dummy-human` | 균형 | 💰💰 | 코드 작성, 리뷰, 일반 작업 |
191
- | `@dummy-premium` | 강력 | 💰💰💰 | 아키텍처, 복잡한 디버깅 |
192
-
193
- ### 🧵 Weave 워크플로우
194
-
195
- **Phase 기반 개발** — "AI가 검증하고, 유저가 확인한다"
196
-
197
- Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가능한 Phase로 나누고, 전문가 마스크를 자동 선택하며, 유저 전달 전 구조화된 검증 단계를 제공합니다.
198
-
199
- #### 명령어
200
-
201
- | 명령어 | 설명 |
202
- |--------|------|
203
- | `/weave init` | Weave 초기화 (프로젝트당 1회) |
204
- | `/weave research [docs]` | 문서 + 워크스페이스 맥락을 깊게 읽고 `tasks/research.md` 생성 |
205
- | `/weave prepare [docs]` | (수동 경로) research + baseline spec + phase plan 생성 (큰 계획은 자동 분할) |
206
- | `/weave refine-plan` | `tasks/plan-notes.md` 지시문을 active plan에 반영 |
207
- | `/weave approve-plan` | 구현 사람이 계획 승인(게이트) |
208
- | `/weave flow [docs]` | (권장) 원커맨드 경로: prepare -> auto-approve -> craft -> verify -> finalize |
209
- | `/weave spec [docs]` | baseline spec만 생성 (선택) |
210
- | `/weave design [docs]` | 요구사항 분석 Phase 계획 생성 (`/weave plan`은 별칭/호환, 큰 계획은 자동 분할) |
211
- | `/weave craft [P#]` | Phase 실행 컨텍스트/가이드 생성 |
212
- | `/weave verify` | 빌드/테스트 검증 실행 (자동 감지) |
213
- | `/weave worktree ...` | git worktree 기반 병렬 작업 관리 |
214
- | `/weave status` | 프로젝트 진행 상황 및 통계 확인 |
215
- | `/weave help` | 도움말 표시 |
216
-
217
- > Tip: OpenCode 채팅에서는 `/weave ...` 형태로 실행하고, 내부적으로는 `weave command=...` 도구 호출로 매핑됩니다.
218
-
219
- #### 워크플로우
220
-
221
- ```
222
- 0. INIT (1회): /weave init
223
-
224
- 1. 원커맨드(권장): /weave flow docs/
225
- - 실행: prepare -> auto-approve -> craft -> verify -> finalize
226
-
227
- (또는 수동 경로)
228
-
229
- 2. PLAN (수동): /weave prepare docs/
230
- - 또는: /weave research docs/ → /weave spec docs/ → /weave design docs/
231
-
232
- 3. REFINE (선택): /weave refine-plan
233
- - tasks/plan-notes.md 기반 계획 정제
234
-
235
- 4. APPROVAL GATE: /weave approve-plan
236
- - craft 실행 필수 승인
237
-
238
- 5. CRAFT: /weave craft
239
- - Phase 실행 계획과 다음 액션 안내 생성
240
- - 구현/검증 후 approve-plan으로 phase 완료 처리
241
- - `/weave verify`로 빌드/테스트 검증 가능
242
-
243
- 6. HANDOFF: 유저가 UX/의도 확인 다음 Phase로 진행
244
- ```
245
-
246
- #### 다층 AI 검증 시스템
247
-
248
- 유저에게 전달하기 전, AI가 다음 검증 레이어를 실행합니다:
249
-
250
- | 레이어 | 유형 | 도구 |
251
- |--------|------|------|
252
- | 1️⃣ TypeCheck | 빌드 | `tsc --noEmit` |
253
- | 2️⃣ Lint | 빌드 | `eslint` |
254
- | 3️⃣ Build | 빌드 | `npm run build` |
255
- | 4️⃣ Unit Tests | 테스트 | `jest` / `vitest` |
256
- | 5️⃣ E2E Tests | 테스트 | **Playwright** |
257
- | 6️⃣ Screenshot | 시각 | Playwright / 브라우저 캡처 |
258
- | 7️⃣ API Check | API | `fetch` 헬스 체크 |
259
- | 8️⃣ A11y | 접근성 | `axe-core` |
260
- | 0️⃣ GDC Check | 설계 | `gdc check --machine` |
261
-
262
- #### GDC 통합 (Graph-Driven Codebase)
263
-
264
- Weave는 [GDC](https://github.com/ulgerang/gdc)(Graph-Driven Codebase)와 통합되어 리서치 품질을 향상시키고 설계 시점 검증 게이트를 추가합니다:
265
-
266
- **리서치 강화:**
267
- - `.gdc` 워크스페이스 자동 감지
268
- - GDC `stats`, `graph`, `check` 결과를 `tasks/research.md`에 포함
269
- - 그래프 엣지 기반 의존성 영향 범위(Blast Radius) 분석
270
- - 기능 키워드와 매칭된 재사용 후보 노드
271
- - 새 보고서 섹션: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
272
-
273
- **Pre-Verify 게이트:**
274
- GDC가 감지되면 `weave verify`와 `weave flow`가 자동으로 실행:
275
- 1. `gdc sync --machine` - 스펙과 구현 동기화
276
- 2. `gdc check --machine` - 스펙/구현 일치성 검증
277
-
278
- GDC check의 블로킹 에러는 검증을 중단시킵니다(`strictVerify` 모드로 설정 가능).
279
-
280
- **설정** (`maskweaver.config.json`):
281
- ```json
282
- {
283
- "gdc": {
284
- "enabled": "auto",
285
- "strictVerify": false,
286
- "autoSyncOnPrepare": true
287
- }
288
- }
289
- ```
290
-
291
- - `enabled`: `true` | `false` | `"auto"` (기본값: `.gdc` 디렉터리 자동 감지)
292
- - `strictVerify`: `true`면 GDC check 실패 검증 차단; `false`면 경고 후 계속 진행
293
- - `autoSyncOnPrepare`: `weave prepare` 시 `gdc sync` 실행
294
-
295
- #### 마스크 자동 선택
296
-
297
- AI가 작업에 가장 적합한 전문가를 자동으로 선택합니다:
298
-
299
- | 작업 유형 | 자동 선택 마스크 |
300
- |----------|-----------------|
301
- | 아키텍처/설계 | 🏗️ 마틴 파울러 |
302
- | 테스트/TDD | 🧪 켄트 |
303
- | React/프론트엔드 | ⚛️ 댄 아브라모프 |
304
- | 성능/시스템 | 🐧 토발즈 |
305
- | ML/AI | 🧠 앤드류 응 |
306
-
307
- #### 글로벌 지식 베이스 (프로젝트 간 RAG)
308
-
309
- 트러블슈팅 솔루션이 전역으로 저장되어 모든 프로젝트에서 공유됩니다:
310
-
311
- ```
312
- 에러 발생 ~/.maskweaver/knowledge.sqlite 검색
313
- ├── 발견 → 솔루션 적용 → 재시도
314
- └── 미발견 직접 해결 → 향후를 위해 솔루션 기록
315
- ```
316
-
317
- ### 🧠 메모리 시스템
318
-
319
- 과거 대화, 결정, 가면 효과를 기억:
320
-
321
- ```typescript
322
- import { memory } from 'maskweaver';
323
-
324
- // 프로젝트 지식 인덱싱
325
- await memory.indexFile('./docs/architecture.md', embedFn);
326
-
327
- // 여러 프로바이더로 의미론적 검색:
328
- const results = await memory.hybridSearch(
329
- '인증은 어떻게 작동하나요?',
330
- embedding,
331
- { limit: 5, minScore: 0.7 }
332
- );
333
- ```
334
-
335
- **임베딩 프로바이더:**
336
- - 🦙 **Ollama** - 로컬, 프라이빗 (bge-m3, nomic-embed)
337
- - 🤖 **OpenAI** - text-embedding-3-large
338
- - 🚀 **VoyageAI** - 코드 특화 임베딩!
339
- - 🔀 **OpenRouter** - 여러 프로바이더 접근
340
- - 📝 **Text-only** - 임베딩 없음, 순수 FTS5
341
-
342
- ### 🗂️ 컨텍스트 시스템
343
-
344
- 파일 연결로 장기 실행 기능 추적:
345
-
346
- ```bash
347
- # 기능 시작
348
- @context start name="oauth-login" goal="OAuth2 플로우 구현"
349
-
350
- # 기능 컨텍스트에 파일 추가
351
- @context add file="src/auth/oauth.ts"
352
-
353
- # 상태 확인
354
- @context status
355
-
356
- # 완료 표시
357
- @context done
358
- ```
359
-
360
- ### 🔄 회고 시스템
361
-
362
- 세션 후 가면 효과 평가:
363
-
364
- ```typescript
365
- {
366
- "trigger": "session_end",
367
- "masksUsed": [
368
- {
369
- "name": "linus-torvalds",
370
- "task": "멀티스레딩 코드 리뷰",
371
- "effectiveness": 9.5
372
- }
373
- ],
374
- "wellDone": ["치명적 레이스 컨디션 3개 발견"],
375
- "lessons": ["린 토발즈 가면은 동시성 리뷰에 탁월"]
376
- }
377
- ```
378
-
379
- ---
380
-
381
- ## 📦 패키지 구조
382
-
383
- Maskweaver는 모듈식 exports를 가진 단일 npm 패키지입니다:
384
-
385
- ```typescript
386
- // 기본 export - OpenCode 플러그인
387
- import maskweaver from 'maskweaver';
388
-
389
- // Named exports - 모듈 네임스페이스
390
- import { core, memory, context, retrospect, verify, weave } from 'maskweaver';
391
-
392
- // 서브경로 imports - 직접 모듈 접근
393
- import { hybridSearch } from 'maskweaver/memory';
394
- import { createFeature } from 'maskweaver/context';
395
- import { MaskLoader } from 'maskweaver/core';
396
- import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
397
- ```
398
-
399
- **모듈:**
400
- - `maskweaver/core` - 가면 로딩, 검증 (YAML/JSON)
401
- - `maskweaver/memory` - 임베딩 + 벡터 검색 (5개 프로바이더)
402
- - `maskweaver/context` - 기능 기반 작업 추적
403
- - `maskweaver/verify` - 교차 가면 코드 리뷰
404
- - `maskweaver/retrospect` - 세션 효과 분석
405
- - `maskweaver/weave` - Phase 기반 개발 워크플로우
406
- - `maskweaver/gdc` - GDC(Graph-Driven Codebase) 통합 유틸리티
407
- - `maskweaver/plugin` - OpenCode 플러그인 엔트리 포인트
408
-
409
- ---
410
-
411
- ## 🧵 Weave 사용 가이드
412
-
413
- ### 0단계: 초기화 (프로젝트당 1회)
414
-
415
- ```bash
416
- /weave init
417
- ```
418
-
419
- ### 1단계: 플랜 생성 (Flow 권장)
420
-
421
- 가장 빠른 원커맨드 경로:
422
-
423
- ```bash
424
- /weave flow docs/
425
- ```
426
-
427
- 한 번에 `prepare -> auto-approve -> craft -> verify -> finalize`까지 실행합니다.
428
-
429
- 수동 happy path (research + spec + plan 한 번에):
430
-
431
- ```bash
432
- /weave prepare docs/
433
- /weave approve-plan
434
- ```
435
-
436
- 또는 전체 파이프라인을 분리해서 실행:
437
-
438
- ```bash
439
- /weave research docs/
440
- /weave spec docs/
441
- /weave design docs/
442
- /weave approve-plan
443
- ```
444
-
445
- AI가 수행하는 작업:
446
- 1. 경로 모든 문서 읽기
447
- 2. 유사한 과거 프로젝트를 메모리에서 검색
448
- 3. 필요시 명확화 질문
449
- 4. 승인을 위한 **Phase 계획서** 제시
450
-
451
- 출력 예시:
452
- ```markdown
453
- ## 📋 실행 계획서
454
-
455
- ### 비전
456
- AI 인사이트가 포함된 현대적 감정 일기 앱 구축
457
-
458
- ### Phase 계획
459
- | Phase | 이름 | 완료 조건 | 예상 시간 |
460
- |-------|------|----------|----------|
461
- | P1 | 감정 선택 UI | 유저가 감정을 선택할 수 있음 | 2-3시간 |
462
- | P2 | 데이터 저장 | 감정이 스토리지에 저장됨 | 2-3시간 |
463
- | P3 | 히스토리 뷰 | 유저가 과거 기록을 볼 수 있음 | 2-3시간 |
464
-
465
- 계획이 괜찮으세요? 변경이 필요하면 말씀해주세요.
466
- ```
467
-
468
- ### 2단계: 계획 승인(필수)
469
-
470
- ```bash
471
- /weave approve-plan
472
- ```
473
-
474
- ### 3단계: Phase 실행 계획 생성 (Craft)
475
-
476
- 승인 후 실행 시작:
477
-
478
- ```bash
479
- /weave craft
480
- ```
481
-
482
- `/weave craft`는 phase 실행 컨텍스트를 생성합니다(phase 미지정 시 다음 phase 자동 선택). 구현 반영 후 같은 명령으로 계획을 다시 확인할 수 있습니다.
483
-
484
- ### 4단계: 구현 진행
485
-
486
- ```txt
487
- weave command=craft phaseId="P1"
488
- weave command=verify
489
- ```
490
-
491
- 원커맨드로 이어서 진행하려면:
492
-
493
- ```txt
494
- weave command=flow
495
- ```
496
-
497
- ### 5단계: Phase 완료 처리
498
-
499
- ```txt
500
- weave command=verify
501
- weave command=approve-plan
502
- ```
503
-
504
- ### 6단계: 핸드오프 & 검증
505
-
506
- 모든 검증이 통과되면:
507
-
508
- ```markdown
509
- ## Phase P1 검증 완료!
510
-
511
- ### 🤖 AI 테스트 결과
512
- | 테스트 | 결과 |
513
- |--------|------|
514
- | Build | ✅ 성공 |
515
- | Unit Tests | ✅ 15/15 |
516
- | Lint | 통과 |
517
-
518
- ### 🎭 사용된 마스크
519
- - 켄트 벡 (테스트)
520
- - 댄 아브라모프 (React 컴포넌트)
521
-
522
- ### 🔗 접속
523
- http://localhost:5173
524
-
525
- ### 👤 사람만 판단 가능한 것
526
- - [ ] 느낌이 의도대로인가요?
527
- - [ ] 사용성이 좋은가요?
528
- - [ ] 원하던 기능이 맞나요?
529
-
530
- **[승인]** **[변경 요청]** **[나중에]**
531
- ```
532
-
533
- ### 6단계: 언제든지 상태 확인
534
-
535
- ```bash
536
- /weave status
537
- ```
538
-
539
- 출력:
540
- ```markdown
541
- ## 📊 Weave 진행 상황
542
-
543
- **프로젝트**: 감정 일기 앱
544
- **진행률**: 40%
545
-
546
- [████████░░░░░░░░░░░░] 2/5
547
-
548
- ### Phases
549
- ✅ **P1**: 감정 선택 UI (2.5h) [kent-beck, dan-abramov]
550
- 🔄 **P2**: 데이터 저장
551
- **P3**: 히스토리 뷰
552
- ⏳ **P4**: 통계
553
- **P5**: 테마 설정
554
-
555
- ### 글로벌 지식 통계
556
- - 총 트러블슈팅 기록: 47개
557
- - 이 프로젝트에서 활용: 3개
558
- - 새로 기록됨: 1개
559
- ```
560
-
561
- ---
562
-
563
- ## 🎭 가면 만들기
564
-
565
- 가면은 간단한 YAML 파일입니다:
566
-
567
- ```yaml
568
- # masks/my-expert.yaml
569
- metadata:
570
- id: my-expert
571
- version: '1.0'
572
- language: ko
573
-
574
- profile:
575
- name: 에이다 러브레이스
576
- tagline: 컴퓨팅의 선구자 - 최초의 프로그래머
577
-
578
- expertise:
579
- - 알고리즘 설계
580
- - 수학적 사고
581
- - 해석 기관
582
-
583
- thinkingStyle: |
584
- 수학적 엄밀함과 시적 상상력을 결합합니다.
585
- 다른 사람들이 놓치는 패턴을 봅니다.
586
-
587
- behavior:
588
- systemPrompt: |
589
- 당신은 최초의 컴퓨터 프로그래머 에이다 러브레이스입니다.
590
-
591
- 알고리즘을 시로 봅니다 - 우아하고, 정확하고, 아름답게.
592
- 수학적 변환과 논리적 흐름의 관점에서 생각합니다.
593
-
594
- communicationStyle:
595
- tone: 사려깊은
596
- verbosity: 적당한
597
- technicalDepth: 전문가
598
-
599
- usage:
600
- suitableFor:
601
- - 알고리즘 설계 및 최적화
602
- - 수학적 문제 해결
603
- - 코드의 패턴 인식
604
- ```
605
-
606
- ---
607
-
608
- ## 🌍 다국어
609
-
610
- 지원 준비 완료:
611
- - 🇺🇸 영어
612
- - 🇰🇷 한국어
613
- - 🇨🇳 중국어 *(준비중)*
614
- - 🇯🇵 일본어 *(준비중)*
615
-
616
- 가면은 여러 언어 버전을 가질 수 있습니다:
617
- ```
618
- masks/
619
- ├── linus-torvalds.en.yaml
620
- ├── linus-torvalds.ko.yaml
621
- └── linus-torvalds.zh.yaml
622
- ```
623
-
624
- ---
625
-
626
- ## 🤝 기여하기
627
-
628
- 도움이 필요합니다!
629
-
630
- ### 가면 추가
631
-
632
- `masks/`에 YAML 파일을 만들고 PR을 제출하세요:
633
- - ✅ 실제 전문성 (도메인 지식)
634
- - ✅ 독특한 인격 (사고 방식)
635
- - ✅ 명확한 사용 사례 (언제 사용할지)
636
- - ✅ 예시 (예상 동작)
637
-
638
- ### 버그 리포트
639
-
640
- 다음 내용으로 이슈를 열어주세요:
641
- 1. 무엇을 시도했는지
642
- 2. 무슨 일이 일어났는지
643
- 3. 무엇을 예상했는지
644
-
645
- 자세한 내용은 [CONTRIBUTING.md](CONTRIBUTING.md)를 참조하세요.
646
-
647
- ---
648
-
649
- ## 📄 라이선스
650
-
651
- MIT - [LICENSE](LICENSE) 참조
652
-
653
- ---
654
-
655
- <p align="center">
656
- <sub>🎭와 함께 제작 by <a href="https://github.com/ulgerang">ULJI SOFT</a></sub>
657
- </p>
1
+ # 🎭 Maskweaver: OpenCode를 위한 전문가 페르소나 프레임워크
2
+
3
+ <div align="center">
4
+
5
+ <img src="docs/images/hero.png" width="800" alt="Maskweaver Hero Image">
6
+
7
+ > **AI 페르소나를 위한 npm** — OpenCode 어시스턴트에게 독보적인 전문가 인격을 더하세요
8
+
9
+ [![GitHub Release](https://img.shields.io/github/v/release/ulgerang/maskweaver?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/ulgerang/maskweaver/releases)
10
+ [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](LICENSE)
11
+ [![npm](https://img.shields.io/npm/v/maskweaver?color=ff6b35&labelColor=black&style=flat-square)](https://www.npmjs.com/package/maskweaver)
12
+
13
+ [English](README.md) | [한국어](README.ko.md)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## 🔌 OpenCode 통합
20
+
21
+ **Maskweaver는 [OpenCode](https://github.com/sst/opencode) 생태계의 핵심 구성 요소입니다.**
22
+
23
+ 본 프로젝트는 독립적인 라이브러리로도 사용 가능하지만, 기본적으로 OpenCode 에이전트들이 특정 분야의 전문 지식을 갖출 수 있도록 설계되었습니다:
24
+ - **전문가 페르소나 (Masks)**: 전설적인 개발자들의 철학을 담은 표준 YAML 프로필.
25
+ - **스마트 위임**: OpenCode에 최적화된 멀티 에이전트 워크플로우.
26
+ - **프로젝트 메모리**: 코드베이스 전체에 대한 하이브리드 의미론적 검색.
27
+ - **🆕 Weave 워크플로우**: AI 자체 검증이 포함된 Phase 기반 개발.
28
+ - **🔗 GDC 통합**: Graph-Driven Codebase 지원으로 리서치 품질 향상 및 설계 시점 검증 게이트 추가.
29
+
30
+ ---
31
+
32
+ ## 왜 Maskweaver인가요?
33
+
34
+ 레이스 컨디션 버그로 고생 중이라면, **린 토발즈**가 코드를 봐준다면 얼마나 좋을까요?
35
+
36
+ ```typescript
37
+ // 일반 AI 답변 대신...
38
+ "코드에 잠재적 레이스 컨디션이 있습니다."
39
+
40
+ // 린 토발즈 수준의 인사이트:
41
+ "이건 멍청한 코드야. 메모리 배리어도 안 썼잖아. 어셈블리 봐봐 -
42
+ 컴파일러가 로드 순서 바꿨어. smp_rmb() 쓰든지, 아예 이 멍청한
43
+ 락 없이 다시 설계해."
44
+ ```
45
+
46
+ **Maskweaver가 이걸 가능하게 합니다.** AI 어시스턴트에 전문가 페르소나(가면)를 씌워 깊은 도메인 지식과 독특한 사고방식을 부여합니다.
47
+
48
+ ---
49
+
50
+ ## 설치
51
+
52
+ ### 빠른 설치
53
+
54
+ ```bash
55
+ # npm
56
+ npm install maskweaver
57
+
58
+ # bun
59
+ bun add maskweaver
60
+ ```
61
+
62
+ ### OpenCode 플러그인 설정
63
+
64
+ OpenCode 설정에 추가하면 끝!
65
+
66
+ **전역** (`~/.config/opencode/opencode.json`):
67
+ ```json
68
+ {
69
+ "plugin": ["maskweaver"]
70
+ }
71
+ ```
72
+
73
+ **또는 프로젝트별** (프로젝트 루트의 `opencode.json`):
74
+ ```json
75
+ {
76
+ "plugin": ["maskweaver"]
77
+ }
78
+ ```
79
+
80
+ > 참고: OpenCode는 npm 패키지를 이름으로 설치합니다. `maskweaver`를 사용하세요 (`maskweaver/plugin` 아님).
81
+
82
+ OpenCode가 시작 시 자동으로 `~/.cache/opencode/node_modules/`에 플러그인을 설치합니다.
83
+
84
+ **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
85
+
86
+ ### 완료 알림 소리 (선택)
87
+
88
+ Maskweaver는 생성이 끝나서 세션이 idle 상태가 되면(`session.idle`) 알림 소리를 재생할 수 있습니다.
89
+
90
+ `.opencode/maskweaver.json`(프로젝트) 또는 `~/.config/opencode/maskweaver.json`(전역)에 설정하세요:
91
+
92
+ ```jsonc
93
+ {
94
+ "notifications": {
95
+ "completionSound": {
96
+ "enabled": true
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ 끄려면:
103
+
104
+ ```jsonc
105
+ {
106
+ "notifications": {
107
+ "completionSound": {
108
+ "enabled": false
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ ### 설치된 버전 확인
115
+
116
+ Maskweaver 버전을 확인하는 여러 방법:
117
+
118
+ ```bash
119
+ # CLI (터미널)
120
+ maskweaver --version
121
+ # 또는
122
+ maskweaver -V
123
+
124
+ # npm
125
+ npm list maskweaver
126
+
127
+ # OpenCode 채팅 내에서
128
+ # maskweaver_status 도구를 사용하거나:
129
+ /weave help
130
+ ```
131
+
132
+ ```typescript
133
+ // 프로그래밍 방식 (Node.js / TypeScript)
134
+ import { VERSION } from 'maskweaver';
135
+ console.log(VERSION); // "0.7.29"
136
+ ```
137
+
138
+ ---
139
+
140
+ ## 빠른 시작
141
+
142
+ ### 첫 사용
143
+
144
+ ```bash
145
+ # AI 어시스턴트 채팅에서:
146
+ @maskweaver 린 토발즈 가면으로 이 C 코드 리뷰해줘
147
+
148
+ # 또는 더미인간에게 위임:
149
+ @dummy-human 린 토발즈 가면으로 멀티스레딩 코드 리뷰
150
+ @dummy-flash "unsafe" 들어간 파일 전부 찾아줘
151
+ @dummy-premium 이 모놀리스를 마이크로서비스로 설계해줘
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 기능
157
+
158
+ ### 🎭 전문가 페르소나 (가면)
159
+
160
+ 전설적인 개발자의 인격을 AI에 적용:
161
+
162
+ ```yaml
163
+ # masks/software-engineering/linus-torvalds.yaml
164
+ profile:
165
+ name: Linus Torvalds
166
+ expertise:
167
+ - 커널 수준 시스템 프로그래밍
168
+ - 성능 최적화
169
+ - 메모리 관리 및 동시성
170
+
171
+ thinkingStyle: |
172
+ 상향식, 실용적 접근. 이론이 아닌 코드부터.
173
+ 복잡함을 무자비하게 제거.
174
+ ```
175
+
176
+ **현재 가면:**
177
+ - 🐧 **린 토발즈** - 시스템, C, 리눅스, 성능
178
+ - 🏗️ **마틴 파울러** - 아키텍처, 리팩토링, 패턴
179
+ - 🧪 **켄트 벡** - TDD, XP, 테스팅
180
+ - 🧠 **앤드류 응** - ML/AI 시스템
181
+ - ⚛️ **댄 아브라모프** - React, 프론트엔드 아키텍처
182
+
183
+ ### 🤖 더미인간 시스템
184
+
185
+ 비용 효율적인 멀티 에이전트 워크플로우를 위한 스마트 서브에이전트:
186
+
187
+ | 에이전트 | 모델 등급 | 비용 | 최적 용도 |
188
+ |---------|----------|------|-----------|
189
+ | `@dummy-flash` | 빠름 | 💰 | 파일 검색, 요약, 간단한 작업 |
190
+ | `@dummy-human` | 균형 | 💰💰 | 코드 작성, 리뷰, 일반 작업 |
191
+ | `@dummy-premium` | 강력 | 💰💰💰 | 아키텍처, 복잡한 디버깅 |
192
+
193
+ ### 🧵 Weave 워크플로우
194
+
195
+ **Phase 기반 개발** — "AI가 검증하고, 유저가 확인한다"
196
+
197
+ Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가능한 Phase로 나누고, 전문가 마스크를 자동 선택하며, 유저 전달 전 구조화된 검증 단계를 제공합니다.
198
+
199
+ #### 명령어
200
+
201
+ | 명령어 | 설명 |
202
+ |--------|------|
203
+ | `/weave init` | Weave 초기화 (프로젝트당 1회) |
204
+ | `/weave prepare [docs]` | research + spec + plan을 번에 생성 (큰 계획은 자동 분할) |
205
+ | `/weave refine-plan` | `tasks/plan-notes.md` 지시문을 active plan 반영 |
206
+ | `/weave approve` | 구현 사람이 계획 승인(게이트) |
207
+ | `/weave craft [P#]` | Phase 실행 컨텍스트/가이드 생성 |
208
+ | `/weave build` | 자율 빌드 루프 (`action=run/status/stop/list/resume/sync`) |
209
+ | `/weave verify` | 빌드/테스트 검증 실행 (자동 감지) |
210
+ | `/weave worktree ...` | git worktree 기반 병렬 작업 관리 |
211
+ | `/weave status` | 프로젝트 진행 상황 통계 확인 |
212
+ | `/weave agents` | 에이전트 파일 동기화 또는 설정 초기화 (`sync=true` / `init=true`) |
213
+ | `/weave troubleshoot` | 글로벌 지식 검색 (`record=true`로 솔루션 저장) |
214
+ | `/weave archive` | 검증된 변경사항 아카이브 |
215
+ | `/weave help` | 도움말 표시 |
216
+
217
+ > Tip: OpenCode 채팅에서는 `/weave ...` 형태로 실행하고, 내부적으로는 `weave command=...` 도구 호출로 매핑됩니다.
218
+
219
+ #### 워크플로우
220
+
221
+ ```
222
+ 0. INIT (1회): /weave init
223
+
224
+ 1. PLAN: /weave prepare docs/
225
+ - research + spec + phase plan을 번에 생성 (큰 계획은 자동 분할)
226
+
227
+ 2. REFINE (선택): /weave refine-plan
228
+ - tasks/plan-notes.md 기반 계획 정제
229
+
230
+ 3. APPROVAL GATE: /weave approve
231
+ - craft 실행 전 필수 승인
232
+
233
+ 4. CRAFT: /weave craft
234
+ - Phase 실행 계획과 다음 액션 안내 생성
235
+ - 구현/검증 approve로 phase 완료 처리
236
+ - `/weave verify`로 빌드/테스트 검증 가능
237
+
238
+ 5. HANDOFF: 유저가 UX/의도 확인 후 다음 Phase로 진행
239
+ ```
240
+
241
+ #### 다층 AI 검증 시스템
242
+
243
+ 유저에게 전달하기 전, AI가 다음 검증 레이어를 실행합니다:
244
+
245
+ | 레이어 | 유형 | 도구 |
246
+ |--------|------|------|
247
+ | 1️⃣ TypeCheck | 빌드 | `tsc --noEmit` |
248
+ | 2️⃣ Lint | 빌드 | `eslint` |
249
+ | 3️⃣ Build | 빌드 | `npm run build` |
250
+ | 4️⃣ Unit Tests | 테스트 | `jest` / `vitest` |
251
+ | 5️⃣ E2E Tests | 테스트 | **Playwright** |
252
+ | 6️⃣ Screenshot | 시각 | Playwright / 브라우저 캡처 |
253
+ | 7️⃣ API Check | API | `fetch` 헬스 체크 |
254
+ | 8️⃣ A11y | 접근성 | `axe-core` |
255
+ | 0️⃣ GDC Check | 설계 | `gdc check --machine` |
256
+
257
+ #### GDC 통합 (Graph-Driven Codebase)
258
+
259
+ Weave는 [GDC](https://github.com/ulgerang/gdc)(Graph-Driven Codebase)와 통합되어 리서치 품질을 향상시키고 설계 시점 검증 게이트를 추가합니다:
260
+
261
+ **리서치 강화:**
262
+ - `.gdc` 워크스페이스 자동 감지
263
+ - GDC `stats`, `graph`, `check` 결과를 `tasks/research.md`에 포함
264
+ - 그래프 엣지 기반 의존성 영향 범위(Blast Radius) 분석
265
+ - 기능 키워드와 매칭된 재사용 후보 노드
266
+ - 새 보고서 섹션: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
267
+
268
+ **Pre-Verify 게이트:**
269
+ GDC가 감지되면 `weave verify`와 `weave flow`가 자동으로 실행:
270
+ 1. `gdc sync --machine` - 스펙과 구현 동기화
271
+ 2. `gdc check --machine` - 스펙/구현 일치성 검증
272
+
273
+ GDC check의 블로킹 에러는 검증을 중단시킵니다(`strictVerify` 모드로 설정 가능).
274
+
275
+ **설정** (`maskweaver.config.json`):
276
+ ```json
277
+ {
278
+ "gdc": {
279
+ "enabled": "auto",
280
+ "strictVerify": false,
281
+ "autoSyncOnPrepare": true
282
+ }
283
+ }
284
+ ```
285
+
286
+ - `enabled`: `true` | `false` | `"auto"` (기본값: `.gdc` 디렉터리 자동 감지)
287
+ - `strictVerify`: `true`면 GDC check 실패 시 검증 차단; `false`면 경고 후 계속 진행
288
+ - `autoSyncOnPrepare`: `weave prepare` 시 `gdc sync` 실행
289
+
290
+ #### 마스크 자동 선택
291
+
292
+ AI가 작업에 가장 적합한 전문가를 자동으로 선택합니다:
293
+
294
+ | 작업 유형 | 자동 선택 마스크 |
295
+ |----------|-----------------|
296
+ | 아키텍처/설계 | 🏗️ 마틴 파울러 |
297
+ | 테스트/TDD | 🧪 켄트 |
298
+ | React/프론트엔드 | ⚛️ 댄 아브라모프 |
299
+ | 성능/시스템 | 🐧 토발즈 |
300
+ | ML/AI | 🧠 앤드류 응 |
301
+
302
+ #### 글로벌 지식 베이스 (프로젝트 RAG)
303
+
304
+ 트러블슈팅 솔루션이 전역으로 저장되어 모든 프로젝트에서 공유됩니다:
305
+
306
+ ```
307
+ 에러 발생 ~/.maskweaver/knowledge.sqlite 검색
308
+ ├── 발견 → 솔루션 적용 → 재시도
309
+ └── 미발견 직접 해결 향후를 위해 솔루션 기록
310
+ ```
311
+
312
+ ### 🧠 메모리 시스템
313
+
314
+ 과거 대화, 결정, 가면 효과를 기억:
315
+
316
+ ```typescript
317
+ import { memory } from 'maskweaver';
318
+
319
+ // 프로젝트 지식 인덱싱
320
+ await memory.indexFile('./docs/architecture.md', embedFn);
321
+
322
+ // 여러 프로바이더로 의미론적 검색:
323
+ const results = await memory.hybridSearch(
324
+ '인증은 어떻게 작동하나요?',
325
+ embedding,
326
+ { limit: 5, minScore: 0.7 }
327
+ );
328
+ ```
329
+
330
+ **임베딩 프로바이더:**
331
+ - 🦙 **Ollama** - 로컬, 프라이빗 (bge-m3, nomic-embed)
332
+ - 🤖 **OpenAI** - text-embedding-3-large
333
+ - 🚀 **VoyageAI** - 코드 특화 임베딩!
334
+ - 🔀 **OpenRouter** - 여러 프로바이더 접근
335
+ - 📝 **Text-only** - 임베딩 없음, 순수 FTS5
336
+
337
+ ### 🗂️ 컨텍스트 시스템
338
+
339
+ 파일 연결로 장기 실행 기능 추적:
340
+
341
+ ```bash
342
+ # 기능 시작
343
+ @context start name="oauth-login" goal="OAuth2 플로우 구현"
344
+
345
+ # 기능 컨텍스트에 파일 추가
346
+ @context add file="src/auth/oauth.ts"
347
+
348
+ # 상태 확인
349
+ @context status
350
+
351
+ # 완료 표시
352
+ @context done
353
+ ```
354
+
355
+ ### 🔄 회고 시스템
356
+
357
+ 세션 후 가면 효과 평가:
358
+
359
+ ```typescript
360
+ {
361
+ "trigger": "session_end",
362
+ "masksUsed": [
363
+ {
364
+ "name": "linus-torvalds",
365
+ "task": "멀티스레딩 코드 리뷰",
366
+ "effectiveness": 9.5
367
+ }
368
+ ],
369
+ "wellDone": ["치명적 레이스 컨디션 3개 발견"],
370
+ "lessons": [" 토발즈 가면은 동시성 리뷰에 탁월"]
371
+ }
372
+ ```
373
+
374
+ ---
375
+
376
+ ## 📦 패키지 구조
377
+
378
+ Maskweaver는 모듈식 exports를 가진 단일 npm 패키지입니다:
379
+
380
+ ```typescript
381
+ // 기본 export - OpenCode 플러그인
382
+ import maskweaver from 'maskweaver';
383
+
384
+ // Named exports - 모듈 네임스페이스
385
+ import { core, memory, context, retrospect, verify, weave } from 'maskweaver';
386
+
387
+ // 서브경로 imports - 직접 모듈 접근
388
+ import { hybridSearch } from 'maskweaver/memory';
389
+ import { createFeature } from 'maskweaver/context';
390
+ import { MaskLoader } from 'maskweaver/core';
391
+ import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
392
+ ```
393
+
394
+ **모듈:**
395
+ - `maskweaver/core` - 가면 로딩, 검증 (YAML/JSON)
396
+ - `maskweaver/memory` - 임베딩 + 벡터 검색 (5개 프로바이더)
397
+ - `maskweaver/context` - 기능 기반 작업 추적
398
+ - `maskweaver/verify` - 교차 가면 코드 리뷰
399
+ - `maskweaver/retrospect` - 세션 효과 분석
400
+ - `maskweaver/weave` - Phase 기반 개발 워크플로우
401
+ - `maskweaver/gdc` - GDC(Graph-Driven Codebase) 통합 유틸리티
402
+ - `maskweaver/plugin` - OpenCode 플러그인 엔트리 포인트
403
+
404
+ ---
405
+
406
+ ## 🧵 Weave 사용 가이드
407
+
408
+ ### 0단계: 초기화 (프로젝트당 1회)
409
+
410
+ ```bash
411
+ /weave init
412
+ ```
413
+
414
+ ### 1단계: 플랜 생성
415
+
416
+ research + spec + plan을 한 번에 생성:
417
+
418
+ ```bash
419
+ /weave prepare docs/
420
+ ```
421
+
422
+ 그 다음 계획을 승인합니다:
423
+
424
+ ```bash
425
+ /weave approve
426
+ ```
427
+
428
+ AI가 수행하는 작업:
429
+ 1. 경로 모든 문서 읽기
430
+ 2. 유사한 과거 프로젝트를 메모리에서 검색
431
+ 3. 필요시 명확화 질문
432
+ 4. 승인을 위한 **Phase 계획서** 제시
433
+
434
+ 출력 예시:
435
+ ```markdown
436
+ ## 📋 실행 계획서
437
+
438
+ ### 비전
439
+ AI 인사이트가 포함된 현대적 감정 일기 앱 구축
440
+
441
+ ### Phase 계획
442
+ | Phase | 이름 | 완료 조건 | 예상 시간 |
443
+ |-------|------|----------|----------|
444
+ | P1 | 감정 선택 UI | 유저가 감정을 선택할 수 있음 | 2-3시간 |
445
+ | P2 | 데이터 저장 | 감정이 스토리지에 저장됨 | 2-3시간 |
446
+ | P3 | 히스토리 | 유저가 과거 기록을 볼 수 있음 | 2-3시간 |
447
+
448
+ 계획이 괜찮으세요? 변경이 필요하면 말씀해주세요.
449
+ ```
450
+
451
+ ### 2단계: 계획 승인(필수)
452
+
453
+ ```bash
454
+ /weave approve
455
+ ```
456
+
457
+ ### 3단계: Phase 실행 계획 생성 (Craft)
458
+
459
+ 승인 실행 시작:
460
+
461
+ ```bash
462
+ /weave craft
463
+ ```
464
+
465
+ `/weave craft`는 phase 실행 컨텍스트를 생성합니다(phase 미지정 시 다음 phase 자동 선택). 구현 반영 후 같은 명령으로 계획을 다시 확인할 수 있습니다.
466
+
467
+ ### 4단계: 구현 진행
468
+
469
+ ```txt
470
+ weave command=craft phaseId="P1"
471
+ weave command=verify
472
+ ```
473
+
474
+ 자율 빌드 루프:
475
+
476
+ ```txt
477
+ weave command=build action=run phaseIds="P1,P2"
478
+ ```
479
+
480
+ ### 5단계: Phase 완료 처리
481
+
482
+ ```txt
483
+ weave command=verify
484
+ weave command=approve
485
+ ```
486
+
487
+ ### 6단계: 핸드오프 & 검증
488
+
489
+ 모든 검증이 통과되면:
490
+
491
+ ```markdown
492
+ ## ✅ Phase P1 검증 완료!
493
+
494
+ ### 🤖 AI 테스트 결과
495
+ | 테스트 | 결과 |
496
+ |--------|------|
497
+ | Build | 성공 |
498
+ | Unit Tests | ✅ 15/15 |
499
+ | Lint | ✅ 통과 |
500
+
501
+ ### 🎭 사용된 마스크
502
+ - 켄트 벡 (테스트)
503
+ - 댄 아브라모프 (React 컴포넌트)
504
+
505
+ ### 🔗 접속
506
+ http://localhost:5173
507
+
508
+ ### 👤 사람만 판단 가능한 것
509
+ - [ ] 느낌이 의도대로인가요?
510
+ - [ ] 사용성이 좋은가요?
511
+ - [ ] 원하던 기능이 맞나요?
512
+
513
+ **[승인]** **[변경 요청]** **[나중에]**
514
+ ```
515
+
516
+ ### 6단계: 언제든지 상태 확인
517
+
518
+ ```bash
519
+ /weave status
520
+ ```
521
+
522
+ 출력:
523
+ ```markdown
524
+ ## 📊 Weave 진행 상황
525
+
526
+ **프로젝트**: 감정 일기
527
+ **진행률**: 40%
528
+
529
+ [████████░░░░░░░░░░░░] 2/5
530
+
531
+ ### Phases
532
+ ✅ **P1**: 감정 선택 UI (2.5h) [kent-beck, dan-abramov]
533
+ 🔄 **P2**: 데이터 저장
534
+ ⏳ **P3**: 히스토리 뷰
535
+ ⏳ **P4**: 통계
536
+ **P5**: 테마 설정
537
+
538
+ ### 글로벌 지식 통계
539
+ - 총 트러블슈팅 기록: 47개
540
+ - 이 프로젝트에서 활용: 3개
541
+ - 새로 기록됨: 1개
542
+ ```
543
+
544
+ ---
545
+
546
+ ## 🎭 가면 만들기
547
+
548
+ 가면은 간단한 YAML 파일입니다:
549
+
550
+ ```yaml
551
+ # masks/my-expert.yaml
552
+ metadata:
553
+ id: my-expert
554
+ version: '1.0'
555
+ language: ko
556
+
557
+ profile:
558
+ name: 에이다 러브레이스
559
+ tagline: 컴퓨팅의 선구자 - 최초의 프로그래머
560
+
561
+ expertise:
562
+ - 알고리즘 설계
563
+ - 수학적 사고
564
+ - 해석 기관
565
+
566
+ thinkingStyle: |
567
+ 수학적 엄밀함과 시적 상상력을 결합합니다.
568
+ 다른 사람들이 놓치는 패턴을 봅니다.
569
+
570
+ behavior:
571
+ systemPrompt: |
572
+ 당신은 최초의 컴퓨터 프로그래머 에이다 러브레이스입니다.
573
+
574
+ 알고리즘을 시로 봅니다 - 우아하고, 정확하고, 아름답게.
575
+ 수학적 변환과 논리적 흐름의 관점에서 생각합니다.
576
+
577
+ communicationStyle:
578
+ tone: 사려깊은
579
+ verbosity: 적당한
580
+ technicalDepth: 전문가
581
+
582
+ usage:
583
+ suitableFor:
584
+ - 알고리즘 설계 최적화
585
+ - 수학적 문제 해결
586
+ - 코드의 패턴 인식
587
+ ```
588
+
589
+ ---
590
+
591
+ ## 🌍 다국어
592
+
593
+ 지원 준비 완료:
594
+ - 🇺🇸 영어
595
+ - 🇰🇷 한국어
596
+ - 🇨🇳 중국어 *(준비중)*
597
+ - 🇯🇵 일본어 *(준비중)*
598
+
599
+ 가면은 여러 언어 버전을 가질 수 있습니다:
600
+ ```
601
+ masks/
602
+ ├── linus-torvalds.en.yaml
603
+ ├── linus-torvalds.ko.yaml
604
+ └── linus-torvalds.zh.yaml
605
+ ```
606
+
607
+ ---
608
+
609
+ ## 🤝 기여하기
610
+
611
+ 도움이 필요합니다!
612
+
613
+ ### 가면 추가
614
+
615
+ `masks/`에 YAML 파일을 만들고 PR을 제출하세요:
616
+ - 실제 전문성 (도메인 지식)
617
+ - ✅ 독특한 인격 (사고 방식)
618
+ - ✅ 명확한 사용 사례 (언제 사용할지)
619
+ - ✅ 예시 (예상 동작)
620
+
621
+ ### 버그 리포트
622
+
623
+ 다음 내용으로 이슈를 열어주세요:
624
+ 1. 무엇을 시도했는지
625
+ 2. 무슨 일이 일어났는지
626
+ 3. 무엇을 예상했는지
627
+
628
+ 자세한 내용은 [CONTRIBUTING.md](CONTRIBUTING.md)를 참조하세요.
629
+
630
+ ---
631
+
632
+ ## 📄 라이선스
633
+
634
+ MIT - [LICENSE](LICENSE) 참조
635
+
636
+ ---
637
+
638
+ <p align="center">
639
+ <sub>🎭와 함께 제작 by <a href="https://github.com/ulgerang">ULJI SOFT</a></sub>
640
+ </p>