maskweaver 0.8.16 → 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 (34) 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 +20 -17
  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/assets/commands/weave-approve-plan.md +0 -57
  29. package/assets/commands/weave-design.md +0 -296
  30. package/assets/commands/weave-flow.md +0 -48
  31. package/assets/commands/weave-plan.md +0 -15
  32. package/assets/commands/weave-research.md +0 -51
  33. package/assets/commands/weave-spec.md +0 -227
  34. package/assets/commands/weave-switch.md +0 -170
@@ -0,0 +1,254 @@
1
+ {
2
+ "$schema": "./commands.schema.json",
3
+ "schemaVersion": "1.0",
4
+ "lastUpdated": "2026-04-29",
5
+ "commands": [
6
+ {
7
+ "name": "init",
8
+ "aliases": [],
9
+ "deprecatedAliases": [],
10
+ "description": "Initialize weave workspace files and probe GDC integration",
11
+ "descriptionEn": "Initialize weave workspace files and probe GDC integration",
12
+ "category": "meta",
13
+ "args": [],
14
+ "mdFile": "weave-init.md",
15
+ "handler": "handleInit",
16
+ "examples": ["weave command=init"]
17
+ },
18
+ {
19
+ "name": "map",
20
+ "aliases": [],
21
+ "deprecatedAliases": [],
22
+ "description": "코드베이스 구조 분석 + GDC 그래프 연동",
23
+ "descriptionEn": "Analyze codebase structure via GDC + Graphify (knowledge graph)",
24
+ "category": "analysis",
25
+ "args": [
26
+ { "name": "deep", "type": "boolean", "default": false, "description": "Run deep analysis with graphify-windows skill" }
27
+ ],
28
+ "mdFile": "weave-map.md",
29
+ "handler": "handleMap",
30
+ "examples": ["weave command=map", "weave command=map deep=true"]
31
+ },
32
+ {
33
+ "name": "interview",
34
+ "aliases": [],
35
+ "deprecatedAliases": [],
36
+ "description": "코드베이스 맵 기반 멀티스텝 요구사항 인터뷰",
37
+ "descriptionEn": "Multi-step question asking until clarity, with structural change detection",
38
+ "category": "analysis",
39
+ "args": [
40
+ { "name": "docsPath", "type": "string", "required": false, "description": "Path to requirements documents" }
41
+ ],
42
+ "mdFile": "weave-interview.md",
43
+ "handler": "handleInterview",
44
+ "examples": ["weave command=interview", "weave command=interview docsPath=\"docs/\""]
45
+ },
46
+ {
47
+ "name": "prepare",
48
+ "aliases": [],
49
+ "deprecatedAliases": [],
50
+ "description": "research + spec + plan을 한 번에 생성 (큰 계획은 자동 분할)",
51
+ "descriptionEn": "Create research + spec + plan with defaults (auto-splits oversized plans)",
52
+ "category": "planning",
53
+ "args": [
54
+ { "name": "docsPath", "type": "string", "required": false, "description": "Path to requirements documents" },
55
+ { "name": "planName", "type": "string", "required": false, "description": "Plan name (kebab-case)" },
56
+ { "name": "splitPlans", "type": "boolean", "default": true, "description": "Auto-split oversized plans into multiple shard plan files" },
57
+ { "name": "splitMaxPhases", "type": "number", "default": 3, "min": 2, "max": 8, "description": "Max phases per shard when splitPlans is enabled" },
58
+ { "name": "splitMaxHours", "type": "number", "default": 10, "min": 4, "max": 40, "description": "Max estimated hours per shard when splitPlans is enabled" }
59
+ ],
60
+ "mdFile": "weave-prepare.md",
61
+ "handler": "handlePrepare",
62
+ "examples": ["weave command=prepare docsPath=\"docs/\"", "weave command=prepare docsPath=\"docs/\" planName=\"emotion-diary\""]
63
+ },
64
+ {
65
+ "name": "refine-plan",
66
+ "aliases": [],
67
+ "deprecatedAliases": [],
68
+ "description": "Apply structured plan-note directives to active plan",
69
+ "descriptionEn": "Apply structured plan-note directives to active plan",
70
+ "category": "planning",
71
+ "args": [
72
+ { "name": "notesPath", "type": "string", "required": false, "description": "Path to structured plan notes (default: tasks/plan-notes.md)" },
73
+ { "name": "applyNotes", "type": "boolean", "default": true, "description": "Auto-apply plan notes during approve" }
74
+ ],
75
+ "mdFile": "weave-refine-plan.md",
76
+ "handler": "handleRefinePlan",
77
+ "examples": ["weave command=refine-plan"]
78
+ },
79
+ {
80
+ "name": "approve",
81
+ "aliases": [],
82
+ "deprecatedAliases": [],
83
+ "description": "Plan 승인 게이트 통과 (구현 전 필수)",
84
+ "descriptionEn": "Approve the plan, or finalize a crafted phase when phaseId is provided",
85
+ "category": "planning",
86
+ "args": [
87
+ { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID to finalize (optional)" },
88
+ { "name": "planReview", "type": "string", "required": false, "description": "Plan review summary text" },
89
+ { "name": "applyNotes", "type": "boolean", "default": true, "description": "Auto-apply plan notes during approve" }
90
+ ],
91
+ "mdFile": "weave-approve.md",
92
+ "handler": "handleApprove",
93
+ "examples": ["weave command=approve", "weave command=approve phaseId=\"P1\""]
94
+ },
95
+ {
96
+ "name": "craft",
97
+ "aliases": [],
98
+ "deprecatedAliases": [],
99
+ "description": "단일 Phase 수동 실행 준비 (실행 컨텍스트 생성)",
100
+ "descriptionEn": "Prepare execution context for a phase (phase auto-select if omitted)",
101
+ "category": "execution",
102
+ "args": [
103
+ { "name": "phaseId", "type": "string", "required": false, "description": "Phase ID (auto-select if omitted)" },
104
+ { "name": "projectType", "type": "string", "required": false, "description": "Project type hint (react, nextjs, go, etc.)" }
105
+ ],
106
+ "mdFile": "weave-craft.md",
107
+ "handler": "handleCraft",
108
+ "examples": ["weave command=craft", "weave command=craft phaseId=\"P1\""]
109
+ },
110
+ {
111
+ "name": "build",
112
+ "aliases": [],
113
+ "deprecatedAliases": [],
114
+ "description": "자율 빌드 루프 실행 및 관리",
115
+ "descriptionEn": "Autonomous build loop — run, resume, or inspect builds",
116
+ "category": "execution",
117
+ "args": [
118
+ { "name": "action", "type": "enum", "values": ["run", "status", "stop", "list", "resume", "sync"], "default": "run", "description": "Build sub-action" },
119
+ { "name": "phaseIds", "type": "string", "required": false, "description": "Comma-separated phase IDs for run action" },
120
+ { "name": "buildId", "type": "string", "required": false, "description": "Build ID for status/stop/resume/sync actions" },
121
+ { "name": "maxRetries", "type": "number", "default": 3, "min": 1, "max": 10, "description": "Maximum retries per task (for run action)" },
122
+ { "name": "maxIterations", "type": "number", "default": 1, "min": 1, "max": 20, "description": "Maximum loop iterations before blocking" },
123
+ { "name": "maxNoProgress", "type": "number", "default": 1, "min": 0, "max": 10, "description": "Maximum repeated no-progress failures before blocking" }
124
+ ],
125
+ "mdFile": "weave-build.md",
126
+ "handler": "handleBuild",
127
+ "examples": [
128
+ "weave command=build",
129
+ "weave command=build action=run phaseIds=\"P1,P2\"",
130
+ "weave command=build action=status buildId=\"build-20250428-a1b2\"",
131
+ "weave command=build action=resume buildId=\"build-20250428-a1b2\"",
132
+ "weave command=build action=list"
133
+ ]
134
+ },
135
+ {
136
+ "name": "status",
137
+ "aliases": [],
138
+ "deprecatedAliases": [],
139
+ "description": "전체 플랜 목록 + 진행 상황 확인",
140
+ "descriptionEn": "View overall progress",
141
+ "category": "management",
142
+ "args": [],
143
+ "mdFile": "weave-status.md",
144
+ "handler": "handleStatus",
145
+ "examples": ["weave command=status"]
146
+ },
147
+ {
148
+ "name": "worktree",
149
+ "aliases": [],
150
+ "deprecatedAliases": [],
151
+ "description": "git worktree 기반 병렬 작업 관리",
152
+ "descriptionEn": "Manage git worktrees for parallel work",
153
+ "category": "management",
154
+ "args": [
155
+ { "name": "worktreeAction", "type": "enum", "values": ["create", "list", "open", "remove", "merge"], "required": false, "description": "Worktree action" },
156
+ { "name": "name", "type": "string", "required": false, "description": "Worktree name" },
157
+ { "name": "fromRef", "type": "string", "required": false, "description": "Base git ref to branch from" },
158
+ { "name": "deleteBranch", "type": "boolean", "default": false, "description": "Delete branch when removing worktree" }
159
+ ],
160
+ "mdFile": "weave-worktree.md",
161
+ "handler": "handleWorktree",
162
+ "examples": ["weave command=worktree worktreeAction=list"]
163
+ },
164
+ {
165
+ "name": "verify",
166
+ "aliases": [],
167
+ "deprecatedAliases": [],
168
+ "description": "빌드/테스트 검증 실행 (프로젝트 유형 자동 감지)",
169
+ "descriptionEn": "Run build/test verification for current worktree",
170
+ "category": "management",
171
+ "args": [
172
+ { "name": "verifyMode", "type": "enum", "values": ["quick", "full"], "default": "full", "description": "Verification mode" },
173
+ { "name": "projectType", "type": "string", "required": false, "description": "Project type hint" }
174
+ ],
175
+ "mdFile": "weave-verify.md",
176
+ "handler": "handleVerify",
177
+ "examples": ["weave command=verify", "weave command=verify verifyMode=quick"]
178
+ },
179
+ {
180
+ "name": "archive",
181
+ "aliases": [],
182
+ "deprecatedAliases": [],
183
+ "description": "검증된 변경사항 아카이브",
184
+ "descriptionEn": "Archive the verified active change artifact",
185
+ "category": "management",
186
+ "args": [],
187
+ "mdFile": "weave-archive.md",
188
+ "handler": "handleArchive",
189
+ "examples": ["weave command=archive"]
190
+ },
191
+ {
192
+ "name": "troubleshoot",
193
+ "aliases": [],
194
+ "deprecatedAliases": [],
195
+ "description": "글로벌 지식 검색 및 솔루션 기록",
196
+ "descriptionEn": "Search global knowledge for solutions or record a new one",
197
+ "category": "knowledge",
198
+ "args": [
199
+ { "name": "error", "type": "string", "required": false, "description": "Error message to search solutions for" },
200
+ { "name": "record", "type": "boolean", "default": false, "description": "Record a new solution instead of searching" },
201
+ { "name": "solution", "type": "string", "required": false, "description": "Solution to record (when record=true)" },
202
+ { "name": "context", "type": "string", "required": false, "description": "Context for the troubleshooting entry" }
203
+ ],
204
+ "mdFile": "weave-troubleshoot.md",
205
+ "handler": "handleTroubleshoot",
206
+ "examples": [
207
+ "weave command=troubleshoot error=\"Cannot find module 'xyz'\"",
208
+ "weave command=troubleshoot record=true solution=\"Restart dev server\""
209
+ ]
210
+ },
211
+ {
212
+ "name": "repair",
213
+ "aliases": [],
214
+ "deprecatedAliases": [],
215
+ "description": "plan YAML 파일 자동 검사 및 수리",
216
+ "descriptionEn": "Scan and auto-repair corrupted plan YAML files",
217
+ "category": "knowledge",
218
+ "args": [],
219
+ "mdFile": "weave-repair.md",
220
+ "handler": "handleRepair",
221
+ "examples": ["weave command=repair"]
222
+ },
223
+ {
224
+ "name": "agents",
225
+ "aliases": [],
226
+ "deprecatedAliases": [],
227
+ "description": "에이전트 파일 동기화 및 설정 초기화",
228
+ "descriptionEn": "Sync dummy-human agent files and initialize configuration",
229
+ "category": "configuration",
230
+ "args": [
231
+ { "name": "sync", "type": "boolean", "default": false, "description": "Force regenerate agent .md files from config pool" },
232
+ { "name": "init", "type": "boolean", "default": false, "description": "Create default maskweaver.config.json with pool template" }
233
+ ],
234
+ "mdFile": "weave-agents.md",
235
+ "handler": "handleAgents",
236
+ "examples": [
237
+ "weave command=agents sync=true",
238
+ "weave command=agents init=true"
239
+ ]
240
+ },
241
+ {
242
+ "name": "help",
243
+ "aliases": [],
244
+ "deprecatedAliases": [],
245
+ "description": "Weave 워크플로우 도움말",
246
+ "descriptionEn": "Show weave workflow help",
247
+ "category": "meta",
248
+ "args": [],
249
+ "mdFile": "weave-help.md",
250
+ "handler": "getHelpMessage",
251
+ "examples": ["weave command=help"]
252
+ }
253
+ ]
254
+ }
@@ -0,0 +1,62 @@
1
+ ---
2
+ description: 에이전트 파일 동기화 및 설정 초기화
3
+ ---
4
+
5
+ # /weave-agents - 에이전트 및 설정 관리
6
+
7
+ ## 개요
8
+
9
+ 에이전트 파일과 설정 파일을 관리합니다. 기존 `sync-agents`와 `init-config`를 통합한 명령어입니다.
10
+
11
+ | 플래그 | 설명 | 대응 기존 명령어 |
12
+ |--------|------|-----------------|
13
+ | `sync` | 설정 기준으로 더미 에이전트 파일 강제 재생성 | `weave sync-agents` |
14
+ | `init` | 기본 설정 파일(maskweaver.config.json) 생성 | `weave init-config` |
15
+
16
+ ---
17
+
18
+ ## 사용법
19
+
20
+ ```bash
21
+ # 에이전트 파일 동기화
22
+ /weave-agents --sync
23
+
24
+ # 기본 설정 파일 생성
25
+ /weave-agents --init
26
+
27
+ # 동시 실행
28
+ /weave-agents --sync --init
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 입력
34
+
35
+ ```yaml
36
+ sync: true # (선택) 에이전트 파일 강제 재생성
37
+ init: true # (선택) 기본 설정 파일 생성 (기존 파일 덮어쓰지 않음)
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 출력 예시
43
+
44
+ ### 동기화
45
+
46
+ ```markdown
47
+ ## 🔄 Agent Sync
48
+
49
+ ✅ Updated: `.opencode/agents/dummy-human-1.md`
50
+ ✅ Updated: `.opencode/agents/dummy-human-2.md`
51
+
52
+ > ⚠️ **Important:** You may need to restart OpenCode for the updated agent files to take effect.
53
+ ```
54
+
55
+ ### 설정 초기화
56
+
57
+ ```markdown
58
+ ## 📝 Config Initialization
59
+
60
+ ✅ Created runtime config: maskweaver.config.json
61
+ ✅ Created plugin config: .opencode/maskweaver.json
62
+ ```
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: Plan 승인 게이트 통과 (구현 전 필수)
3
+ ---
4
+
5
+ # /weave-approve - Plan 승인 게이트
6
+
7
+ ## 개요
8
+
9
+ 구현 전 **반드시 통과해야 하는 승인 게이트**입니다. Plan을 검토하고 승인하거나, 이미 craft 완료된 Phase를 최종 확정(finalize)합니다.
10
+
11
+ **이전 명령어**: `approve-plan` (v0.9까지 alias로 동작)
12
+
13
+ ---
14
+
15
+ ## 사용법
16
+
17
+ ```bash
18
+ # Plan 승인 (가장 일반적)
19
+ /weave-approve
20
+
21
+ # Craft 완료된 Phase 최종 확정
22
+ /weave-approve P1
23
+ ```
24
+
25
+ ---
26
+
27
+ ## 입력
28
+
29
+ ```yaml
30
+ phaseId: "P1" # (선택) 최종 확정할 Phase ID. 미지정 시 Plan 승인
31
+ planReview: "..." # (선택) Plan 검토 요약
32
+ applyNotes: true # (선택) plan-notes 자동 반영 여부 (기본: true)
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 동작 흐름
38
+
39
+ ```
40
+ 1. 활성 Plan 로드
41
+ 2. phaseId 미지정 → Plan 승인
42
+ └─ applyNotes=true → plan-notes 자동 반영 후 승인
43
+ 3. phaseId 지정 → Phase 최종 확정 (finalize)
44
+ └─ verify → 통과 시 완료 처리
45
+ ```
46
+
47
+ ---
48
+
49
+ ## 출력 예시
50
+
51
+ ### Plan 승인
52
+
53
+ ```markdown
54
+ ## ✅ Plan Approved
55
+
56
+ - Plan: `.opencode/weave/plans/emotion-diary.yaml`
57
+ - Approved at: 2025-04-28T10:30:00.000Z
58
+ - Review note: Approved without additional notes.
59
+
60
+ 다음 단계: `weave command=craft phaseId="P1"`
61
+ ```
@@ -0,0 +1,99 @@
1
+ ---
2
+ description: 자율 빌드 루프 실행 및 관리 (run, status, stop, list, resume, sync)
3
+ ---
4
+
5
+ # /weave-build - 자율 빌드 루프 실행 및 관리
6
+
7
+ ## 개요
8
+
9
+ 승인된 플랜의 지정된 Phase(들)를 **자율 빌드 루프**로 실행하거나, 기존 빌드의 상태를 확인/관리합니다.
10
+
11
+ | 서브 액션 | 설명 | 대응 기존 명령어 |
12
+ |-----------|------|-----------------|
13
+ | `run` (기본) | 활성 Phase를 Ralph-loop로 자율 실행 | `weave build`, `weave loop-run` |
14
+ | `status` | 특정 빌드/루프의 상태 확인 | `weave loop-status` |
15
+ | `stop` | 실행 중인 빌드/루프 중단 요청 | `weave loop-stop` |
16
+ | `list` | 모든 빌드/루프 목록 조회 | `weave loop-list` |
17
+ | `resume` | 중단(blocked)된 빌드 재개 | `weave build-resume` |
18
+ | `sync` | 위임된 squad 결과 동기화 | `weave loop-sync` |
19
+
20
+ ---
21
+
22
+ ## 사용법
23
+
24
+ ```bash
25
+ # 자율 빌드 시작 (기본)
26
+ /weave-build
27
+ /weave-build P1,P2
28
+
29
+ # 빌드 상태 확인
30
+ /weave-build --status build-20250428-a1b2
31
+
32
+ # 빌드 중단
33
+ /weave-build --stop build-20250428-a1b2
34
+
35
+ # 빌드 목록
36
+ /weave-build --list
37
+
38
+ # 중단 빌드 재개
39
+ /weave-build --resume build-20250428-a1b2
40
+
41
+ # 위임 결과 동기화
42
+ /weave-build --sync build-20250428-a1b2
43
+ ```
44
+
45
+ ---
46
+
47
+ ## 입력
48
+
49
+ ```yaml
50
+ action: run | status | stop | list | resume | sync # (선택) 서브 액션. 기본값: run
51
+ phaseIds: "P1,P2" # (선택, action=run) 쉼표로 구분된 Phase ID
52
+ buildId: "build-xxx" # (선택, action=status/stop/resume/sync) 대상 빌드 ID
53
+ maxRetries: 3 # (선택, action=run) 태스크당 최대 재시도
54
+ maxIterations: 1 # (선택) 최대 반복 횟수
55
+ maxNoProgress: 1 # (선택) 무진행 허용 횟수
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 출력 예시
61
+
62
+ ### 성공 (run)
63
+
64
+ ```markdown
65
+ ## ✅ Build Complete
66
+
67
+ **Build ID**: `build-20250428-a1b2`
68
+ **Plan**: `emotion-diary`
69
+ **Phases**: P1, P2
70
+
71
+ | Phase | 상태 | 소요 시간 |
72
+ |-------|------|----------|
73
+ | P1 | ✅ 완료 | 12분 |
74
+ | P2 | ✅ 완료 | 8분 |
75
+ ```
76
+
77
+ ### 일부 실패 (blocked)
78
+
79
+ ```markdown
80
+ ## ⚠️ Build Blocked
81
+
82
+ **Build ID**: `build-20250428-c3d4`
83
+ **Plan**: `emotion-diary`
84
+
85
+ | Phase | 상태 | 실패 원인 |
86
+ |-------|------|----------|
87
+ | P1 | ✅ 완료 | - |
88
+ | P2 | 🚫 blocked | 타입 검증 실패 (3회 재시도 소진) |
89
+
90
+ **다음 동작**: `weave build action=resume buildId="build-20250428-c3d4"`
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 관련 명령어
96
+
97
+ - `/weave-craft [phaseId]` — 단일 Phase 수동 실행 준비
98
+ - `/weave-verify` — 현재 워크트리 검증
99
+ - `/weave-status` — 전체 진행 상황