maskweaver 0.8.6 β†’ 0.8.8

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 (45) hide show
  1. package/README.ko.md +217 -217
  2. package/README.md +235 -235
  3. package/assets/agents/squad-operator.md +56 -56
  4. package/assets/commands/weave-approve-plan.md +57 -57
  5. package/assets/commands/weave-craft.md +43 -43
  6. package/assets/commands/weave-design.md +64 -64
  7. package/assets/commands/weave-flow.md +48 -48
  8. package/assets/commands/weave-help.md +101 -101
  9. package/assets/commands/weave-init.md +23 -23
  10. package/assets/commands/weave-plan.md +15 -15
  11. package/assets/commands/weave-prepare.md +69 -69
  12. package/assets/commands/weave-refine-plan.md +59 -59
  13. package/assets/commands/weave-repair.md +70 -70
  14. package/assets/commands/weave-research.md +51 -51
  15. package/assets/commands/weave-spec.md +227 -227
  16. package/assets/commands/weave-status.md +2 -2
  17. package/assets/commands/weave-verify.md +44 -44
  18. package/assets/commands/weave-worktree.md +69 -69
  19. package/dist/cli/doctor.d.ts +16 -0
  20. package/dist/cli/doctor.d.ts.map +1 -0
  21. package/dist/cli/doctor.js +355 -0
  22. package/dist/cli/doctor.js.map +1 -0
  23. package/dist/cli/install.js +9 -0
  24. package/dist/cli/install.js.map +1 -1
  25. package/dist/plugin/config/index.d.ts +3 -10
  26. package/dist/plugin/config/index.d.ts.map +1 -1
  27. package/dist/plugin/config/index.js +12 -15
  28. package/dist/plugin/config/index.js.map +1 -1
  29. package/dist/plugin/index.d.ts +1 -27
  30. package/dist/plugin/index.d.ts.map +1 -1
  31. package/dist/plugin/index.js +113 -240
  32. package/dist/plugin/index.js.map +1 -1
  33. package/dist/plugin/tools/slashcommand.js +59 -59
  34. package/dist/plugin/tools/squad.js +3 -3
  35. package/dist/plugin/tools/weave.js +111 -111
  36. package/dist/plugin/types.d.ts +10 -8
  37. package/dist/plugin/types.d.ts.map +1 -1
  38. package/dist/plugin/types.js +2 -0
  39. package/dist/plugin/types.js.map +1 -1
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.d.ts.map +1 -1
  42. package/dist/version.js +1 -1
  43. package/dist/version.js.map +1 -1
  44. package/package.json +4 -2
  45. package/postinstall.mjs +97 -0
package/README.md CHANGED
@@ -24,10 +24,10 @@ While it can be used as a standalone library, it works great with OpenCode to ad
24
24
  - **Expert Personas (Masks)**: Standardized YAML profiles for legendary developers.
25
25
  - **Smart Delegation**: Multi-agent workflows optimized for OpenCode.
26
26
  - **Project Memory**: Hybrid semantic search for your entire codebase.
27
- - **πŸ†• Weave Workflow**: Phase-driven development with AI self-verification.
28
- - **πŸ”— GDC Integration**: Graph-Driven Codebase support for enhanced research and design-time verification gates.
29
-
30
- ---
27
+ - **πŸ†• Weave Workflow**: Phase-driven development with AI self-verification.
28
+ - **πŸ”— GDC Integration**: Graph-Driven Codebase support for enhanced research and design-time verification gates.
29
+
30
+ ---
31
31
 
32
32
  ## Why Maskweaver?
33
33
 
@@ -78,59 +78,59 @@ npm install maskweaver
78
78
  bun add maskweaver
79
79
  ```
80
80
 
81
- ### OpenCode Plugin Setup
82
-
83
- Add to your OpenCode config - that's it!
84
-
85
- **Global** (`~/.config/opencode/opencode.json`):
86
- ```json
87
- {
88
- "plugin": ["maskweaver"]
89
- }
90
- ```
91
-
92
- **Or per-project** (`opencode.json` in project root):
93
- ```json
94
- {
95
- "plugin": ["maskweaver"]
96
- }
97
- ```
98
-
99
- > Note: OpenCode installs npm packages by name. Use `maskweaver` (not `maskweaver/plugin`).
81
+ ### OpenCode Plugin Setup
82
+
83
+ Add to your OpenCode config - that's it!
84
+
85
+ **Global** (`~/.config/opencode/opencode.json`):
86
+ ```json
87
+ {
88
+ "plugin": ["maskweaver"]
89
+ }
90
+ ```
91
+
92
+ **Or per-project** (`opencode.json` in project root):
93
+ ```json
94
+ {
95
+ "plugin": ["maskweaver"]
96
+ }
97
+ ```
98
+
99
+ > Note: OpenCode installs npm packages by name. Use `maskweaver` (not `maskweaver/plugin`).
100
100
 
101
101
  OpenCode automatically installs the plugin to `~/.cache/opencode/node_modules/` on startup.
102
102
 
103
- **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
104
-
105
- ### Completion Sound (Optional)
106
-
107
- Maskweaver can play a notification sound when generation finishes (`session.idle`).
108
-
109
- Create `.opencode/maskweaver.json` (project) or `~/.config/opencode/maskweaver.json` (global):
110
-
111
- ```jsonc
112
- {
113
- "notifications": {
114
- "completionSound": {
115
- "enabled": true
116
- }
117
- }
118
- }
119
- ```
120
-
121
- Turn it off:
122
-
123
- ```jsonc
124
- {
125
- "notifications": {
126
- "completionSound": {
127
- "enabled": false
128
- }
129
- }
130
- }
131
- ```
132
-
133
- ### Checking Installed Version
103
+ **Windows:** `%USERPROFILE%\.config\opencode\opencode.json`
104
+
105
+ ### Completion Sound (Optional)
106
+
107
+ Maskweaver can play a notification sound when generation finishes (`session.idle`).
108
+
109
+ Create `.opencode/maskweaver.json` (project) or `~/.config/opencode/maskweaver.json` (global):
110
+
111
+ ```jsonc
112
+ {
113
+ "notifications": {
114
+ "completionSound": {
115
+ "enabled": true
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ Turn it off:
122
+
123
+ ```jsonc
124
+ {
125
+ "notifications": {
126
+ "completionSound": {
127
+ "enabled": false
128
+ }
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### Checking Installed Version
134
134
 
135
135
  Multiple ways to verify your Maskweaver version:
136
136
 
@@ -209,58 +209,58 @@ Smart subagents for cost-efficient multi-agent workflows:
209
209
  | `@dummy-human` | Balanced | πŸ’°πŸ’° | Code writing, reviews, general work |
210
210
  | `@dummy-premium` | Powerful | πŸ’°πŸ’°πŸ’° | Architecture, complex debugging |
211
211
 
212
- ### 🧡 Weave Workflow
213
-
214
- **Phase-Driven Development** β€” "AI verifies, Human validates"
215
-
216
- Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and provides structured verification before handoff.
217
-
218
- #### Commands
219
-
220
- | Command | Description |
221
- |---------|-------------|
222
- | `/weave init` | Initialize Weave (once per repo) |
223
- | `/weave research [docs]` | Deep-read docs + workspace context and generate persistent `tasks/research.md` |
224
- | `/weave prepare [docs]` | (Manual path) Generate research + baseline spec + phase plan (auto-split if oversized) |
225
- | `/weave refine-plan` | Apply structured plan notes (`tasks/plan-notes.md`) to active plan |
226
- | `/weave approve-plan` | Explicit human approval gate before implementation |
227
- | `/weave flow [docs]` | (Recommended) One-command path: prepare -> auto-approve -> craft -> verify -> finalize |
228
- | `/weave spec [docs]` | Generate baseline spec only (optional) |
229
- | `/weave design [docs]` | Analyze requirements β†’ Generate phase plan (`/weave plan` alias, auto-split if oversized) |
230
- | `/weave craft [P#]` | Prepare phase execution context and guidance |
231
- | `/weave verify` | Run build/test verification (auto-detect) |
232
- | `/weave worktree ...` | Manage git worktrees for parallel work |
233
- | `/weave status` | View project progress and stats |
234
- | `/weave help` | Show documentation |
235
-
236
- > Tip: In OpenCode chat you can use `/weave ...` commands, and they map to the underlying `weave command=...` tool calls.
237
-
238
- #### Workflow
239
-
240
- ```
241
- 0. INIT (once): /weave init
242
- ↓
243
- 1. ONE-COMMAND (recommended): /weave flow docs/
244
- - runs: prepare -> auto-approve -> craft -> verify -> finalize
245
- ↓
246
- (or manual path)
247
- ↓
248
- 2. PLAN (manual path): /weave prepare docs/
249
- - or: /weave research docs/ β†’ /weave spec docs/ β†’ /weave design docs/
250
- ↓
251
- 3. REFINE (optional): /weave refine-plan
252
- - apply annotation notes from tasks/plan-notes.md
253
- ↓
254
- 4. APPROVAL GATE: /weave approve-plan
255
- - required before craft execution
256
- ↓
257
- 5. CRAFT: /weave craft
258
- - Generates an execution plan and next actions
259
- - Implement/verify changes, then finalize with approve-plan
260
- - Use `/weave verify` anytime for build/test checks
261
- ↓
262
- 6. HANDOFF: You validate UX/intent and move to next phase
263
- ```
212
+ ### 🧡 Weave Workflow
213
+
214
+ **Phase-Driven Development** β€” "AI verifies, Human validates"
215
+
216
+ Weave is Maskweaver's flagship workflow. It breaks work into testable phases, auto-selects expert masks, and provides structured verification before handoff.
217
+
218
+ #### Commands
219
+
220
+ | Command | Description |
221
+ |---------|-------------|
222
+ | `/weave init` | Initialize Weave (once per repo) |
223
+ | `/weave research [docs]` | Deep-read docs + workspace context and generate persistent `tasks/research.md` |
224
+ | `/weave prepare [docs]` | (Manual path) Generate research + baseline spec + phase plan (auto-split if oversized) |
225
+ | `/weave refine-plan` | Apply structured plan notes (`tasks/plan-notes.md`) to active plan |
226
+ | `/weave approve-plan` | Explicit human approval gate before implementation |
227
+ | `/weave flow [docs]` | (Recommended) One-command path: prepare -> auto-approve -> craft -> verify -> finalize |
228
+ | `/weave spec [docs]` | Generate baseline spec only (optional) |
229
+ | `/weave design [docs]` | Analyze requirements β†’ Generate phase plan (`/weave plan` alias, auto-split if oversized) |
230
+ | `/weave craft [P#]` | Prepare phase execution context and guidance |
231
+ | `/weave verify` | Run build/test verification (auto-detect) |
232
+ | `/weave worktree ...` | Manage git worktrees for parallel work |
233
+ | `/weave status` | View project progress and stats |
234
+ | `/weave help` | Show documentation |
235
+
236
+ > Tip: In OpenCode chat you can use `/weave ...` commands, and they map to the underlying `weave command=...` tool calls.
237
+
238
+ #### Workflow
239
+
240
+ ```
241
+ 0. INIT (once): /weave init
242
+ ↓
243
+ 1. ONE-COMMAND (recommended): /weave flow docs/
244
+ - runs: prepare -> auto-approve -> craft -> verify -> finalize
245
+ ↓
246
+ (or manual path)
247
+ ↓
248
+ 2. PLAN (manual path): /weave prepare docs/
249
+ - or: /weave research docs/ β†’ /weave spec docs/ β†’ /weave design docs/
250
+ ↓
251
+ 3. REFINE (optional): /weave refine-plan
252
+ - apply annotation notes from tasks/plan-notes.md
253
+ ↓
254
+ 4. APPROVAL GATE: /weave approve-plan
255
+ - required before craft execution
256
+ ↓
257
+ 5. CRAFT: /weave craft
258
+ - Generates an execution plan and next actions
259
+ - Implement/verify changes, then finalize with approve-plan
260
+ - Use `/weave verify` anytime for build/test checks
261
+ ↓
262
+ 6. HANDOFF: You validate UX/intent and move to next phase
263
+ ```
264
264
 
265
265
  #### Multi-Layer AI Verification
266
266
 
@@ -275,55 +275,55 @@ Before handing off to you, AI runs these verification layers:
275
275
  | 5️⃣ E2E Tests | Test | **Playwright** |
276
276
  | 6️⃣ Screenshot | Visual | Playwright / browser capture |
277
277
  | 7️⃣ API Check | API | `fetch` health checks |
278
- | 8️⃣ A11y | Accessibility | `axe-core` |
279
- | 0️⃣ GDC Check | Design | `gdc check --machine` |
280
-
281
- #### GDC Integration (Graph-Driven Codebase)
282
-
283
- Weave integrates with [GDC](https://github.com/ulgerang/gdc) (Graph-Driven Codebase) to enhance research quality and add design-time verification gates:
284
-
285
- **Research Enhancement:**
286
- - Automatic `.gdc` workspace detection
287
- - `weave init` probe chain (`version`/`sync`/`check`/`stats`) for quick integration health check
288
- - GDC `stats`, `graph`, and `check` results embedded in `tasks/research.md`
289
- - Dependency blast radius analysis from graph edges
290
- - Candidate reuse nodes matched against feature keywords
291
- - New report sections: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
292
-
293
- **Execution Enhancements:**
294
- - `weave craft` can generate node context files via `gdc extract` and link them in `tasks/todo.md`
295
- - `weave status` includes GDC node/check metrics (`total/implemented/tested`, issue summary)
296
- - `weave worktree create` can bootstrap `.gdc/config.yaml` and `.gdc/nodes/**` (without `.gdc/graph.db`)
297
-
298
- **Pre-Verify Gate:**
299
- When GDC is detected, `weave verify` and `weave flow` automatically run:
300
- 1. `gdc sync --machine` - Sync specs with implementation
301
- 2. `gdc check --machine` - Validate spec/implementation alignment
302
-
303
- Blocking errors from GDC check will halt verification (configurable via `strictVerify` mode).
304
-
305
- **Configuration** (`maskweaver.config.json`):
306
- ```json
307
- {
308
- "gdc": {
309
- "enabled": "auto",
310
- "strictVerify": false,
311
- "autoSyncOnPrepare": true,
312
- "extractContext": {
313
- "withImpl": true,
314
- "withTests": true,
315
- "withCallers": true
316
- }
317
- }
318
- }
319
- ```
320
-
321
- - `enabled`: `true` | `false` | `"auto"` (default: auto-detect from `.gdc` directory)
322
- - `strictVerify`: If `true`, GDC check failures block verification; if `false`, continues with warning
323
- - `autoSyncOnPrepare`: Run `gdc sync` during `weave prepare`
324
- - `extractContext`: Controls `gdc extract` evidence flags during `weave craft`
325
-
326
- #### Autonomous Mask Selection
278
+ | 8️⃣ A11y | Accessibility | `axe-core` |
279
+ | 0️⃣ GDC Check | Design | `gdc check --machine` |
280
+
281
+ #### GDC Integration (Graph-Driven Codebase)
282
+
283
+ Weave integrates with [GDC](https://github.com/ulgerang/gdc) (Graph-Driven Codebase) to enhance research quality and add design-time verification gates:
284
+
285
+ **Research Enhancement:**
286
+ - Automatic `.gdc` workspace detection
287
+ - `weave init` probe chain (`version`/`sync`/`check`/`stats`) for quick integration health check
288
+ - GDC `stats`, `graph`, and `check` results embedded in `tasks/research.md`
289
+ - Dependency blast radius analysis from graph edges
290
+ - Candidate reuse nodes matched against feature keywords
291
+ - New report sections: `GDC Node Coverage`, `Dependency Blast Radius`, `Existing Spec vs Implementation Drift`, `Candidate Reuse Nodes`
292
+
293
+ **Execution Enhancements:**
294
+ - `weave craft` can generate node context files via `gdc extract` and link them in `tasks/todo.md`
295
+ - `weave status` includes GDC node/check metrics (`total/implemented/tested`, issue summary)
296
+ - `weave worktree create` can bootstrap `.gdc/config.yaml` and `.gdc/nodes/**` (without `.gdc/graph.db`)
297
+
298
+ **Pre-Verify Gate:**
299
+ When GDC is detected, `weave verify` and `weave flow` automatically run:
300
+ 1. `gdc sync --machine` - Sync specs with implementation
301
+ 2. `gdc check --machine` - Validate spec/implementation alignment
302
+
303
+ Blocking errors from GDC check will halt verification (configurable via `strictVerify` mode).
304
+
305
+ **Configuration** (`maskweaver.config.json`):
306
+ ```json
307
+ {
308
+ "gdc": {
309
+ "enabled": "auto",
310
+ "strictVerify": false,
311
+ "autoSyncOnPrepare": true,
312
+ "extractContext": {
313
+ "withImpl": true,
314
+ "withTests": true,
315
+ "withCallers": true
316
+ }
317
+ }
318
+ }
319
+ ```
320
+
321
+ - `enabled`: `true` | `false` | `"auto"` (default: auto-detect from `.gdc` directory)
322
+ - `strictVerify`: If `true`, GDC check failures block verification; if `false`, continues with warning
323
+ - `autoSyncOnPrepare`: Run `gdc sync` during `weave prepare`
324
+ - `extractContext`: Controls `gdc extract` evidence flags during `weave craft`
325
+
326
+ #### Autonomous Mask Selection
327
327
 
328
328
  The AI automatically picks the best expert for each task:
329
329
 
@@ -427,51 +427,51 @@ import { MaskLoader } from 'maskweaver/core';
427
427
  import { WeaveOrchestrator, GlobalKnowledge } from 'maskweaver/weave';
428
428
  ```
429
429
 
430
- **Modules:**
431
- - `maskweaver/core` - Mask loading, validation (YAML/JSON)
432
- - `maskweaver/memory` - Embeddings + vector search (5 providers)
433
- - `maskweaver/context` - Feature-based work tracking
434
- - `maskweaver/verify` - Cross-mask code review
435
- - `maskweaver/retrospect` - Session effectiveness analysis
436
- - `maskweaver/weave` - Phase-driven development workflow
437
- - `maskweaver/gdc` - GDC (Graph-Driven Codebase) integration utilities
438
- - `maskweaver/plugin` - OpenCode plugin entry point
430
+ **Modules:**
431
+ - `maskweaver/core` - Mask loading, validation (YAML/JSON)
432
+ - `maskweaver/memory` - Embeddings + vector search (5 providers)
433
+ - `maskweaver/context` - Feature-based work tracking
434
+ - `maskweaver/verify` - Cross-mask code review
435
+ - `maskweaver/retrospect` - Session effectiveness analysis
436
+ - `maskweaver/weave` - Phase-driven development workflow
437
+ - `maskweaver/gdc` - GDC (Graph-Driven Codebase) integration utilities
438
+ - `maskweaver/plugin` - OpenCode plugin entry point
439
439
 
440
440
  ---
441
441
 
442
- ## 🧡 Weave Usage Guide
443
-
444
- ### Step 0: Initialize (Once)
445
-
446
- ```bash
447
- /weave init
448
- ```
449
-
450
- ### Step 1: Create a Plan (Flow Recommended)
451
-
452
- Fastest path (one command):
453
-
454
- ```bash
455
- /weave flow docs/
456
- ```
457
-
458
- This runs `prepare -> auto-approve -> craft -> verify -> finalize` in one shot.
459
-
460
- Manual happy path (research + spec + plan in one command):
461
-
462
- ```bash
463
- /weave prepare docs/
464
- /weave approve-plan
465
- ```
466
-
467
- Or run the full pipeline separately:
468
-
469
- ```bash
470
- /weave research docs/
471
- /weave spec docs/
472
- /weave design docs/
473
- /weave approve-plan
474
- ```
442
+ ## 🧡 Weave Usage Guide
443
+
444
+ ### Step 0: Initialize (Once)
445
+
446
+ ```bash
447
+ /weave init
448
+ ```
449
+
450
+ ### Step 1: Create a Plan (Flow Recommended)
451
+
452
+ Fastest path (one command):
453
+
454
+ ```bash
455
+ /weave flow docs/
456
+ ```
457
+
458
+ This runs `prepare -> auto-approve -> craft -> verify -> finalize` in one shot.
459
+
460
+ Manual happy path (research + spec + plan in one command):
461
+
462
+ ```bash
463
+ /weave prepare docs/
464
+ /weave approve-plan
465
+ ```
466
+
467
+ Or run the full pipeline separately:
468
+
469
+ ```bash
470
+ /weave research docs/
471
+ /weave spec docs/
472
+ /weave design docs/
473
+ /weave approve-plan
474
+ ```
475
475
 
476
476
  The AI will:
477
477
  1. Read all documents in the path
@@ -496,43 +496,43 @@ Build a modern emotion diary app with AI-powered insights
496
496
  Is this plan okay? Let me know if changes are needed.
497
497
  ```
498
498
 
499
- ### Step 2: Approve the Plan (Required)
500
-
501
- ```bash
502
- /weave approve-plan
503
- ```
504
-
505
- ### Step 3: Craft a Phase (Auto-select if omitted)
506
-
507
- Start with the first phase:
508
-
509
- ```bash
510
- /weave craft
511
- ```
512
-
513
- `/weave craft` returns execution context for the phase. Implement changes, then rerun `/weave craft` if you want to refresh the plan view.
514
-
515
- ### Step 4: Continue Implementation
516
-
517
- ```txt
518
- weave command=craft phaseId="P1"
519
- weave command=verify
520
- ```
521
-
522
- One-command resume:
523
-
524
- ```txt
525
- weave command=flow
526
- ```
527
-
528
- ### Step 5: Finalize the Phase
529
-
530
- ```txt
531
- weave command=verify
532
- weave command=approve-plan
533
- ```
534
-
535
- ### Step 6: Handoff & Validate
499
+ ### Step 2: Approve the Plan (Required)
500
+
501
+ ```bash
502
+ /weave approve-plan
503
+ ```
504
+
505
+ ### Step 3: Craft a Phase (Auto-select if omitted)
506
+
507
+ Start with the first phase:
508
+
509
+ ```bash
510
+ /weave craft
511
+ ```
512
+
513
+ `/weave craft` returns execution context for the phase. Implement changes, then rerun `/weave craft` if you want to refresh the plan view.
514
+
515
+ ### Step 4: Continue Implementation
516
+
517
+ ```txt
518
+ weave command=craft phaseId="P1"
519
+ weave command=verify
520
+ ```
521
+
522
+ One-command resume:
523
+
524
+ ```txt
525
+ weave command=flow
526
+ ```
527
+
528
+ ### Step 5: Finalize the Phase
529
+
530
+ ```txt
531
+ weave command=verify
532
+ weave command=approve-plan
533
+ ```
534
+
535
+ ### Step 6: Handoff & Validate
536
536
 
537
537
  When all verifications pass:
538
538
 
@@ -561,7 +561,7 @@ http://localhost:5173
561
561
  **[Approve]** **[Request Changes]** **[Later]**
562
562
  ```
563
563
 
564
- ### Step 6: Check Status Anytime
564
+ ### Step 6: Check Status Anytime
565
565
 
566
566
  ```bash
567
567
  /weave status
@@ -133,56 +133,56 @@ permission:
133
133
  3. **μ§„ν–‰ 관리**: task μƒνƒœ λͺ¨λ‹ˆν„°λ§ 및 μ—…λ°μ΄νŠΈ
134
134
  4. **κ²°κ³Ό 톡합**: μ›Œμ»€ κ²°κ³Όλ₯Ό μˆ˜μ§‘ν•˜κ³  κ°€λ©΄μˆ μ‚¬μ—κ²Œ 보고
135
135
 
136
- ## μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ
137
-
138
- ### squad 도ꡬ
139
- - `squad({ action: "assign", squadId, description, assignee, priority })` - task ν• λ‹Ή
140
- - `squad({ action: "update", squadId, taskId, status })` - μƒνƒœ μ—…λ°μ΄νŠΈ
141
- - `squad({ action: "complete", squadId, taskId, success, output })` - μ™„λ£Œ 처리
142
- - `squad({ action: "status", squadId })` - ν˜„μž¬ μƒνƒœ 쑰회
143
- - `squad({ action: "watchdog", dryRun: true })` - 건강 체크
144
- - `squad({ action: "models" })` - **λͺ¨λΈ ν’€ μƒνƒœ 쑰회** (κ°€μš© 슬둯, λŠ₯λ ₯, λ™μ‹œμ‹€ν–‰ ν˜„ν™©)
145
-
146
- ### Task 도ꡬ
147
- - 더미인간 μ†Œν™˜ κ°€λŠ₯ (λ‹€λ₯Έ μ›Œμ»€μ—κ²Œ μœ„μž„)
148
-
149
- ## λͺ¨λΈ ν’€ 기반 μ›Œμ»€ ν• λ‹Ή
150
-
151
- ### λͺ¨λΈ ν’€ μ‹œμŠ€ν…œ
152
- μ‚¬μš©μžμ˜ AI ꡬ독 λͺ¨λΈλ“€μ€ **ν’€(pool)**둜 κ΄€λ¦¬λ©λ‹ˆλ‹€. 각 λͺ¨λΈμ€:
153
- - **λ™μ‹œμ‹€ν–‰ μ œν•œ**: `maxConcurrent` κ°œκΉŒμ§€λ§Œ λ™μ‹œμ— μ‚¬μš© κ°€λŠ₯
154
- - **λŠ₯λ ₯ νƒœκ·Έ**: λͺ¨λΈλ§ˆλ‹€ μž˜ν•˜λŠ” λΆ„μ•Όκ°€ 닀름 (coding, architecture, debugging λ“±)
155
- - **λΉ„μš© λ“±κΈ‰**: low / medium / high
156
-
157
- ### μž‘μ—… ν• λ‹Ή μ „ λͺ¨λΈ 확인
158
- μž‘μ—… ν• λ‹Ή μ „ λ°˜λ“œμ‹œ `squad({ action: "models" })`둜 κ°€μš© λͺ¨λΈμ„ ν™•μΈν•˜μ„Έμš”:
159
- ```
160
- squad({ action: "models" })
161
- β†’ {
162
- totalCapacity: 6,
163
- totalAvailable: 4,
164
- models: [
165
- { id: "gemini-flash", agentName: "dummy-gemini-flash", tier: "flash",
166
- maxConcurrent: 5, activeCount: 1, remainingSlots: 4, capabilities: [...] },
167
- { id: "claude-opus", agentName: "dummy-claude-opus", tier: "premium",
168
- maxConcurrent: 1, activeCount: 1, remainingSlots: 0, available: false },
169
- ]
170
- }
171
- ```
172
-
173
- ### ν• λ‹Ή μ „λž΅
174
- 1. **λͺ¨λΈ 확인**: `squad({ action: "models" })`둜 κ°€μš© ν˜„ν™© νŒŒμ•…
175
- 2. **μž‘μ—… λ§€μΉ­**: μž‘μ—…μ˜ λ³΅μž‘λ„μ™€ νŠΉμ„±μ— λ§žλŠ” λͺ¨λΈ 선택
176
- - λ‹¨μˆœ μž‘μ—… (파일 정리, ν¬λ§€νŒ…) β†’ flash ν‹°μ–΄ λͺ¨λΈ
177
- - 일반 μ½”λ”© β†’ human ν‹°μ–΄ λͺ¨λΈ
178
- - λ³΅μž‘ν•œ 섀계/디버깅 β†’ premium ν‹°μ–΄ λͺ¨λΈ
179
- 3. **λ™μ‹œμ‹€ν–‰ κ³ λ €**: ν•΄λ‹Ή λͺ¨λΈμ˜ `remainingSlots`이 0이면 λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš©
180
- 4. **fallback**: μ›ν•˜λŠ” ν‹°μ–΄κ°€ 꽉 찼으면 λΉ„μŠ·ν•œ λŠ₯λ ₯의 λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš©
181
-
182
- ### assignee μ§€μ • 방식
183
- `assignee` ν•„λ“œμ— **μ—μ΄μ „νŠΈ 이름**을 μ‚¬μš©ν•©λ‹ˆλ‹€:
184
- - ν’€ λͺ¨λΈ: `"dummy-{λͺ¨λΈid}"` (예: `"dummy-gemini-flash"`, `"dummy-claude-opus"`)
185
- - λ ˆκ±°μ‹œ: `"dummy-flash"`, `"dummy-human"`, `"dummy-premium"`
136
+ ## μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ
137
+
138
+ ### squad 도ꡬ
139
+ - `squad({ action: "assign", squadId, description, assignee, priority })` - task ν• λ‹Ή
140
+ - `squad({ action: "update", squadId, taskId, status })` - μƒνƒœ μ—…λ°μ΄νŠΈ
141
+ - `squad({ action: "complete", squadId, taskId, success, output })` - μ™„λ£Œ 처리
142
+ - `squad({ action: "status", squadId })` - ν˜„μž¬ μƒνƒœ 쑰회
143
+ - `squad({ action: "watchdog", dryRun: true })` - 건강 체크
144
+ - `squad({ action: "models" })` - **λͺ¨λΈ ν’€ μƒνƒœ 쑰회** (κ°€μš© 슬둯, λŠ₯λ ₯, λ™μ‹œμ‹€ν–‰ ν˜„ν™©)
145
+
146
+ ### Task 도ꡬ
147
+ - 더미인간 μ†Œν™˜ κ°€λŠ₯ (λ‹€λ₯Έ μ›Œμ»€μ—κ²Œ μœ„μž„)
148
+
149
+ ## λͺ¨λΈ ν’€ 기반 μ›Œμ»€ ν• λ‹Ή
150
+
151
+ ### λͺ¨λΈ ν’€ μ‹œμŠ€ν…œ
152
+ μ‚¬μš©μžμ˜ AI ꡬ독 λͺ¨λΈλ“€μ€ **ν’€(pool)**둜 κ΄€λ¦¬λ©λ‹ˆλ‹€. 각 λͺ¨λΈμ€:
153
+ - **λ™μ‹œμ‹€ν–‰ μ œν•œ**: `maxConcurrent` κ°œκΉŒμ§€λ§Œ λ™μ‹œμ— μ‚¬μš© κ°€λŠ₯
154
+ - **λŠ₯λ ₯ νƒœκ·Έ**: λͺ¨λΈλ§ˆλ‹€ μž˜ν•˜λŠ” λΆ„μ•Όκ°€ 닀름 (coding, architecture, debugging λ“±)
155
+ - **λΉ„μš© λ“±κΈ‰**: low / medium / high
156
+
157
+ ### μž‘μ—… ν• λ‹Ή μ „ λͺ¨λΈ 확인
158
+ μž‘μ—… ν• λ‹Ή μ „ λ°˜λ“œμ‹œ `squad({ action: "models" })`둜 κ°€μš© λͺ¨λΈμ„ ν™•μΈν•˜μ„Έμš”:
159
+ ```
160
+ squad({ action: "models" })
161
+ β†’ {
162
+ totalCapacity: 6,
163
+ totalAvailable: 4,
164
+ models: [
165
+ { id: "gemini-flash", agentName: "dummy-gemini-flash", tier: "flash",
166
+ maxConcurrent: 5, activeCount: 1, remainingSlots: 4, capabilities: [...] },
167
+ { id: "claude-opus", agentName: "dummy-claude-opus", tier: "premium",
168
+ maxConcurrent: 1, activeCount: 1, remainingSlots: 0, available: false },
169
+ ]
170
+ }
171
+ ```
172
+
173
+ ### ν• λ‹Ή μ „λž΅
174
+ 1. **λͺ¨λΈ 확인**: `squad({ action: "models" })`둜 κ°€μš© ν˜„ν™© νŒŒμ•…
175
+ 2. **μž‘μ—… λ§€μΉ­**: μž‘μ—…μ˜ λ³΅μž‘λ„μ™€ νŠΉμ„±μ— λ§žλŠ” λͺ¨λΈ 선택
176
+ - λ‹¨μˆœ μž‘μ—… (파일 정리, ν¬λ§€νŒ…) β†’ flash ν‹°μ–΄ λͺ¨λΈ
177
+ - 일반 μ½”λ”© β†’ human ν‹°μ–΄ λͺ¨λΈ
178
+ - λ³΅μž‘ν•œ 섀계/디버깅 β†’ premium ν‹°μ–΄ λͺ¨λΈ
179
+ 3. **λ™μ‹œμ‹€ν–‰ κ³ λ €**: ν•΄λ‹Ή λͺ¨λΈμ˜ `remainingSlots`이 0이면 λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš©
180
+ 4. **fallback**: μ›ν•˜λŠ” ν‹°μ–΄κ°€ 꽉 찼으면 λΉ„μŠ·ν•œ λŠ₯λ ₯의 λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš©
181
+
182
+ ### assignee μ§€μ • 방식
183
+ `assignee` ν•„λ“œμ— **μ—μ΄μ „νŠΈ 이름**을 μ‚¬μš©ν•©λ‹ˆλ‹€:
184
+ - ν’€ λͺ¨λΈ: `"dummy-{λͺ¨λΈid}"` (예: `"dummy-gemini-flash"`, `"dummy-claude-opus"`)
185
+ - λ ˆκ±°μ‹œ: `"dummy-flash"`, `"dummy-human"`, `"dummy-premium"`
186
186
 
187
187
  ## μ›Œν¬ν”Œλ‘œμš°
188
188
 
@@ -229,9 +229,9 @@ squad({ action: "plan", squadId })
229
229
  - μ‹€νŒ¨ν•œ task 및 원인 (μžˆλŠ” 경우)
230
230
  - 총 μ†Œμš” μ‹œκ°„
231
231
 
232
- ## μ œμ•½μ‚¬ν•­
233
-
234
- - ν•œ λ²ˆμ— μ΅œλŒ€ 5개 μ›Œμ»€ 관리
235
- - taskλ‹Ή μ΅œλŒ€ 5λΆ„ νƒ€μž„μ•„μ›ƒ
236
- - μ‹€νŒ¨ μ‹œ μž¬μ‹œλ„ 1회
237
- - **λͺ¨λΈλ³„ λ™μ‹œμ‹€ν–‰ μ œν•œ μ€€μˆ˜** (λ°˜λ“œμ‹œ `squad({ action: "models" })`둜 확인 ν›„ ν• λ‹Ή)
232
+ ## μ œμ•½μ‚¬ν•­
233
+
234
+ - ν•œ λ²ˆμ— μ΅œλŒ€ 5개 μ›Œμ»€ 관리
235
+ - taskλ‹Ή μ΅œλŒ€ 5λΆ„ νƒ€μž„μ•„μ›ƒ
236
+ - μ‹€νŒ¨ μ‹œ μž¬μ‹œλ„ 1회
237
+ - **λͺ¨λΈλ³„ λ™μ‹œμ‹€ν–‰ μ œν•œ μ€€μˆ˜** (λ°˜λ“œμ‹œ `squad({ action: "models" })`둜 확인 ν›„ ν• λ‹Ή)