@phuc1403/musketeer 0.4.0 → 0.5.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 (25) hide show
  1. package/README.md +49 -49
  2. package/manifest.json +301 -292
  3. package/package.json +1 -1
  4. package/template/.claude/hooks/lib/characteristics/checker.cjs +357 -0
  5. package/template/.claude/hooks/validate-characteristics-hook.cjs +66 -0
  6. package/template/.claude/skills/architecture-characteristic-writer/SKILL.md +197 -99
  7. package/template/.claude/skills/architecture-characteristic-writer/assets/worksheet-template.md +18 -29
  8. package/template/.claude/skills/architecture-characteristic-writer/references/characteristics-catalog.md +22 -88
  9. package/template/.claude/skills/architecture-characteristic-writer/scripts/ranking-table.cjs +171 -0
  10. package/template/dotnet-scaffold/src/__SolutionName__.Api/obj/Debug/net10.0/__SolutionName__.Api.AssemblyInfo.cs +1 -1
  11. package/template/dotnet-scaffold/src/__SolutionName__.Api/obj/Debug/net10.0/__SolutionName__.Api.AssemblyInfoInputs.cache +1 -1
  12. package/template/dotnet-scaffold/src/__SolutionName__.Application/obj/Debug/net10.0/__SolutionName__.Application.AssemblyInfo.cs +1 -1
  13. package/template/dotnet-scaffold/src/__SolutionName__.Application/obj/Debug/net10.0/__SolutionName__.Application.AssemblyInfoInputs.cache +1 -1
  14. package/template/dotnet-scaffold/src/__SolutionName__.Domain/obj/Debug/net10.0/__SolutionName__.Domain.AssemblyInfo.cs +1 -1
  15. package/template/dotnet-scaffold/src/__SolutionName__.Domain/obj/Debug/net10.0/__SolutionName__.Domain.AssemblyInfoInputs.cache +1 -1
  16. package/template/dotnet-scaffold/src/__SolutionName__.Infrastructure/obj/Debug/net10.0/__SolutionName__.Infrastructure.AssemblyInfo.cs +1 -1
  17. package/template/dotnet-scaffold/src/__SolutionName__.Infrastructure/obj/Debug/net10.0/__SolutionName__.Infrastructure.AssemblyInfoInputs.cache +1 -1
  18. package/template/dotnet-scaffold/tests/__SolutionName__.Api.Tests/obj/Debug/net10.0/__SolutionName__.Api.Tests.AssemblyInfo.cs +1 -1
  19. package/template/dotnet-scaffold/tests/__SolutionName__.Api.Tests/obj/Debug/net10.0/__SolutionName__.Api.Tests.AssemblyInfoInputs.cache +1 -1
  20. package/template/dotnet-scaffold/tests/__SolutionName__.Application.Tests/obj/Debug/net10.0/__SolutionName__.Application.Tests.AssemblyInfo.cs +1 -1
  21. package/template/dotnet-scaffold/tests/__SolutionName__.Application.Tests/obj/Debug/net10.0/__SolutionName__.Application.Tests.AssemblyInfoInputs.cache +1 -1
  22. package/template/dotnet-scaffold/tests/__SolutionName__.Domain.Tests/obj/Debug/net10.0/__SolutionName__.Domain.Tests.AssemblyInfo.cs +1 -1
  23. package/template/dotnet-scaffold/tests/__SolutionName__.Domain.Tests/obj/Debug/net10.0/__SolutionName__.Domain.Tests.AssemblyInfoInputs.cache +1 -1
  24. package/template/dotnet-scaffold/tests/__SolutionName__.Infrastructure.Tests/obj/Debug/net10.0/__SolutionName__.Infrastructure.Tests.AssemblyInfo.cs +1 -1
  25. package/template/dotnet-scaffold/tests/__SolutionName__.Infrastructure.Tests/obj/Debug/net10.0/__SolutionName__.Infrastructure.Tests.AssemblyInfoInputs.cache +1 -1
package/manifest.json CHANGED
@@ -1,292 +1,301 @@
1
- {
2
- "version": 1,
3
- "musketeers": {
4
- "core": {
5
- "label": "core",
6
- "description": "Always-on foundation: research, handoff, skill-creator, git (+ git-manager) + statusline, usage-context & format-json hooks.",
7
- "locked": true,
8
- "deps": [],
9
- "files": [
10
- "skills/research/**",
11
- "skills/handoff/**",
12
- "skills/skill-creator/**",
13
- "skills/git/**",
14
- "skills/install.ps1",
15
- "skills/install.sh",
16
- "agents/researcher.md",
17
- "agents/git-manager.md",
18
- "statusline.cjs",
19
- "hooks/usage-context-awareness.cjs",
20
- "hooks/lib/**",
21
- "hooks/format-json-hook.js"
22
- ],
23
- "settings": [
24
- {
25
- "event": "statusLine",
26
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/statusline.cjs\"",
27
- "padding": 0
28
- },
29
- {
30
- "event": "UserPromptSubmit",
31
- "matcher": null,
32
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
33
- "order": 1
34
- },
35
- {
36
- "event": "PostToolUse",
37
- "matcher": null,
38
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
39
- "order": 1
40
- },
41
- {
42
- "event": "PostToolUse",
43
- "matcher": "Write|Edit|MultiEdit",
44
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/format-json-hook.js\"",
45
- "order": 2
46
- }
47
- ],
48
- "prereqs": ["node", "git", "gh", "python", "venv-anthropic", "claude-cli"]
49
- },
50
- "architecture": {
51
- "label": "architecture",
52
- "description": "DDD architecture authoring: adr-writer, architecture-characteristic-writer, context-map (CML) + validation hook.",
53
- "locked": false,
54
- "deps": [],
55
- "files": [
56
- "skills/adr-writer/**",
57
- "skills/architecture-characteristic-writer/**",
58
- "skills/context-map/**",
59
- "hooks/validate-cml-hook.js",
60
- "hooks/sync-adr-toc.cjs",
61
- "hooks/warn-missing-characteristics.cjs",
62
- "hooks/block-unsafe-adr-title.cjs",
63
- "hooks/init-adr-dir.cjs",
64
- "hooks/inject-adr-env.cjs"
65
- ],
66
- "settings": [
67
- {
68
- "event": "PostToolUse",
69
- "matcher": "Write|Edit|MultiEdit",
70
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-cml-hook.js\"",
71
- "order": 1
72
- },
73
- {
74
- "event": "PostToolUse",
75
- "matcher": "Bash",
76
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/sync-adr-toc.cjs\"",
77
- "order": 2,
78
- "statusMessage": "Syncing ADR index"
79
- },
80
- {
81
- "event": "PreToolUse",
82
- "matcher": "Bash",
83
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-adr-env.cjs\"",
84
- "order": 3,
85
- "statusMessage": "Filling in adr new env vars"
86
- },
87
- {
88
- "event": "PreToolUse",
89
- "matcher": "Bash",
90
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/warn-missing-characteristics.cjs\"",
91
- "order": 4
92
- },
93
- {
94
- "event": "PreToolUse",
95
- "matcher": "Bash",
96
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-unsafe-adr-title.cjs\"",
97
- "order": 5,
98
- "statusMessage": "Checking ADR title safety"
99
- },
100
- {
101
- "event": "PreToolUse",
102
- "matcher": "Bash",
103
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/init-adr-dir.cjs\"",
104
- "order": 6,
105
- "statusMessage": "Checking ADR directory setup"
106
- }
107
- ],
108
- "prereqs": ["java", "cm-cli", "adr-tools"]
109
- },
110
- "hallmark": {
111
- "label": "hallmark",
112
- "description": "Hallmark design system: hallmark rubric, hallmark-explore, hallmark-loop + auditor/explorer agents.",
113
- "locked": false,
114
- "deps": [],
115
- "files": [
116
- "skills/hallmark/**",
117
- "skills/hallmark-explore/**",
118
- "skills/hallmark-loop/**",
119
- "agents/hallmark-auditor.md",
120
- "agents/hallmark-explorer.md"
121
- ],
122
- "settings": [],
123
- "prereqs": ["python", "playwright-mcp"]
124
- },
125
- "code-review": {
126
- "label": "code-review",
127
- "description": "Adversarial code review skill + code-reviewer agent (commit / pending / PR modes).",
128
- "locked": false,
129
- "deps": [],
130
- "files": [
131
- "skills/code-review/**",
132
- "agents/code-reviewer.md"
133
- ],
134
- "settings": [],
135
- "prereqs": ["git", "gh"]
136
- },
137
- "dotnet": {
138
- "label": "dotnet",
139
- "description": ".NET extras: tdd, knowledge-crunching + EF migration-guard & CONTEXT auto-load hooks. Muster also always merges 4 quality-gate MSBuild properties into root Directory.Build.props (any dotnet-selected project, set MUSKETEER_SKIP_DOTNET_PROPS=1 to skip) and scaffolds a generic src/tests Clean Architecture skeleton when the project is genuinely blank.",
140
- "locked": false,
141
- "deps": [],
142
- "files": [
143
- "skills/tdd/**",
144
- "skills/knowledge-crunching/**",
145
- "hooks/block-migration-edits.cjs",
146
- "hooks/inject-context.cjs"
147
- ],
148
- "settings": [
149
- {
150
- "event": "PreToolUse",
151
- "matcher": "Write|Edit|MultiEdit",
152
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-migration-edits.cjs\"",
153
- "order": 1,
154
- "statusMessage": "Checking for EF migration edits"
155
- },
156
- {
157
- "event": "SessionStart",
158
- "matcher": "startup|resume|clear|compact",
159
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-context.cjs\"",
160
- "order": 1,
161
- "statusMessage": "Loading domain CONTEXT"
162
- }
163
- ],
164
- "prereqs": []
165
- },
166
- "design-docs": {
167
- "label": "design-docs",
168
- "description": "SessionStart hook that injects architecture/context-map/adr docs/ outputs into context.",
169
- "locked": false,
170
- "deps": [],
171
- "files": [
172
- "hooks/inject-design-docs.cjs"
173
- ],
174
- "settings": [
175
- {
176
- "event": "SessionStart",
177
- "matcher": "startup|resume|clear|compact",
178
- "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-design-docs.cjs\"",
179
- "order": 1,
180
- "statusMessage": "Injecting design artifacts"
181
- }
182
- ],
183
- "prereqs": []
184
- }
185
- },
186
- "prereqs": {
187
- "node": {
188
- "detect": "node --version",
189
- "minVersion": "18",
190
- "kind": "package",
191
- "install": {
192
- "win": "winget install -e --id OpenJS.NodeJS.LTS",
193
- "mac": "brew install node",
194
- "linux": {
195
- "apt": "sudo apt-get install -y nodejs npm",
196
- "dnf": "sudo dnf install -y nodejs",
197
- "pacman": "sudo pacman -S --noconfirm nodejs npm"
198
- }
199
- }
200
- },
201
- "git": {
202
- "detect": "git --version",
203
- "kind": "package",
204
- "install": {
205
- "win": "winget install -e --id Git.Git",
206
- "mac": "brew install git",
207
- "linux": {
208
- "apt": "sudo apt-get install -y git",
209
- "dnf": "sudo dnf install -y git",
210
- "pacman": "sudo pacman -S --noconfirm git"
211
- }
212
- }
213
- },
214
- "python": {
215
- "detect": "python --version",
216
- "minVersion": "3.8",
217
- "kind": "package",
218
- "install": {
219
- "win": "winget install -e --id Python.Python.3.12",
220
- "mac": "brew install python@3.12",
221
- "linux": {
222
- "apt": "sudo apt-get install -y python3 python3-pip python3-venv",
223
- "dnf": "sudo dnf install -y python3 python3-pip",
224
- "pacman": "sudo pacman -S --noconfirm python python-pip"
225
- }
226
- }
227
- },
228
- "venv-anthropic": {
229
- "kind": "venv",
230
- "needs": ["python"]
231
- },
232
- "claude-cli": {
233
- "detect": "claude --version",
234
- "kind": "package",
235
- "install": {
236
- "win": "powershell -NoProfile -Command \"irm https://claude.ai/install.ps1 | iex\"",
237
- "mac": "brew install --cask claude-code",
238
- "linux": "curl -fsSL https://claude.ai/install.sh | bash"
239
- }
240
- },
241
- "java": {
242
- "detect": "java -version",
243
- "minVersion": "8",
244
- "kind": "package",
245
- "install": {
246
- "win": "winget install -e --id Microsoft.OpenJDK.17",
247
- "mac": "brew install --cask temurin",
248
- "linux": {
249
- "apt": "sudo apt-get install -y openjdk-17-jdk",
250
- "dnf": "sudo dnf install -y java-17-openjdk",
251
- "pacman": "sudo pacman -S --noconfirm jdk-openjdk"
252
- }
253
- }
254
- },
255
- "cm-cli": {
256
- "kind": "note",
257
- "needs": ["java"]
258
- },
259
- "adr-tools": {
260
- "detect": "adr config",
261
- "kind": "package",
262
- "needs": ["git"],
263
- "install": {
264
- "mac": "brew install adr-tools",
265
- "linux": {
266
- "apt": "sudo apt-get install -y adr-tools"
267
- }
268
- }
269
- },
270
- "gh": {
271
- "detect": "gh --version",
272
- "kind": "package",
273
- "install": {
274
- "win": "winget install -e --id GitHub.cli",
275
- "mac": "brew install gh",
276
- "linux": {
277
- "apt": "sudo apt-get install -y gh",
278
- "dnf": "sudo dnf install -y gh",
279
- "pacman": "sudo pacman -S --noconfirm github-cli"
280
- }
281
- }
282
- },
283
- "playwright-mcp": {
284
- "kind": "mcp",
285
- "needs": ["node", "claude-cli"]
286
- },
287
- "anthropic-api-key": {
288
- "kind": "secret",
289
- "guideOnly": true
290
- }
291
- }
292
- }
1
+ {
2
+ "version": 1,
3
+ "musketeers": {
4
+ "core": {
5
+ "label": "core",
6
+ "description": "Always-on foundation: research, handoff, skill-creator, git (+ git-manager) + statusline, usage-context & format-json hooks.",
7
+ "locked": true,
8
+ "deps": [],
9
+ "files": [
10
+ "skills/research/**",
11
+ "skills/handoff/**",
12
+ "skills/skill-creator/**",
13
+ "skills/git/**",
14
+ "skills/install.ps1",
15
+ "skills/install.sh",
16
+ "agents/researcher.md",
17
+ "agents/git-manager.md",
18
+ "statusline.cjs",
19
+ "hooks/usage-context-awareness.cjs",
20
+ "hooks/lib/**",
21
+ "hooks/format-json-hook.js"
22
+ ],
23
+ "settings": [
24
+ {
25
+ "event": "statusLine",
26
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/statusline.cjs\"",
27
+ "padding": 0
28
+ },
29
+ {
30
+ "event": "UserPromptSubmit",
31
+ "matcher": null,
32
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
33
+ "order": 1
34
+ },
35
+ {
36
+ "event": "PostToolUse",
37
+ "matcher": null,
38
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/usage-context-awareness.cjs\"",
39
+ "order": 1
40
+ },
41
+ {
42
+ "event": "PostToolUse",
43
+ "matcher": "Write|Edit|MultiEdit",
44
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/format-json-hook.js\"",
45
+ "order": 2
46
+ }
47
+ ],
48
+ "prereqs": ["node", "git", "gh", "python", "venv-anthropic", "claude-cli"]
49
+ },
50
+ "architecture": {
51
+ "label": "architecture",
52
+ "description": "DDD architecture authoring: adr-writer, architecture-characteristic-writer, context-map (CML) + validation hook.",
53
+ "locked": false,
54
+ "deps": [],
55
+ "files": [
56
+ "skills/adr-writer/**",
57
+ "skills/architecture-characteristic-writer/**",
58
+ "skills/context-map/**",
59
+ "hooks/validate-cml-hook.js",
60
+ "hooks/validate-characteristics-hook.cjs",
61
+ "hooks/lib/characteristics/**",
62
+ "hooks/sync-adr-toc.cjs",
63
+ "hooks/warn-missing-characteristics.cjs",
64
+ "hooks/block-unsafe-adr-title.cjs",
65
+ "hooks/init-adr-dir.cjs",
66
+ "hooks/inject-adr-env.cjs"
67
+ ],
68
+ "settings": [
69
+ {
70
+ "event": "PostToolUse",
71
+ "matcher": "Write|Edit|MultiEdit",
72
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-cml-hook.js\"",
73
+ "order": 1
74
+ },
75
+ {
76
+ "event": "PostToolUse",
77
+ "matcher": "Write|Edit|MultiEdit",
78
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/validate-characteristics-hook.cjs\"",
79
+ "order": 2,
80
+ "statusMessage": "Checking architecture characteristics"
81
+ },
82
+ {
83
+ "event": "PostToolUse",
84
+ "matcher": "Bash",
85
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/sync-adr-toc.cjs\"",
86
+ "order": 2,
87
+ "statusMessage": "Syncing ADR index"
88
+ },
89
+ {
90
+ "event": "PreToolUse",
91
+ "matcher": "Bash",
92
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-adr-env.cjs\"",
93
+ "order": 3,
94
+ "statusMessage": "Filling in adr new env vars"
95
+ },
96
+ {
97
+ "event": "PreToolUse",
98
+ "matcher": "Bash",
99
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/warn-missing-characteristics.cjs\"",
100
+ "order": 4
101
+ },
102
+ {
103
+ "event": "PreToolUse",
104
+ "matcher": "Bash",
105
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-unsafe-adr-title.cjs\"",
106
+ "order": 5,
107
+ "statusMessage": "Checking ADR title safety"
108
+ },
109
+ {
110
+ "event": "PreToolUse",
111
+ "matcher": "Bash",
112
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/init-adr-dir.cjs\"",
113
+ "order": 6,
114
+ "statusMessage": "Checking ADR directory setup"
115
+ }
116
+ ],
117
+ "prereqs": ["java", "cm-cli", "adr-tools"]
118
+ },
119
+ "hallmark": {
120
+ "label": "hallmark",
121
+ "description": "Hallmark design system: hallmark rubric, hallmark-explore, hallmark-loop + auditor/explorer agents.",
122
+ "locked": false,
123
+ "deps": [],
124
+ "files": [
125
+ "skills/hallmark/**",
126
+ "skills/hallmark-explore/**",
127
+ "skills/hallmark-loop/**",
128
+ "agents/hallmark-auditor.md",
129
+ "agents/hallmark-explorer.md"
130
+ ],
131
+ "settings": [],
132
+ "prereqs": ["python", "playwright-mcp"]
133
+ },
134
+ "code-review": {
135
+ "label": "code-review",
136
+ "description": "Adversarial code review skill + code-reviewer agent (commit / pending / PR modes).",
137
+ "locked": false,
138
+ "deps": [],
139
+ "files": [
140
+ "skills/code-review/**",
141
+ "agents/code-reviewer.md"
142
+ ],
143
+ "settings": [],
144
+ "prereqs": ["git", "gh"]
145
+ },
146
+ "dotnet": {
147
+ "label": "dotnet",
148
+ "description": ".NET extras: tdd, knowledge-crunching + EF migration-guard & CONTEXT auto-load hooks. Muster also always merges 4 quality-gate MSBuild properties into root Directory.Build.props (any dotnet-selected project, set MUSKETEER_SKIP_DOTNET_PROPS=1 to skip) and scaffolds a generic src/tests Clean Architecture skeleton when the project is genuinely blank.",
149
+ "locked": false,
150
+ "deps": [],
151
+ "files": [
152
+ "skills/tdd/**",
153
+ "skills/knowledge-crunching/**",
154
+ "hooks/block-migration-edits.cjs",
155
+ "hooks/inject-context.cjs"
156
+ ],
157
+ "settings": [
158
+ {
159
+ "event": "PreToolUse",
160
+ "matcher": "Write|Edit|MultiEdit",
161
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/block-migration-edits.cjs\"",
162
+ "order": 1,
163
+ "statusMessage": "Checking for EF migration edits"
164
+ },
165
+ {
166
+ "event": "SessionStart",
167
+ "matcher": "startup|resume|clear|compact",
168
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-context.cjs\"",
169
+ "order": 1,
170
+ "statusMessage": "Loading domain CONTEXT"
171
+ }
172
+ ],
173
+ "prereqs": []
174
+ },
175
+ "design-docs": {
176
+ "label": "design-docs",
177
+ "description": "SessionStart hook that injects architecture/context-map/adr docs/ outputs into context.",
178
+ "locked": false,
179
+ "deps": [],
180
+ "files": [
181
+ "hooks/inject-design-docs.cjs"
182
+ ],
183
+ "settings": [
184
+ {
185
+ "event": "SessionStart",
186
+ "matcher": "startup|resume|clear|compact",
187
+ "command": "node \"${CLAUDE_PROJECT_DIR}/.claude/hooks/inject-design-docs.cjs\"",
188
+ "order": 1,
189
+ "statusMessage": "Injecting design artifacts"
190
+ }
191
+ ],
192
+ "prereqs": []
193
+ }
194
+ },
195
+ "prereqs": {
196
+ "node": {
197
+ "detect": "node --version",
198
+ "minVersion": "18",
199
+ "kind": "package",
200
+ "install": {
201
+ "win": "winget install -e --id OpenJS.NodeJS.LTS",
202
+ "mac": "brew install node",
203
+ "linux": {
204
+ "apt": "sudo apt-get install -y nodejs npm",
205
+ "dnf": "sudo dnf install -y nodejs",
206
+ "pacman": "sudo pacman -S --noconfirm nodejs npm"
207
+ }
208
+ }
209
+ },
210
+ "git": {
211
+ "detect": "git --version",
212
+ "kind": "package",
213
+ "install": {
214
+ "win": "winget install -e --id Git.Git",
215
+ "mac": "brew install git",
216
+ "linux": {
217
+ "apt": "sudo apt-get install -y git",
218
+ "dnf": "sudo dnf install -y git",
219
+ "pacman": "sudo pacman -S --noconfirm git"
220
+ }
221
+ }
222
+ },
223
+ "python": {
224
+ "detect": "python --version",
225
+ "minVersion": "3.8",
226
+ "kind": "package",
227
+ "install": {
228
+ "win": "winget install -e --id Python.Python.3.12",
229
+ "mac": "brew install python@3.12",
230
+ "linux": {
231
+ "apt": "sudo apt-get install -y python3 python3-pip python3-venv",
232
+ "dnf": "sudo dnf install -y python3 python3-pip",
233
+ "pacman": "sudo pacman -S --noconfirm python python-pip"
234
+ }
235
+ }
236
+ },
237
+ "venv-anthropic": {
238
+ "kind": "venv",
239
+ "needs": ["python"]
240
+ },
241
+ "claude-cli": {
242
+ "detect": "claude --version",
243
+ "kind": "package",
244
+ "install": {
245
+ "win": "powershell -NoProfile -Command \"irm https://claude.ai/install.ps1 | iex\"",
246
+ "mac": "brew install --cask claude-code",
247
+ "linux": "curl -fsSL https://claude.ai/install.sh | bash"
248
+ }
249
+ },
250
+ "java": {
251
+ "detect": "java -version",
252
+ "minVersion": "8",
253
+ "kind": "package",
254
+ "install": {
255
+ "win": "winget install -e --id Microsoft.OpenJDK.17",
256
+ "mac": "brew install --cask temurin",
257
+ "linux": {
258
+ "apt": "sudo apt-get install -y openjdk-17-jdk",
259
+ "dnf": "sudo dnf install -y java-17-openjdk",
260
+ "pacman": "sudo pacman -S --noconfirm jdk-openjdk"
261
+ }
262
+ }
263
+ },
264
+ "cm-cli": {
265
+ "kind": "note",
266
+ "needs": ["java"]
267
+ },
268
+ "adr-tools": {
269
+ "detect": "adr config",
270
+ "kind": "package",
271
+ "needs": ["git"],
272
+ "install": {
273
+ "mac": "brew install adr-tools",
274
+ "linux": {
275
+ "apt": "sudo apt-get install -y adr-tools"
276
+ }
277
+ }
278
+ },
279
+ "gh": {
280
+ "detect": "gh --version",
281
+ "kind": "package",
282
+ "install": {
283
+ "win": "winget install -e --id GitHub.cli",
284
+ "mac": "brew install gh",
285
+ "linux": {
286
+ "apt": "sudo apt-get install -y gh",
287
+ "dnf": "sudo dnf install -y gh",
288
+ "pacman": "sudo pacman -S --noconfirm github-cli"
289
+ }
290
+ }
291
+ },
292
+ "playwright-mcp": {
293
+ "kind": "mcp",
294
+ "needs": ["node", "claude-cli"]
295
+ },
296
+ "anthropic-api-key": {
297
+ "kind": "secret",
298
+ "guideOnly": true
299
+ }
300
+ }
301
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phuc1403/musketeer",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Distributable custom Claude Code harness — one declarative command scaffolds a curated company of musketeers (skills/agents/hooks) into any project's .claude/.",
5
5
  "type": "commonjs",
6
6
  "bin": {