maskweaver 0.9.2 → 0.9.4

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.
@@ -1,59 +1,26 @@
1
- ---
2
- description: plan-notes 지시문을 active plan에 자동 반영
3
- ---
4
-
5
- # /weave-refine-plan - 계획 정제(Annotation Cycle)
6
-
7
- ## 개요
8
-
9
- `/weave-refine-plan`은 `tasks/plan-notes.md`의 지시문을 읽어서 active plan YAML에 자동 반영합니다.
10
-
11
- - 구현 전에 계획을 여러 번 정제하는 annotation cycle용
12
- - 반영이 일어나면 plan 승인 상태를 자동으로 해제
13
- - 반영 후에는 `weave approve-plan`을 다시 실행해야 구현 가능
14
-
15
- ---
16
-
17
- ## 기본 사용법
18
-
19
- ```txt
20
- /weave-refine-plan
21
- ```
22
-
23
- 내부 호출:
24
-
25
- ```txt
26
- weave command=refine-plan
27
- ```
28
-
29
- 노트 파일 경로를 바꾸려면:
30
-
31
- ```txt
32
- weave command=refine-plan notesPath="tasks/my-plan-notes.md"
33
- ```
34
-
35
- ---
36
-
37
- ## 노트 문법 (예시)
38
-
39
- `tasks/plan-notes.md`에 아래처럼 작성:
40
-
41
- ```txt
42
- @plan vision: 로그인 이후 대시보드 흐름을 단순화한다
43
- @arch frontend: React + Vite + TanStack Query
44
-
45
- @phase P1 done_when: 유저가 이메일/비밀번호로 로그인할 수 있다
46
- @phase P1 add_checklist: 로그인 실패 메시지가 명확히 보인다
47
-
48
- @phase add P4: 운영 모니터링 | done=로그/메트릭 대시보드가 동작한다 | hours=3
49
- @phase remove P7
50
- ```
51
-
52
- ---
53
-
54
- ## 다음 단계
55
-
56
- ```txt
57
- weave command=approve-plan
58
- weave command=craft
59
- ```
1
+ ---
2
+ description: Apply structured plan-note directives to the active plan
3
+ ---
4
+
5
+ # /weave-refine-plan
6
+
7
+ Apply structured review notes to the active plan before approval.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=refine-plan
13
+ weave command=refine-plan notesPath="tasks/plan-notes.md"
14
+ ```
15
+
16
+ ## Note Examples
17
+
18
+ ```txt
19
+ @plan vision: Keep the first release focused on login and dashboard.
20
+ @phase P1 done_when: A user can sign in with email and password.
21
+ @phase P1 add_checklist: Failed login shows a clear message.
22
+ @phase add P4: Observability | done=errors are logged | hours=3
23
+ @phase remove P7
24
+ ```
25
+
26
+ Run `/weave-approve` again after changing the active plan.
@@ -1,70 +1,22 @@
1
- ---
2
- description: 깨진 YAML 플랜 파일을 스캔하고 자동 수복
3
- ---
4
-
5
- # /weave-repair - YAML 자동 수복
6
-
7
- ## 개요
8
-
9
- Weave 플랜 YAML 파일의 손상을 감지하고 자동으로 수복합니다.
10
-
11
- **사용법**:
12
- - `/weave-repair` — 전체 플랜 파일 스캔 및 수복
13
- - `/weave-repair $ARGUMENTS` — 특정 파일만 수복 (예: `holon-x-openclaw-evolution-v3`)
14
-
15
- ---
16
-
17
- ## 실행 절차
18
-
19
- ### 1단계: 플랜 파일 스캔
20
-
21
- ```
22
- 1. .opencode/weave/state.yaml 확인
23
- 2. .opencode/weave/plans/ 디렉토리의 모든 .yaml 파일 목록 확인
24
- 3. .opencode/weave/PLAN.yaml (레거시) 확인
25
- ```
26
-
27
- ### 2단계: weave tool로 수복 실행
28
-
29
- `weave command=repair`를 호출하여 자동 수복을 실행합니다.
30
-
31
- ### 3단계: 결과 보고
32
-
33
- 수복 결과를 유저에게 보여줍니다:
34
- - **OK**: 정상 파일
35
- - **FIXED**: 자동 수복 성공 (무엇을 고쳤는지 표시)
36
- - **FAIL**: 자동 수복 불가 (유저에게 복구 옵션 안내)
37
-
38
- ---
39
-
40
- ## 자동 수복 가능한 문제
41
-
42
- | 문제 | 예시 | 수복 방법 |
43
- |------|------|----------|
44
- | 닫히지 않은 따옴표 | `done_when: "1. fs.edit가 SecurityHook에` | 내부 따옴표 이스케이프 후 닫기 |
45
- | 탭 문자 | 들여쓰기에 탭 사용 | 스페이스 2칸으로 변환 |
46
- | 줄바꿈 문제 | CR+LF 혼합 | LF로 통일 |
47
- | 백업 복원 | 파싱 완전 실패 | `.bak` 파일에서 복원 |
48
-
49
- ---
50
-
51
- ## 자동 수복 불가한 경우
52
-
53
- 수복이 불가능한 파일이 있으면 유저에게 다음 옵션을 안내합니다:
54
-
55
- 1. **원본 요구사항이 있다면**: `/weave-design`으로 플랜 재생성
56
- 2. **`.corrupted` 백업 확인**: plans 디렉토리에 백업 파일 존재 여부
57
- 3. **수동 복구**: 유저가 플랜 내용을 기억하면 그 정보로 YAML 재구성
58
-
59
- **유저에게 물어볼 것**:
60
- - 해당 플랜의 프로젝트 이름이 무엇이었는지
61
- - 어떤 Phase들이 있었는지
62
- - 각 Phase의 진행 상태 (완료/진행중/대기)
63
-
64
- ---
65
-
66
- ## 참고
67
-
68
- - 수복 시 원본 파일은 `.corrupted` 확장자로 백업됩니다
69
- - 매 저장마다 `.bak` 백업이 자동 생성됩니다
70
- - `weave status`나 `weave craft` 실행 시에도 YAML 로드 실패하면 자동 수복을 시도합니다
1
+ ---
2
+ description: Scan and auto-repair corrupted plan YAML files
3
+ ---
4
+
5
+ # /weave-repair
6
+
7
+ Repair malformed Weave plan YAML when status, craft, or approve cannot load the plan.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=repair
13
+ ```
14
+
15
+ ## Behavior
16
+
17
+ - Scans `.opencode/weave/state.yaml` and plan files.
18
+ - Reports files as OK, fixed, or failed.
19
+ - Creates backups before risky repairs when supported.
20
+ - Gives manual recovery guidance when automatic repair is not possible.
21
+
22
+ Use this for artifact recovery only. Do not use it to rewrite requirements or change implementation scope.
@@ -1,155 +1,22 @@
1
- ---
2
- description: 전체 플랜 목록 진행 상황 확인
3
- ---
4
-
5
- # /weave-status - 진행 상황 확인
6
-
7
- ## 개요
8
-
9
- 전체 플랜 목록과 활성 플랜의 Phase 진행 상황을 확인합니다.
10
-
11
- **사용법**:
12
- - `/weave-status` — 전체 개요 (모든 플랜 + 활성 플랜 상세)
13
- - `/weave-status $ARGUMENTS` — 특정 플랜 또는 Phase 상세
14
- - `$ARGUMENTS` = 플랜 이름 (예: `emotion-diary`)
15
- - `$ARGUMENTS` = Phase ID (예: `P2`, 활성 플랜의 Phase)
16
-
17
- ---
18
-
19
- ## 데이터 로드 방법 (필수)
20
-
21
- **반드시 이 순서로 파일을 읽어야 합니다**:
22
-
23
- ```
24
- 1. .opencode/weave/state.yaml 읽기 → active_plan 확인
25
- 2. .opencode/weave/plans/ 디렉토리의 모든 .yaml 파일 목록 확인
26
- 3. 각 플랜 파일 읽어서 상태 집계
27
- ```
28
-
29
- **state.yaml이 없는 경우**:
30
- ```markdown
31
- 📋 Weave가 초기화되지 않았습니다.
32
-
33
- 시작하려면: `/weave-init`
34
- ```
35
-
36
- **플랜이 하나도 없는 경우**:
37
- ```markdown
38
- 📋 아직 플랜이 없습니다.
39
-
40
- 새 플랜을 만들려면: `/weave-design [docs-path]`
41
- ```
42
-
43
- ---
44
-
45
- ## 출력: 전체 개요 (`/weave-status`)
46
-
47
- ```markdown
48
- ## 📊 Weave 상태
49
-
50
- ### 활성 플랜: `emotion-diary`
51
- **감정 일기 앱** — 진행률 40%
52
-
53
- [████████░░░░░░░░░░░░] 2/5
54
-
55
- | Phase | 이름 | 상태 | 마스크 |
56
- |-------|------|------|--------|
57
- | P1 | 감정 선택 UI | ✅ 완료 (2.5h) | kent-beck, dan-abramov |
58
- | P2 | 감정 저장 | 🔄 진행 중 | kent-beck |
59
- | P3 | 히스토리 뷰 | ⏳ 대기 | |
60
- | P4 | 통계 시각화 | ⏳ 대기 | |
61
- | P5 | 테마 설정 | ⏳ 대기 | |
62
-
63
- **다음**: `/weave-craft P2`
64
-
65
- ---
66
-
67
- ### 전체 플랜 목록
68
-
69
- | 플랜 | 프로젝트 | 상태 | 진행률 |
70
- |------|---------|------|--------|
71
- | 📌 `emotion-diary` | 감정 일기 앱 | active | 40% (2/5) |
72
- | `todo-app` | Todo 앱 | paused | 60% (3/5) |
73
- | `auth-module` | 인증 모듈 | completed | 100% (4/4) |
74
-
75
- 플랜 전환: `/weave-switch [플랜이름]`
76
- ```
77
-
78
- ---
79
-
80
- ## 출력: 특정 플랜 상세 (`/weave-status {plan-name}`)
81
-
82
- ```markdown
83
- ## 📊 플랜: `todo-app`
84
-
85
- **Todo 앱** — 상태: paused — 진행률 60%
86
-
87
- [████████████░░░░░░░░] 3/5
88
-
89
- ### 비전
90
- 사용자가 간단하게 할 일을 관리할 수 있는 웹 앱
91
-
92
- ### Phases
93
- | Phase | 이름 | 상태 | 소요 시간 | 마스크 |
94
- |-------|------|------|----------|--------|
95
- | P1 | 기본 UI | ✅ 완료 | 2h | dan-abramov |
96
- | P2 | CRUD API | ✅ 완료 | 3h | martin-fowler |
97
- | P3 | 필터/정렬 | ✅ 완료 | 1.5h | kent-beck |
98
- | P4 | 드래그 정렬 | ⏳ 대기 | | |
99
- | P5 | PWA 지원 | ⏳ 대기 | | |
100
-
101
- ### 아키텍처
102
- - Frontend: React + TypeScript
103
- - Backend: Express.js
104
- - Database: SQLite
105
-
106
- 이 플랜으로 전환: `/weave-switch todo-app`
107
- ```
108
-
109
- ---
110
-
111
- ## 출력: 특정 Phase 상세 (`/weave-status P2`)
112
-
113
- 활성 플랜의 해당 Phase를 상세 표시:
114
-
115
- ```markdown
116
- ## Phase P2: 감정 저장
117
-
118
- **플랜**: `emotion-diary`
119
- **상태**: 🔄 진행 중
120
- **시작**: 2026-02-06 10:30
121
- **경과**: 1.5시간
122
-
123
- ### 사용된 마스크
124
- - Kent Beck
125
-
126
- ### 발생한 이슈
127
- - 1회 재시도: JSON 직렬화 오류 → 해결됨
128
-
129
- ### 다음
130
- `/weave-craft P2` — 계속 진행
131
- ```
132
-
133
- ---
134
-
135
- ## 상태 아이콘
136
-
137
- | 아이콘 | 상태 |
138
- |--------|------|
139
- | ✅ | 완료 (completed) |
140
- | 🔄 | 진행 중 (in_progress) |
141
- | ⏳ | 대기 (pending) |
142
- | 🚫 | 차단됨 (의존성 미완료) |
143
- | 📌 | 활성 플랜 표시 |
144
- | ⏸️ | 일시정지 (paused) |
145
-
146
- ---
147
-
148
- ## 플랜 상태 종류
149
-
150
- | 상태 | 의미 |
151
- |------|------|
152
- | `active` | 현재 작업 중인 플랜 |
153
- | `paused` | 일시 중단 (다른 플랜 작업 중) |
154
- | `completed` | 모든 Phase 완료 |
155
- | `archived` | 보관됨 (목록에서 숨김, --all로 표시) |
1
+ ---
2
+ description: View plans, active phase, and progress
3
+ ---
4
+
5
+ # /weave-status
6
+
7
+ Show the current Weave state.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=status
13
+ ```
14
+
15
+ ## What It Reports
16
+
17
+ - Whether Weave has been initialized.
18
+ - Active plan and available plans.
19
+ - Phase status and next recommended action.
20
+ - Blocked, paused, completed, or archived work.
21
+
22
+ Use this when resuming a project, switching plans, or checking whether a build or phase still needs verification.
@@ -1,57 +1,21 @@
1
1
  ---
2
- description: 글로벌 지식 검색 솔루션 기록
2
+ description: Search global knowledge for solutions or record a new one
3
3
  ---
4
4
 
5
- # /weave-troubleshoot - 트러블슈팅
5
+ # /weave-troubleshoot
6
6
 
7
- ## 개요
7
+ Search prior solution knowledge for an error, or record a new solution.
8
8
 
9
- 글로벌 지식베이스에서 유사한 문제의 해결책을 검색하거나, 새로운 해결책을 기록합니다.
9
+ Use the `weave` tool:
10
10
 
11
- **이전 명령어**: `record` (v0.9까지 deprecated alias, `--record` 플래그로 대체)
12
-
13
- ---
14
-
15
- ## 사용법
16
-
17
- ```bash
18
- # 해결책 검색
19
- /weave-troubleshoot "Cannot find module 'xyz'"
20
-
21
- # 새 해결책 기록
22
- /weave-troubleshoot --record error="..." solution="..."
23
- ```
24
-
25
- ---
26
-
27
- ## 입력
28
-
29
- ```yaml
30
- error: "..." # (검색 시 필수) 검색할 에러 메시지
31
- record: true # (선택) 기록 모드 활성화
32
- solution: "..." # (record 시 필수) 기록할 해결책
33
- context: "..." # (선택) 추가 맥락
11
+ ```txt
12
+ weave command=troubleshoot error="Cannot find module 'xyz'"
13
+ weave command=troubleshoot record=true error="..." solution="..." context="..."
34
14
  ```
35
15
 
36
- ---
37
-
38
- ## 출력 예시
16
+ ## Modes
39
17
 
40
- ### 검색
18
+ - Search mode: provide `error`.
19
+ - Record mode: set `record=true` and provide `solution`.
41
20
 
42
- ```markdown
43
- ## 💡 유사한 해결책 발견
44
-
45
- ### 1. (exact, 점수: 95%)
46
- **상황**: Cannot find module 'react'
47
- **해결책**: npm install react react-dom
48
- **효과성**: ⭐⭐⭐⭐⭐
49
- ```
50
-
51
- ### 기록
52
-
53
- ```markdown
54
- ✅ 트러블슈팅 솔루션이 기록되었습니다 (ID: 42)
55
-
56
- 다음에 비슷한 에러가 발생하면 자동으로 이 해결책을 제안합니다.
57
- ```
21
+ Record only solutions that were actually validated. Prefer the exact command, config change, or code path that fixed the issue.
@@ -1,44 +1,23 @@
1
- ---
2
- description: 프로젝트 유형 자동 감지 기반 검증 실행 (build/test)
3
- ---
4
-
5
- # /weave-verify - 검증 실행
6
-
7
- ## 개요
8
-
9
- 현재 worktree(프로젝트 루트)에서 **빌드/테스트 검증**을 실행합니다.
10
-
11
- Weave는 특정 생태계(npm)만 가정하지 않고, 프로젝트 루트의 증거를 기반으로 검증 커맨드를 추천/실행합니다.
12
-
13
- - Node: `package.json scripts` 기반(`npm|pnpm|yarn|bun` 자동 감지)
14
- - Go: `go build ./...`, `go test ./...`
15
- - Rust: `cargo check`, `cargo test`
16
- - Python: `pytest` 또는 `python -m unittest` (+ optional ruff/mypy)
17
- - .NET: `dotnet build`, `dotnet test`
18
-
19
- ---
20
-
21
- ## 실행
22
-
23
- ```txt
24
- weave command=verify
25
- ```
26
-
27
- 프로젝트 타입 힌트를 주고 싶으면:
28
-
29
- ```txt
30
- weave command=verify projectType="go"
31
- ```
32
-
33
- 빠르게(typecheck+tests만) 돌리려면:
34
-
35
- ```txt
36
- weave command=verify verifyMode="quick"
37
- ```
38
-
39
- ---
40
-
41
- ## 결과
42
-
43
- - PASS면 `✅ Verification passed.`
44
- - FAIL이면 실패한 레이어와 로그(tail)를 출력합니다
1
+ ---
2
+ description: Run build and test verification for the current worktree
3
+ ---
4
+
5
+ # /weave-verify
6
+
7
+ Run project-appropriate build and test checks in the current worktree.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=verify
13
+ weave command=verify verifyMode=quick
14
+ weave command=verify projectType="go"
15
+ ```
16
+
17
+ ## Behavior
18
+
19
+ - Detects common project types from files in the project root.
20
+ - Recommends or runs build/test commands for Node, Go, Rust, Python, .NET, and similar stacks.
21
+ - Reports command output and failure tails so the next action is clear.
22
+
23
+ Verification evidence matters more than workflow metadata. Treat failing builds/tests as blockers unless the failure is clearly unrelated and already known.
@@ -1,69 +1,27 @@
1
- ---
2
- description: git worktree 기반 병렬 작업(기능/Phase) 관리
3
- ---
4
-
5
- # /weave-worktree - 병렬 작업용 worktree
6
-
7
- ## 개요
8
-
9
- `git worktree`를 이용해 **작업 디렉토리를 분리**하고, 여러 기능/Phase를 병렬로 진행할 수 있게 합니다.
10
-
11
- - 각 worktree는 서로 다른 브랜치 + 파일 시스템 분리
12
- - 충돌/오염을 줄이고, 동시에 여러 기능을 안전하게 개발할 수 있습니다
13
-
14
- Weave는 worktree 생성 시 `.opencode/weave` 아티팩트를 자동 bootstrap(복사/생성)하여,
15
- "weave init은 프로젝트당 1회" 원칙을 유지합니다.
16
-
17
- ---
18
-
19
- ## 사용법
20
-
21
- ### 1) worktree 생성
22
-
23
- ```txt
24
- weave command=worktree worktreeAction=create name="feature-login"
25
- ```
26
-
27
- ### 2) 목록 보기
28
-
29
- ```txt
30
- weave command=worktree worktreeAction=list
31
- ```
32
-
33
- ### 3) 경로 확인(열기)
34
-
35
- ```txt
36
- weave command=worktree worktreeAction=open name="feature-login"
37
- ```
38
-
39
- 해당 폴더로 이동한 뒤, 평소처럼 진행하면 됩니다:
40
-
41
- ```txt
42
- /weave-prepare docs/
43
- weave craft P1
44
- ```
45
-
46
- ### 4) 병합 가이드
47
-
48
- ```txt
49
- weave command=worktree worktreeAction=merge name="feature-login"
50
- ```
51
-
52
- ### 5) worktree 제거
53
-
54
- ```txt
55
- weave command=worktree worktreeAction=remove name="feature-login"
56
- ```
57
-
58
- 브랜치까지 삭제하려면:
59
-
60
- ```txt
61
- weave command=worktree worktreeAction=remove name="feature-login" deleteBranch=true
62
- ```
63
-
64
- ---
65
-
66
- ## 주의(권장 정책)
67
-
68
- - 같은 파일/설정(package-lock, tsconfig 등)을 동시에 바꾸는 작업은 병렬 worktree라도 merge conflict 가능성이 큽니다
69
- - DB 마이그레이션/스키마 변경은 원칙적으로 순차 진행을 권장합니다
1
+ ---
2
+ description: Manage git worktrees for parallel phase or feature work
3
+ ---
4
+
5
+ # /weave-worktree
6
+
7
+ Manage git worktrees so multiple phases or features can be worked on in separate directories.
8
+
9
+ Use the `weave` tool:
10
+
11
+ ```txt
12
+ weave command=worktree worktreeAction=create name="feature-login"
13
+ weave command=worktree worktreeAction=list
14
+ weave command=worktree worktreeAction=open name="feature-login"
15
+ weave command=worktree worktreeAction=merge name="feature-login"
16
+ weave command=worktree worktreeAction=remove name="feature-login"
17
+ weave command=worktree worktreeAction=remove name="feature-login" deleteBranch=true
18
+ ```
19
+
20
+ ## Policy
21
+
22
+ - Use worktrees for independent phases or features that can progress in parallel.
23
+ - Avoid parallel worktrees when multiple tasks will edit the same lockfile, schema, generated artifact, or central config.
24
+ - Bootstrap Weave artifacts into the new worktree so the user does not need to run `/weave-init` again.
25
+ - Merge from the main worktree, resolve conflicts, then run integration verification once.
26
+
27
+ This command explains git behavior without hiding it: each worktree has its own directory and branch, but merge conflicts are still possible when the same files change.
@@ -31,11 +31,23 @@ import { createSquadTool } from './tools/squad.js';
31
31
  import { createWeaveTool } from './tools/weave.js';
32
32
  import { createSlashcommandTool } from './tools/slashcommand.js';
33
33
  import { generatePoolAgentFilesFromConfig, writeDefaultRuntimeConfig, writeDefaultPluginConfig, } from '../shared/generate-agents.js';
34
+ const BUILD_COMMAND_TEMPLATE = `Use the \`weave\` tool with \`command="build"\`.
35
+
36
+ Forward the user arguments from \`$ARGUMENTS\` to the build command:
37
+
38
+ - No arguments: run the default build loop.
39
+ - \`status <buildId>\`: call \`weave\` with \`command="build"\`, \`action="status"\`, and \`buildId\`.
40
+ - \`stop <buildId>\`: call \`weave\` with \`command="build"\`, \`action="stop"\`, and \`buildId\`.
41
+ - \`list\`: call \`weave\` with \`command="build"\` and \`action="list"\`.
42
+ - \`resume <buildId>\`: call \`weave\` with \`command="build"\`, \`action="resume"\`, and \`buildId\`.
43
+ - \`sync <buildId>\`: call \`weave\` with \`command="build"\`, \`action="sync"\`, and \`buildId\`.
44
+ - Otherwise, treat \`$ARGUMENTS\` as phase IDs or build options for \`action="run"\`.
45
+
46
+ Do not run shell build commands directly unless the \`weave\` tool asks for verification.`;
34
47
  const REMOVED_WEAVE_COMMAND_FILES = [
35
48
  'weave-task.md',
36
49
  'weave-task-auto.md',
37
50
  'wave-task-auto.md',
38
- 'weave-approve.md',
39
51
  ];
40
52
  function getAssetsDir() {
41
53
  try {
@@ -967,7 +979,14 @@ ${buildRichPrompt(state.activeMask)}
967
979
  },
968
980
  // Config hook - allows plugins to modify opencode configuration
969
981
  config: async (config) => {
970
- // Reserved for future configuration injection (model, provider, etc.)
982
+ // opencode discovers slash commands from config.command and command files.
983
+ // installAssets() writes command files for subsequent starts, while this
984
+ // hook makes the direct /build command visible on the current plugin load.
985
+ config.command ||= {};
986
+ config.command.build ||= {
987
+ description: 'Run or manage the Maskweaver autonomous build loop',
988
+ template: BUILD_COMMAND_TEMPLATE,
989
+ };
971
990
  return;
972
991
  },
973
992
  };
package/dist/version.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * 2. Update this constant
10
10
  * 3. That's it — all other files import from here
11
11
  */
12
- export declare const VERSION = "0.9.2";
12
+ export declare const VERSION = "0.9.4";
13
13
  /**
14
14
  * Returns a formatted version string for display.
15
15
  * @example "Maskweaver v0.7.29"
package/dist/version.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * 2. Update this constant
10
10
  * 3. That's it — all other files import from here
11
11
  */
12
- export const VERSION = '0.9.2';
12
+ export const VERSION = '0.9.4';
13
13
  /**
14
14
  * Returns a formatted version string for display.
15
15
  * @example "Maskweaver v0.7.29"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maskweaver",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "AI Expert Persona System - Give your AI coding assistant expert personalities (가면술사)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",