maskweaver 0.8.6 β 0.8.7
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 +217 -217
- package/README.md +235 -235
- package/assets/agents/squad-operator.md +56 -56
- package/assets/commands/weave-approve-plan.md +57 -57
- package/assets/commands/weave-craft.md +43 -43
- package/assets/commands/weave-design.md +64 -64
- package/assets/commands/weave-flow.md +48 -48
- package/assets/commands/weave-help.md +101 -101
- package/assets/commands/weave-init.md +23 -23
- package/assets/commands/weave-plan.md +15 -15
- package/assets/commands/weave-prepare.md +69 -69
- package/assets/commands/weave-refine-plan.md +59 -59
- package/assets/commands/weave-repair.md +70 -70
- package/assets/commands/weave-research.md +51 -51
- package/assets/commands/weave-spec.md +227 -227
- package/assets/commands/weave-status.md +2 -2
- package/assets/commands/weave-verify.md +44 -44
- package/assets/commands/weave-worktree.md +69 -69
- package/dist/cli/doctor.d.ts +16 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +355 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/install.js +9 -0
- package/dist/cli/install.js.map +1 -1
- package/dist/plugin/config/index.d.ts +3 -10
- package/dist/plugin/config/index.d.ts.map +1 -1
- package/dist/plugin/config/index.js +12 -15
- package/dist/plugin/config/index.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -27
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +40 -240
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/tools/slashcommand.js +59 -59
- package/dist/plugin/tools/squad.js +3 -3
- package/dist/plugin/tools/weave.js +111 -111
- package/dist/plugin/types.d.ts +10 -8
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js +2 -0
- package/dist/plugin/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +4 -2
- 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" })`λ‘ νμΈ ν ν λΉ)
|