maskweaver 0.8.1 → 0.8.3
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.ko.md +18 -40
- package/README.md +17 -39
- package/assets/commands/weave-craft.md +26 -398
- package/assets/commands/weave-design.md +5 -2
- package/assets/commands/weave-flow.md +13 -40
- package/assets/commands/weave-help.md +9 -13
- package/assets/commands/weave-prepare.md +3 -3
- package/assets/commands/weave-refine-plan.md +0 -1
- package/assets/commands/weave-research.md +4 -2
- package/assets/commands/weave-status.md +2 -7
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +2 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/tools/slashcommand.d.ts.map +1 -1
- package/dist/plugin/tools/slashcommand.js +12 -11
- package/dist/plugin/tools/slashcommand.js.map +1 -1
- package/dist/plugin/tools/weave.d.ts +7 -6
- package/dist/plugin/tools/weave.d.ts.map +1 -1
- package/dist/plugin/tools/weave.js +176 -746
- package/dist/plugin/tools/weave.js.map +1 -1
- package/dist/weave/phase-manager.d.ts +5 -0
- package/dist/weave/phase-manager.d.ts.map +1 -1
- package/dist/weave/phase-manager.js +25 -0
- package/dist/weave/phase-manager.js.map +1 -1
- package/dist/weave/stages/execute.d.ts.map +1 -1
- package/dist/weave/stages/execute.js +6 -7
- package/dist/weave/stages/execute.js.map +1 -1
- package/dist/weave/stages/plan.d.ts +8 -0
- package/dist/weave/stages/plan.d.ts.map +1 -1
- package/dist/weave/stages/plan.js +161 -2
- package/dist/weave/stages/plan.js.map +1 -1
- package/dist/weave/stages/research.d.ts.map +1 -1
- package/dist/weave/stages/research.js +431 -4
- package/dist/weave/stages/research.js.map +1 -1
- package/dist/weave/types.d.ts +6 -0
- package/dist/weave/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/assets/commands/weave-approve.md +0 -70
package/README.ko.md
CHANGED
|
@@ -165,23 +165,22 @@ profile:
|
|
|
165
165
|
|
|
166
166
|
**Phase 기반 개발** — "AI가 검증하고, 유저가 확인한다"
|
|
167
167
|
|
|
168
|
-
Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가능한 Phase로 나누고, 전문가 마스크를 자동 선택하며,
|
|
168
|
+
Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가능한 Phase로 나누고, 전문가 마스크를 자동 선택하며, 유저 전달 전 구조화된 검증 단계를 제공합니다.
|
|
169
169
|
|
|
170
170
|
#### 명령어
|
|
171
171
|
|
|
172
172
|
| 명령어 | 설명 |
|
|
173
173
|
|--------|------|
|
|
174
174
|
| `/weave init` | Weave 초기화 (프로젝트당 1회) |
|
|
175
|
-
| `/weave research [docs]` |
|
|
176
|
-
| `/weave prepare [docs]` | (수동 경로) research + baseline spec + phase plan 생성 |
|
|
175
|
+
| `/weave research [docs]` | 문서 + 워크스페이스 맥락을 깊게 읽고 `tasks/research.md` 생성 |
|
|
176
|
+
| `/weave prepare [docs]` | (수동 경로) research + baseline spec + phase plan 생성 (큰 계획은 자동 분할) |
|
|
177
177
|
| `/weave refine-plan` | `tasks/plan-notes.md` 지시문을 active plan에 반영 |
|
|
178
178
|
| `/weave approve-plan` | 구현 전 사람이 계획 승인(게이트) |
|
|
179
|
-
| `/weave flow [docs]` | (권장) 원커맨드 경로: prepare -> approve
|
|
179
|
+
| `/weave flow [docs]` | (권장) 원커맨드 경로: prepare -> auto-approve -> craft -> verify -> finalize |
|
|
180
180
|
| `/weave spec [docs]` | baseline spec만 생성 (선택) |
|
|
181
|
-
| `/weave design [docs]` | 요구사항 분석 → Phase 계획 생성 (`/weave plan`은
|
|
182
|
-
| `/weave craft [P#]` | Phase 실행
|
|
181
|
+
| `/weave design [docs]` | 요구사항 분석 → Phase 계획 생성 (`/weave plan`은 별칭/호환, 큰 계획은 자동 분할) |
|
|
182
|
+
| `/weave craft [P#]` | Phase 실행 컨텍스트/가이드 생성 |
|
|
183
183
|
| `/weave verify` | 빌드/테스트 검증 실행 (자동 감지) |
|
|
184
|
-
| `/weave approve [P#]` | (기본)검증 후 Phase 완료 처리 (phase 생략 시 자동 선택) |
|
|
185
184
|
| `/weave worktree ...` | git worktree 기반 병렬 작업 관리 |
|
|
186
185
|
| `/weave status` | 프로젝트 진행 상황 및 통계 확인 |
|
|
187
186
|
| `/weave help` | 도움말 표시 |
|
|
@@ -194,7 +193,7 @@ Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가
|
|
|
194
193
|
0. INIT (1회): /weave init
|
|
195
194
|
↓
|
|
196
195
|
1. 원커맨드(권장): /weave flow docs/
|
|
197
|
-
- 실행: prepare -> approve
|
|
196
|
+
- 실행: prepare -> auto-approve -> craft -> verify -> finalize
|
|
198
197
|
↓
|
|
199
198
|
(또는 수동 경로)
|
|
200
199
|
↓
|
|
@@ -208,13 +207,11 @@ Weave는 Maskweaver의 핵심 워크플로우입니다. 작업을 테스트 가
|
|
|
208
207
|
- craft 실행 전 필수 승인
|
|
209
208
|
↓
|
|
210
209
|
5. CRAFT: /weave craft
|
|
211
|
-
|
|
212
|
-
|
|
210
|
+
- Phase 실행 계획과 다음 액션 안내 생성
|
|
211
|
+
- 구현/검증 후 approve-plan으로 phase 완료 처리
|
|
212
|
+
- `/weave verify`로 빌드/테스트 검증 가능
|
|
213
213
|
↓
|
|
214
|
-
6.
|
|
215
|
-
- (기본) verify 실행 후 Phase를 completed로 변경
|
|
216
|
-
↓
|
|
217
|
-
7. HANDOFF: 유저가 UX/의도 확인 후 다음 Phase로 진행
|
|
214
|
+
6. HANDOFF: 유저가 UX/의도 확인 후 다음 Phase로 진행
|
|
218
215
|
```
|
|
219
216
|
|
|
220
217
|
#### 다층 AI 검증 시스템
|
|
@@ -363,7 +360,7 @@ import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
|
|
|
363
360
|
/weave flow docs/
|
|
364
361
|
```
|
|
365
362
|
|
|
366
|
-
한 번에 `prepare -> approve
|
|
363
|
+
한 번에 `prepare -> auto-approve -> craft -> verify -> finalize`까지 실행합니다.
|
|
367
364
|
|
|
368
365
|
수동 happy path (research + spec + plan 한 번에):
|
|
369
366
|
|
|
@@ -418,47 +415,28 @@ AI 인사이트가 포함된 현대적 감정 일기 앱 구축
|
|
|
418
415
|
/weave craft
|
|
419
416
|
```
|
|
420
417
|
|
|
421
|
-
`/weave craft`는 실행
|
|
418
|
+
`/weave craft`는 phase 실행 컨텍스트를 생성합니다(phase 미지정 시 다음 phase 자동 선택). 구현 반영 후 같은 명령으로 계획을 다시 확인할 수 있습니다.
|
|
422
419
|
|
|
423
|
-
### 4단계:
|
|
420
|
+
### 4단계: 구현 진행
|
|
424
421
|
|
|
425
422
|
```txt
|
|
426
423
|
weave command=craft phaseId="P1"
|
|
427
|
-
weave command=
|
|
424
|
+
weave command=verify
|
|
428
425
|
```
|
|
429
426
|
|
|
430
|
-
원커맨드로
|
|
427
|
+
원커맨드로 이어서 진행하려면:
|
|
431
428
|
|
|
432
429
|
```txt
|
|
433
430
|
weave command=flow
|
|
434
431
|
```
|
|
435
432
|
|
|
436
|
-
### 5단계:
|
|
433
|
+
### 5단계: Phase 완료 처리
|
|
437
434
|
|
|
438
435
|
```txt
|
|
439
436
|
weave command=verify
|
|
440
|
-
weave command=approve
|
|
437
|
+
weave command=approve-plan
|
|
441
438
|
```
|
|
442
439
|
|
|
443
|
-
진행 상황 출력:
|
|
444
|
-
```markdown
|
|
445
|
-
### Task 진행 상황
|
|
446
|
-
|
|
447
|
-
#### Task 1: EmotionButton 컴포넌트
|
|
448
|
-
- [x] 마스크: 🧪 켄트 벡
|
|
449
|
-
- [x] 테스트 작성
|
|
450
|
-
- [x] 구현
|
|
451
|
-
- [x] 검증 완료 ✅
|
|
452
|
-
|
|
453
|
-
#### Task 2: 상태 관리
|
|
454
|
-
- [x] 마스크: ⚛️ 댄 아브라모프
|
|
455
|
-
- [x] 테스트 작성
|
|
456
|
-
- [x] 구현
|
|
457
|
-
- [ ] 검증 중 🔄 (재시도 2/5)
|
|
458
|
-
- 💡 유사 솔루션 발견: "React 상태 타이밍 이슈"
|
|
459
|
-
- 수정: useEffect 의존성 배열 추가
|
|
460
|
-
```
|
|
461
|
-
|
|
462
440
|
### 6단계: 핸드오프 & 검증
|
|
463
441
|
|
|
464
442
|
모든 검증이 통과되면:
|
package/README.md
CHANGED
|
@@ -184,23 +184,22 @@ Smart subagents for cost-efficient multi-agent workflows:
|
|
|
184
184
|
|
|
185
185
|
**Phase-Driven Development** — "AI verifies, Human validates"
|
|
186
186
|
|
|
187
|
-
Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and
|
|
187
|
+
Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and provides structured verification before handoff.
|
|
188
188
|
|
|
189
189
|
#### Commands
|
|
190
190
|
|
|
191
191
|
| Command | Description |
|
|
192
192
|
|---------|-------------|
|
|
193
193
|
| `/weave init` | Initialize Weave (once per repo) |
|
|
194
|
-
| `/weave research [docs]` | Deep-read docs and generate persistent `tasks/research.md` |
|
|
195
|
-
| `/weave prepare [docs]` | (Manual path) Generate research + baseline spec + phase plan |
|
|
194
|
+
| `/weave research [docs]` | Deep-read docs + workspace context and generate persistent `tasks/research.md` |
|
|
195
|
+
| `/weave prepare [docs]` | (Manual path) Generate research + baseline spec + phase plan (auto-split if oversized) |
|
|
196
196
|
| `/weave refine-plan` | Apply structured plan notes (`tasks/plan-notes.md`) to active plan |
|
|
197
197
|
| `/weave approve-plan` | Explicit human approval gate before implementation |
|
|
198
|
-
| `/weave flow [docs]` | (Recommended) One-command path: prepare -> approve
|
|
198
|
+
| `/weave flow [docs]` | (Recommended) One-command path: prepare -> auto-approve -> craft -> verify -> finalize |
|
|
199
199
|
| `/weave spec [docs]` | Generate baseline spec only (optional) |
|
|
200
|
-
| `/weave design [docs]` | Analyze requirements → Generate phase plan (`/weave plan`
|
|
201
|
-
| `/weave craft [P#]` |
|
|
200
|
+
| `/weave design [docs]` | Analyze requirements → Generate phase plan (`/weave plan` alias, auto-split if oversized) |
|
|
201
|
+
| `/weave craft [P#]` | Prepare phase execution context and guidance |
|
|
202
202
|
| `/weave verify` | Run build/test verification (auto-detect) |
|
|
203
|
-
| `/weave approve [P#]` | Verify (default) + mark phase complete (auto phase if omitted) |
|
|
204
203
|
| `/weave worktree ...` | Manage git worktrees for parallel work |
|
|
205
204
|
| `/weave status` | View project progress and stats |
|
|
206
205
|
| `/weave help` | Show documentation |
|
|
@@ -213,7 +212,7 @@ Weave is Maskweaver's flagship workflow. It breaks work into testable phases, au
|
|
|
213
212
|
0. INIT (once): /weave init
|
|
214
213
|
↓
|
|
215
214
|
1. ONE-COMMAND (recommended): /weave flow docs/
|
|
216
|
-
- runs: prepare -> approve
|
|
215
|
+
- runs: prepare -> auto-approve -> craft -> verify -> finalize
|
|
217
216
|
↓
|
|
218
217
|
(or manual path)
|
|
219
218
|
↓
|
|
@@ -227,13 +226,11 @@ Weave is Maskweaver's flagship workflow. It breaks work into testable phases, au
|
|
|
227
226
|
- required before craft execution
|
|
228
227
|
↓
|
|
229
228
|
5. CRAFT: /weave craft
|
|
230
|
-
- Generates an execution plan
|
|
231
|
-
-
|
|
229
|
+
- Generates an execution plan and next actions
|
|
230
|
+
- Implement/verify changes, then finalize with approve-plan
|
|
231
|
+
- Use `/weave verify` anytime for build/test checks
|
|
232
232
|
↓
|
|
233
|
-
6.
|
|
234
|
-
- Runs verification (full by default) and marks the phase completed
|
|
235
|
-
↓
|
|
236
|
-
7. HANDOFF: You validate UX/intent and move to next phase
|
|
233
|
+
6. HANDOFF: You validate UX/intent and move to next phase
|
|
237
234
|
```
|
|
238
235
|
|
|
239
236
|
#### Multi-Layer AI Verification
|
|
@@ -382,7 +379,7 @@ Fastest path (one command):
|
|
|
382
379
|
/weave flow docs/
|
|
383
380
|
```
|
|
384
381
|
|
|
385
|
-
This runs `prepare -> approve
|
|
382
|
+
This runs `prepare -> auto-approve -> craft -> verify -> finalize` in one shot.
|
|
386
383
|
|
|
387
384
|
Manual happy path (research + spec + plan in one command):
|
|
388
385
|
|
|
@@ -437,13 +434,13 @@ Start with the first phase:
|
|
|
437
434
|
/weave craft
|
|
438
435
|
```
|
|
439
436
|
|
|
440
|
-
`/weave craft` returns
|
|
437
|
+
`/weave craft` returns execution context for the phase. Implement changes, then rerun `/weave craft` if you want to refresh the plan view.
|
|
441
438
|
|
|
442
|
-
### Step 4: Continue
|
|
439
|
+
### Step 4: Continue Implementation
|
|
443
440
|
|
|
444
441
|
```txt
|
|
445
442
|
weave command=craft phaseId="P1"
|
|
446
|
-
weave command=
|
|
443
|
+
weave command=verify
|
|
447
444
|
```
|
|
448
445
|
|
|
449
446
|
One-command resume:
|
|
@@ -452,32 +449,13 @@ One-command resume:
|
|
|
452
449
|
weave command=flow
|
|
453
450
|
```
|
|
454
451
|
|
|
455
|
-
### Step 5:
|
|
452
|
+
### Step 5: Finalize the Phase
|
|
456
453
|
|
|
457
454
|
```txt
|
|
458
455
|
weave command=verify
|
|
459
|
-
weave command=approve
|
|
456
|
+
weave command=approve-plan
|
|
460
457
|
```
|
|
461
458
|
|
|
462
|
-
Progress output:
|
|
463
|
-
```markdown
|
|
464
|
-
### Task Progress
|
|
465
|
-
|
|
466
|
-
#### Task 1: EmotionButton Component
|
|
467
|
-
- [x] Mask: 🧪 Kent Beck
|
|
468
|
-
- [x] Tests written
|
|
469
|
-
- [x] Implementation
|
|
470
|
-
- [x] Verified ✅
|
|
471
|
-
|
|
472
|
-
#### Task 2: State Management
|
|
473
|
-
- [x] Mask: ⚛️ Dan Abramov
|
|
474
|
-
- [x] Tests written
|
|
475
|
-
- [x] Implementation
|
|
476
|
-
- [ ] Verifying 🔄 (retry 2/5)
|
|
477
|
-
- 💡 Similar solution found: "React state timing issue"
|
|
478
|
-
- Fix: Added useEffect dependency array
|
|
479
|
-
```
|
|
480
|
-
|
|
481
459
|
### Step 6: Handoff & Validate
|
|
482
460
|
|
|
483
461
|
When all verifications pass:
|
|
@@ -1,415 +1,43 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Phase 실행 (
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /weave-craft - Phase 실행
|
|
6
|
-
|
|
7
|
-
## 개요
|
|
8
|
-
|
|
9
|
-
**활성 플랜**의 특정 Phase를 실행합니다.
|
|
10
|
-
AI가 자동으로 검증 루프를 돌리고, 완료되면 유저에게 전달합니다.
|
|
11
|
-
|
|
12
|
-
**사용법**: `/weave-craft $ARGUMENTS`
|
|
13
|
-
- `$ARGUMENTS` = 선택적 Phase ID (예: `P1`, `P2`)
|
|
14
|
-
- 비우면 다음 실행 가능한 Phase를 자동 선택합니다.
|
|
1
|
+
---
|
|
2
|
+
description: Phase 실행 준비 (실행 컨텍스트 생성)
|
|
3
|
+
---
|
|
15
4
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
**Maskweaver 통합**:
|
|
19
|
-
- **Masks**: Task별 전문가 마스크 자동 선택
|
|
20
|
-
- **Global Knowledge**: 과거 트러블슈팅 경험 검색/기록
|
|
21
|
-
- **Verify**: 다층 AI 자동 검증 시스템
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 사전 조건: 활성 플랜 확인
|
|
26
|
-
|
|
27
|
-
실행 전 반드시:
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
1. .opencode/weave/state.yaml 읽기
|
|
31
|
-
2. active_plan 값 확인
|
|
32
|
-
3. .opencode/weave/plans/{active_plan}.yaml 읽기
|
|
33
|
-
4. 해당 Phase 상태 확인
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**활성 플랜이 없는 경우**:
|
|
37
|
-
```markdown
|
|
38
|
-
❌ 활성 플랜이 없습니다.
|
|
39
|
-
|
|
40
|
-
플랜을 먼저 만들어주세요: `/weave-design [docs]`
|
|
41
|
-
또는 기존 플랜을 선택하세요: `/weave-switch`
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**요청한 Phase가 없는 경우**:
|
|
45
|
-
```markdown
|
|
46
|
-
❌ 플랜 `emotion-diary`에 Phase P7이 없습니다.
|
|
47
|
-
|
|
48
|
-
사용 가능한 Phase:
|
|
49
|
-
- P1: 감정 선택 UI ✅
|
|
50
|
-
- P2: 감정 저장 🔄
|
|
51
|
-
- P3: 히스토리 뷰 ⏳
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 실행 흐름
|
|
5
|
+
# /weave-craft - Phase 실행 준비
|
|
57
6
|
|
|
58
|
-
|
|
59
|
-
0. LOAD PLAN (활성 플랜 + Phase 정보 로드)
|
|
60
|
-
↓
|
|
61
|
-
1. GENERATE EXECUTION PLAN (자동 분석)
|
|
62
|
-
├─ 각 Task의 복잡도 판단 (simple/standard/complex)
|
|
63
|
-
├─ 에이전트 티어 선택 (flash/human/premium)
|
|
64
|
-
├─ 전문가 마스크 자동 선택
|
|
65
|
-
├─ 글로벌 지식에서 트러블슈팅 힌트 검색
|
|
66
|
-
└─ 병렬 실행 가능 여부 분석
|
|
67
|
-
↓
|
|
68
|
-
2. DELEGATE (실행 계획에 따라 작업 위임)
|
|
69
|
-
├─ simple → dummy-flash (빠르고 저렴)
|
|
70
|
-
├─ standard → dummy-human (범용)
|
|
71
|
-
└─ complex → dummy-premium (강력한 추론)
|
|
72
|
-
↓
|
|
73
|
-
3. BUILD + SELF-VERIFY LOOP
|
|
74
|
-
├─ 각 Task에 대해:
|
|
75
|
-
│ ├─ 적합한 마스크 자동 선택
|
|
76
|
-
│ ├─ 테스트 먼저 (Red)
|
|
77
|
-
│ ├─ 최소 구현 (Green)
|
|
78
|
-
│ ├─ 정리 (Refactor)
|
|
79
|
-
│ └─ AI 자동 검증 → PASS/FAIL
|
|
80
|
-
│ ├─ PASS → `weave craft ...` 재실행으로 상태 업데이트 (옵션: quick verify/commit)
|
|
81
|
-
│ └─ FAIL → 실패 기록 + 글로벌 지식 검색 → 수정 → `weave craft ...` 재실행
|
|
82
|
-
└─ 5회 초과 → 유저에게 도움 요청
|
|
83
|
-
↓
|
|
84
|
-
4. UPDATE PLAN (Phase 상태 업데이트)
|
|
85
|
-
↓
|
|
86
|
-
5. USER HANDOFF (검증 완료 → 유저 테스트)
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
> 참고: Phase 완료 처리는 `weave approve`가 담당합니다.
|
|
90
|
-
> 기본적으로 full verify를 수행하고, 통과해야 Phase를 completed로 바꿉니다.
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Step 0: LOAD PLAN
|
|
95
|
-
|
|
96
|
-
```yaml
|
|
97
|
-
# 1. state.yaml에서 활성 플랜 확인
|
|
98
|
-
active_plan: "emotion-diary"
|
|
99
|
-
|
|
100
|
-
# 2. plans/emotion-diary.yaml에서 Phase 정보 로드
|
|
101
|
-
# 3. Phase 상태가 pending 또는 in_progress인지 확인
|
|
102
|
-
# 4. completed인 Phase를 재실행하려면 유저에게 확인
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Expert Summoning Strategy for Execution (Core)
|
|
108
|
-
|
|
109
|
-
### Principle: The Right Expert for Each Task
|
|
110
|
-
|
|
111
|
-
You are the **Mask Weaver**. During execution, your role is to **orchestrate experts**, not to do everything yourself. Each domain has its master — summon them.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
### 1. Task Complexity → Execution Strategy
|
|
116
|
-
|
|
117
|
-
**The Orchestrator automatically assesses task complexity and selects the agent tier.**
|
|
7
|
+
## 개요
|
|
118
8
|
|
|
119
|
-
|
|
9
|
+
`/weave-craft`는 활성 플랜의 Phase를 실행 가능한 상태로 준비합니다.
|
|
120
10
|
|
|
121
|
-
|
|
122
|
-
|
|
11
|
+
- 대상 phase 자동 선택(또는 직접 지정)
|
|
12
|
+
- phase 상태/실행 계획 로드
|
|
13
|
+
- 구현에 필요한 다음 액션 안내
|
|
123
14
|
|
|
124
|
-
|
|
125
|
-
| # | Task | Complexity | Agent Tier | Mask |
|
|
126
|
-
|---|-------------------|-----------|------------|---------------|
|
|
127
|
-
| 1 | Update imports | simple | flash | auto |
|
|
128
|
-
| 2 | Build component | standard | human | dan-abramov |
|
|
129
|
-
| 3 | Auth refactoring | complex | premium | martin-fowler |
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Agent Tier Selection Rules:**
|
|
15
|
+
> 이 명령은 과거 자동 루프를 돌리지 않습니다.
|
|
133
16
|
|
|
134
|
-
|
|
135
|
-
|-----------|------------|----------|
|
|
136
|
-
| simple | `dummy-flash` | File renames, import fixes, formatting, config changes, lint fixes |
|
|
137
|
-
| standard | `dummy-human` | Component implementation, API endpoints, tests, validation |
|
|
138
|
-
| complex | `dummy-premium` | Architecture refactoring, debugging, auth, state management, performance |
|
|
17
|
+
## 사용법
|
|
139
18
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
Examples:
|
|
144
|
-
- Simple file creation
|
|
145
|
-
- Minor styling adjustments
|
|
146
|
-
- Configuration changes
|
|
147
|
-
- Straightforward bug fixes
|
|
148
|
-
|
|
149
|
-
→ You handle these quickly without delegation.
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
#### Summon Expert (Complex Single Task)
|
|
153
|
-
|
|
154
|
-
For **substantial implementation work**, summon the domain expert:
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
Complex Business Logic:
|
|
158
|
-
|
|
159
|
-
Task(dummy-human):
|
|
160
|
-
Mask: Kent Beck
|
|
161
|
-
Task: "Implement the payment validation logic using TDD.
|
|
162
|
-
Write tests first, cover edge cases, keep it simple."
|
|
163
|
-
|
|
164
|
-
Complex State Management:
|
|
165
|
-
|
|
166
|
-
Task(dummy-human):
|
|
167
|
-
Mask: Dan Abramov
|
|
168
|
-
Task: "Design the global state architecture for this feature.
|
|
169
|
-
Consider React patterns and performant updates."
|
|
170
|
-
|
|
171
|
-
Performance-Critical Code:
|
|
172
|
-
|
|
173
|
-
Task(dummy-human):
|
|
174
|
-
Mask: Linus Torvalds
|
|
175
|
-
Task: "Optimize this data processing function.
|
|
176
|
-
Focus on memory efficiency and computational complexity."
|
|
177
|
-
|
|
178
|
-
→ You receive the completed work and integrate it.
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
#### Squad Parallel Execution (Multiple Independent Tasks)
|
|
182
|
-
|
|
183
|
-
When a Phase has **several independent tasks**, run them in parallel:
|
|
184
|
-
|
|
185
|
-
```
|
|
186
|
-
Phase with Frontend + Backend + Tests:
|
|
187
|
-
|
|
188
|
-
Mask Weaver:
|
|
189
|
-
1. squad start → "Phase P1 Parallel Execution"
|
|
190
|
-
2. squad squad (ui-squad) → "Dan Abramov: Build the React components"
|
|
191
|
-
3. squad squad (api-squad) → "Martin Fowler: Implement the API layer"
|
|
192
|
-
4. squad squad (test-squad) → "Kent Beck: Write comprehensive test suite"
|
|
193
|
-
|
|
194
|
-
→ Collect all results → Integrate → Run unified verification
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
### 2. Expert Selection Guide
|
|
200
|
-
|
|
201
|
-
| Task Type | Summon | Why |
|
|
202
|
-
|-----------|--------|-----|
|
|
203
|
-
| Business logic, algorithms | **Kent Beck** | TDD ensures correctness, simplicity |
|
|
204
|
-
| React components, state | **Dan Abramov** | React patterns, hooks, performance |
|
|
205
|
-
| API design, services | **Martin Fowler** | Clean architecture, separation |
|
|
206
|
-
| Performance optimization | **Linus Torvalds** | System-level efficiency |
|
|
207
|
-
| Database, queries | **Martin Fowler** | Data modeling, query patterns |
|
|
208
|
-
| ML/AI features | **Andrew Ng** | ML best practices |
|
|
209
|
-
| DevOps, infrastructure | **Linus Torvalds** | Pragmatic tooling |
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
### 3. Execution Decision Flow
|
|
214
|
-
|
|
215
|
-
```
|
|
216
|
-
Execution Plan Generated (automatic)
|
|
217
|
-
↓
|
|
218
|
-
For each task in plan:
|
|
219
|
-
↓
|
|
220
|
-
Check Agent Tier:
|
|
221
|
-
├─ flash (simple) → Handle directly or Task(dummy-flash)
|
|
222
|
-
├─ human (standard) → Task(dummy-human) with mask
|
|
223
|
-
└─ premium (complex) → Task(dummy-premium) with mask
|
|
224
|
-
↓
|
|
225
|
-
Multiple independent tasks in same wave?
|
|
226
|
-
├─ YES → Run in parallel (Squad system)
|
|
227
|
-
└─ NO → Run sequentially
|
|
19
|
+
```txt
|
|
20
|
+
/weave-craft $ARGUMENTS
|
|
228
21
|
```
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### 4. Expert Rotation on Failure
|
|
233
|
-
|
|
234
|
-
If you're **stuck on the same error twice**, try a different perspective:
|
|
235
|
-
|
|
236
|
-
```
|
|
237
|
-
Stuck on React state bug:
|
|
238
|
-
- First attempt: Dan Abramov approach
|
|
239
|
-
- Still failing → Summon Kent Beck
|
|
240
|
-
"Review this from a TDD perspective"
|
|
241
|
-
|
|
242
|
-
Stuck on performance issue:
|
|
243
|
-
- First attempt: Linus Torvalds approach
|
|
244
|
-
- Still failing → Summon Martin Fowler
|
|
245
|
-
"Maybe this is an architecture problem, not just optimization."
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## AI 자동 검증 시스템 (Multi-Layer)
|
|
251
|
-
|
|
252
|
-
| Layer | 검증 유형 | 도구 | 실패 시 동작 |
|
|
253
|
-
|-------|----------|------|-------------|
|
|
254
|
-
| 1 | TypeCheck | `tsc --noEmit` | 재시도 (코드 수정) |
|
|
255
|
-
| 2 | Lint | `npm run lint` | 재시도 (코드 수정) |
|
|
256
|
-
| 3 | Build | `npm run build` | 재시도 (코드 수정) |
|
|
257
|
-
| 4 | Unit Tests | `npm test` | 재시도 (테스트/코드 수정) |
|
|
258
|
-
| 5 | E2E Tests | `playwright test` | 재시도 (앱/테스트 수정) |
|
|
259
|
-
| 6 | Screenshot | Playwright / browser | 시각적 확인 |
|
|
260
|
-
| 7 | API Check | `fetch` / `curl` | 재시도 (서버/라우트 수정) |
|
|
261
|
-
| 8 | A11y | axe-core / Lighthouse | 재시도 (접근성 개선) |
|
|
262
|
-
|
|
263
|
-
### 검증 재시도 루프
|
|
264
|
-
|
|
265
|
-
```
|
|
266
|
-
검증 실행
|
|
267
|
-
↓
|
|
268
|
-
실패?
|
|
269
|
-
├─ YES → 글로벌 지식에서 유사 해결책 검색
|
|
270
|
-
│ → 해결책 적용
|
|
271
|
-
│ → 재시도 카운터 < 5? → 다시 검증
|
|
272
|
-
│ → 5회 초과 → 유저에게 도움 요청
|
|
273
|
-
└─ NO → 다음 Layer
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## Step 4: UPDATE PLAN
|
|
279
|
-
|
|
280
|
-
Phase 완료 시 플랜 파일을 업데이트합니다.
|
|
281
|
-
|
|
282
|
-
> ⚠️ **YAML 작성 규칙 (반드시 준수)**
|
|
283
|
-
>
|
|
284
|
-
> 플랜 YAML을 직접 수정할 때, `done_when` 등 문자열 값은 반드시 아래 규칙을 따릅니다:
|
|
285
|
-
>
|
|
286
|
-
> - **짧은 값** (한 줄): double-quote 사용 → `done_when: "로그인 기능 동작"`
|
|
287
|
-
> - **긴 값** (여러 줄): block scalar(`|`) 사용 → `done_when: |` 후 들여쓰기된 내용
|
|
288
|
-
> - **❌ 절대 금지**: double-quote(`"`)로 시작한 문자열을 다른 줄에서 닫는 것
|
|
289
|
-
>
|
|
290
|
-
> **핵심**: `"` 로 시작했으면 **같은 줄에서** `"` 로 닫기. 줄바꿈이 필요하면 `|` 사용.
|
|
291
|
-
|
|
292
|
-
```yaml
|
|
293
|
-
# .opencode/weave/plans/{active_plan}.yaml 내 해당 Phase 업데이트:
|
|
294
|
-
phases:
|
|
295
|
-
- id: "P1"
|
|
296
|
-
status: "completed" # pending → in_progress → completed
|
|
297
|
-
done_when: "유저가 감정을 선택할 수 있다" # 짧으면 한 줄 quote
|
|
298
|
-
started_at: "2026-02-06T10:30:00"
|
|
299
|
-
completed_at: "2026-02-06T13:00:00"
|
|
300
|
-
masks_used:
|
|
301
|
-
- name: "kent-beck"
|
|
302
|
-
tasks: 2
|
|
303
|
-
effectiveness: 0.9
|
|
304
|
-
- name: "dan-abramov"
|
|
305
|
-
tasks: 1
|
|
306
|
-
effectiveness: 0.85
|
|
307
|
-
retry_count: 1
|
|
308
|
-
issues:
|
|
309
|
-
- "JSON 직렬화 오류 → useEffect 의존성 추가로 해결"
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## 유저 핸드오프
|
|
315
|
-
|
|
316
|
-
모든 Task 통과 후:
|
|
317
|
-
|
|
318
|
-
### 1. AI 사전 체험 (Virtual User Test)
|
|
319
|
-
|
|
320
|
-
코드 검증이 끝나면, **가상의 대상 사용자 페르소나**를 만들어 주관적 항목을 먼저 평가한다.
|
|
321
22
|
|
|
322
|
-
|
|
23
|
+
- `$ARGUMENTS` = 선택적 Phase ID (`P1`, `P2` 등)
|
|
323
24
|
|
|
324
|
-
|
|
25
|
+
예시:
|
|
325
26
|
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
context: "퇴근 후 하루를 정리하며 감정 기록" # 사용 맥락
|
|
330
|
-
goals: "간단하고 빠르게 오늘의 감정을 남기고 싶다"
|
|
331
|
-
tech_level: "일반 사용자" # 기술 수준
|
|
27
|
+
```txt
|
|
28
|
+
/weave-craft
|
|
29
|
+
/weave-craft P1
|
|
332
30
|
```
|
|
333
31
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
페르소나 관점에서 다음을 평가한다:
|
|
337
|
-
|
|
338
|
-
| 항목 | 평가 관점 |
|
|
339
|
-
|------|----------|
|
|
340
|
-
| **느낌/톤** | UI 분위기가 프로젝트 의도와 맞는가? (스크린샷 기반) |
|
|
341
|
-
| **사용 흐름** | 핵심 동작이 직관적으로 완료되는가? (클릭 수, 동선) |
|
|
342
|
-
| **기능 일치** | 플랜에 정의된 기능이 실제로 동작하는가? |
|
|
343
|
-
| **첫인상** | 처음 본 사용자가 헤매지 않을까? |
|
|
344
|
-
|
|
345
|
-
#### 평가 방법
|
|
346
|
-
|
|
347
|
-
- **스크린샷 촬영**: 브라우저로 주요 화면을 캡처하여 시각적으로 확인
|
|
348
|
-
- **동선 시뮬레이션**: 핵심 시나리오를 실제로 클릭하며 체험
|
|
349
|
-
- **플랜 대조**: 원래 요구사항과 구현 결과를 항목별로 비교
|
|
350
|
-
|
|
351
|
-
### 2. 핸드오프 메시지 형식
|
|
352
|
-
|
|
353
|
-
```markdown
|
|
354
|
-
## ✅ Phase P1 검증 완료!
|
|
355
|
-
|
|
356
|
-
**플랜**: `emotion-diary`
|
|
357
|
-
|
|
358
|
-
### AI 자동 테스트 결과
|
|
359
|
-
| 테스트 | 결과 |
|
|
360
|
-
|--------|------|
|
|
361
|
-
| Build | ✅ 성공 |
|
|
362
|
-
| Unit Tests | ✅ 15/15 |
|
|
363
|
-
| Lint | ✅ 통과 |
|
|
364
|
-
|
|
365
|
-
### 사용된 마스크
|
|
366
|
-
- Kent Beck (테스트)
|
|
367
|
-
- Dan Abramov (React 컴포넌트)
|
|
368
|
-
|
|
369
|
-
### 접속
|
|
370
|
-
http://localhost:5173
|
|
371
|
-
|
|
372
|
-
### AI 사전 체험 결과
|
|
373
|
-
|
|
374
|
-
> 💡 **"직장인 김지수 (30대)"** 관점으로 먼저 사용해봤습니다.
|
|
375
|
-
> 한번 확인해보세요.
|
|
376
|
-
|
|
377
|
-
| 항목 | AI 평가 | 비고 |
|
|
378
|
-
|------|---------|------|
|
|
379
|
-
| 느낌/톤 | ✅ 부드러운 파스텔 톤이 감정 기록 앱에 적합해 보입니다 | 스크린샷 첨부 |
|
|
380
|
-
| 사용 흐름 | ⚠️ 감정 선택 → 저장까지 3탭인데, 2탭이면 더 자연스러울 것 같습니다 | 중간 확인 화면 생략 검토 |
|
|
381
|
-
| 기능 일치 | ✅ 감정 선택 UI가 플랜대로 동작합니다 | - |
|
|
382
|
-
| 첫인상 | ✅ 아이콘만으로 감정이 구분됩니다 | - |
|
|
383
|
-
|
|
384
|
-
> 위 내용은 AI가 가상 사용자로서 판단한 것입니다.
|
|
385
|
-
> 실제 느낌과 다를 수 있으니 직접 확인 부탁드립니다.
|
|
32
|
+
## 내부 호출
|
|
386
33
|
|
|
387
|
-
|
|
34
|
+
```txt
|
|
35
|
+
weave command=craft phaseId="$ARGUMENTS"
|
|
388
36
|
```
|
|
389
37
|
|
|
390
|
-
|
|
38
|
+
## 권장 흐름
|
|
391
39
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
---
|
|
398
|
-
|
|
399
|
-
## 코드 품질 체크
|
|
400
|
-
|
|
401
|
-
각 Task 완료 시 적용:
|
|
402
|
-
|
|
403
|
-
```yaml
|
|
404
|
-
SOLID:
|
|
405
|
-
- "한 함수/클래스가 여러 일을 하지 않는가?"
|
|
406
|
-
- "새 기능 추가 시 기존 코드 수정 최소화?"
|
|
407
|
-
|
|
408
|
-
KISS:
|
|
409
|
-
- "더 간단한 방법이 있는가?"
|
|
410
|
-
- "불필요한 추상화가 있는가?"
|
|
411
|
-
|
|
412
|
-
DRY:
|
|
413
|
-
- "같은 코드가 반복되는가?"
|
|
414
|
-
- "공통 함수로 추출할 것이 있는가?"
|
|
415
|
-
```
|
|
40
|
+
1. `weave command=craft`로 phase 실행 컨텍스트 준비
|
|
41
|
+
2. 코드 구현/위임 수행
|
|
42
|
+
3. `weave command=verify`로 검증
|
|
43
|
+
4. `weave command=approve-plan`으로 phase 확정
|