mustard-claude 2.0.13 → 3.0.1

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 (262) hide show
  1. package/README.md +169 -296
  2. package/dist/cli.js +4 -11
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts +5 -2
  5. package/dist/commands/init.js +91 -353
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/update.d.ts +4 -4
  8. package/dist/commands/update.js +65 -224
  9. package/dist/commands/update.js.map +1 -1
  10. package/package.json +1 -3
  11. package/templates/CLAUDE.md +23 -344
  12. package/templates/commands/mustard/approve/SKILL.md +58 -0
  13. package/templates/commands/mustard/bugfix/SKILL.md +56 -0
  14. package/templates/commands/mustard/complete/SKILL.md +66 -0
  15. package/templates/commands/mustard/feature/SKILL.md +132 -0
  16. package/templates/commands/mustard/git/SKILL.md +137 -0
  17. package/templates/commands/mustard/knowledge/SKILL.md +112 -0
  18. package/templates/commands/mustard/maint/SKILL.md +70 -0
  19. package/templates/commands/mustard/resume/SKILL.md +124 -0
  20. package/templates/commands/mustard/scan/SKILL.md +352 -0
  21. package/templates/commands/mustard/scan-format/SKILL.md +261 -0
  22. package/templates/commands/mustard/skill/SKILL.md +151 -0
  23. package/templates/commands/mustard/status/SKILL.md +29 -0
  24. package/templates/commands/mustard/task/SKILL.md +203 -0
  25. package/templates/commands/mustard/templates/agent-prompt/SKILL.md +112 -0
  26. package/templates/hooks/__tests__/hooks.test.js +241 -0
  27. package/templates/hooks/auto-format.js +124 -0
  28. package/templates/hooks/bash-safety.js +60 -0
  29. package/templates/hooks/enforce-registry.js +21 -36
  30. package/templates/hooks/file-guard.js +61 -0
  31. package/templates/hooks/guard-verify.js +147 -0
  32. package/templates/hooks/pre-compact.js +119 -0
  33. package/templates/hooks/session-cleanup.js +159 -0
  34. package/templates/hooks/subagent-tracker.js +219 -0
  35. package/templates/pipeline-config.md +68 -0
  36. package/templates/scripts/statusline.js +346 -63
  37. package/templates/scripts/sync-detect.js +946 -0
  38. package/templates/scripts/sync-registry.js +452 -0
  39. package/templates/settings.json +135 -11
  40. package/templates/skills/commit-workflow/SKILL.md +39 -0
  41. package/templates/skills/design-craft/SKILL.md +197 -0
  42. package/templates/skills/design-craft/references/critique.md +67 -0
  43. package/templates/skills/design-craft/references/example.md +86 -0
  44. package/templates/skills/design-craft/references/palettes-catalog.md +85 -0
  45. package/templates/skills/design-craft/references/principles.md +235 -0
  46. package/templates/skills/design-craft/references/styles-catalog.md +93 -0
  47. package/templates/skills/design-craft/references/typography-catalog.md +70 -0
  48. package/templates/skills/design-craft/references/ux-guidelines.md +79 -0
  49. package/templates/skills/design-craft/references/validation.md +48 -0
  50. package/templates/skills/pipeline-execution/SKILL.md +131 -0
  51. package/templates/skills/react-best-practices/SKILL.md +44 -0
  52. package/templates/skills/react-best-practices/references/rules/_sections.md +46 -0
  53. package/templates/skills/react-best-practices/references/rules/_template.md +28 -0
  54. package/templates/skills/react-best-practices/references/rules/advanced-event-handler-refs.md +38 -0
  55. package/templates/skills/react-best-practices/references/rules/advanced-use-latest.md +49 -0
  56. package/templates/skills/react-best-practices/references/rules/async-api-routes.md +38 -0
  57. package/templates/skills/react-best-practices/references/rules/async-defer-await.md +80 -0
  58. package/templates/skills/react-best-practices/references/rules/async-dependencies.md +36 -0
  59. package/templates/skills/react-best-practices/references/rules/async-parallel.md +28 -0
  60. package/templates/skills/react-best-practices/references/rules/async-suspense-boundaries.md +66 -0
  61. package/templates/skills/react-best-practices/references/rules/bundle-barrel-imports.md +59 -0
  62. package/templates/skills/react-best-practices/references/rules/bundle-conditional.md +31 -0
  63. package/templates/skills/react-best-practices/references/rules/bundle-defer-third-party.md +49 -0
  64. package/templates/skills/react-best-practices/references/rules/bundle-dynamic-imports.md +35 -0
  65. package/templates/skills/react-best-practices/references/rules/bundle-preload.md +50 -0
  66. package/templates/skills/react-best-practices/references/rules/client-event-listeners.md +74 -0
  67. package/templates/skills/react-best-practices/references/rules/client-swr-dedup.md +56 -0
  68. package/templates/skills/react-best-practices/references/rules/js-batch-dom-css.md +82 -0
  69. package/templates/skills/react-best-practices/references/rules/js-cache-function-results.md +80 -0
  70. package/templates/skills/react-best-practices/references/rules/js-cache-property-access.md +28 -0
  71. package/templates/skills/react-best-practices/references/rules/js-cache-storage.md +68 -0
  72. package/templates/skills/react-best-practices/references/rules/js-combine-iterations.md +32 -0
  73. package/templates/skills/react-best-practices/references/rules/js-early-exit.md +50 -0
  74. package/templates/skills/react-best-practices/references/rules/js-hoist-regexp.md +43 -0
  75. package/templates/skills/react-best-practices/references/rules/js-index-maps.md +37 -0
  76. package/templates/skills/react-best-practices/references/rules/js-length-check-first.md +49 -0
  77. package/templates/skills/react-best-practices/references/rules/js-min-max-loop.md +82 -0
  78. package/templates/skills/react-best-practices/references/rules/js-set-map-lookups.md +24 -0
  79. package/templates/skills/react-best-practices/references/rules/js-tosorted-immutable.md +57 -0
  80. package/templates/skills/react-best-practices/references/rules/rendering-activity.md +26 -0
  81. package/templates/skills/react-best-practices/references/rules/rendering-animate-svg-wrapper.md +47 -0
  82. package/templates/skills/react-best-practices/references/rules/rendering-conditional-render.md +40 -0
  83. package/templates/skills/react-best-practices/references/rules/rendering-content-visibility.md +38 -0
  84. package/templates/skills/react-best-practices/references/rules/rendering-hoist-jsx.md +44 -0
  85. package/templates/skills/react-best-practices/references/rules/rendering-hydration-no-flicker.md +82 -0
  86. package/templates/skills/react-best-practices/references/rules/rendering-svg-precision.md +28 -0
  87. package/templates/skills/react-best-practices/references/rules/rerender-defer-reads.md +39 -0
  88. package/templates/skills/react-best-practices/references/rules/rerender-dependencies.md +45 -0
  89. package/templates/skills/react-best-practices/references/rules/rerender-derived-state.md +29 -0
  90. package/templates/skills/react-best-practices/references/rules/rerender-lazy-state-init.md +58 -0
  91. package/templates/skills/react-best-practices/references/rules/rerender-memo.md +42 -0
  92. package/templates/skills/react-best-practices/references/rules/rerender-transitions.md +40 -0
  93. package/templates/skills/react-best-practices/references/rules/server-cache-lru.md +37 -0
  94. package/templates/skills/react-best-practices/references/rules/server-cache-react.md +26 -0
  95. package/templates/skills/react-best-practices/references/rules/server-parallel-fetching.md +79 -0
  96. package/templates/skills/react-best-practices/references/rules/server-serialization.md +38 -0
  97. package/templates/skills/senior-architect/SKILL.md +209 -0
  98. package/templates/skills/senior-architect/references/architecture_patterns.md +103 -0
  99. package/templates/skills/senior-architect/references/system_design_workflows.md +103 -0
  100. package/templates/skills/senior-architect/references/tech_decision_guide.md +103 -0
  101. package/templates/skills/senior-architect/scripts/architecture_diagram_generator.py +114 -0
  102. package/templates/skills/senior-architect/scripts/dependency_analyzer.py +114 -0
  103. package/templates/skills/senior-architect/scripts/project_architect.py +114 -0
  104. package/templates/skills/skill-creator/LICENSE.txt +202 -0
  105. package/templates/skills/skill-creator/SKILL.md +485 -0
  106. package/templates/skills/skill-creator/agents/analyzer.md +274 -0
  107. package/templates/skills/skill-creator/agents/comparator.md +202 -0
  108. package/templates/skills/skill-creator/agents/grader.md +223 -0
  109. package/templates/skills/skill-creator/assets/eval_review.html +146 -0
  110. package/templates/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  111. package/templates/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  112. package/templates/skills/skill-creator/references/schemas.md +430 -0
  113. package/templates/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  114. package/templates/skills/skill-creator/scripts/generate_report.py +326 -0
  115. package/templates/skills/skill-creator/scripts/improve_description.py +247 -0
  116. package/templates/skills/skill-creator/scripts/package_skill.py +136 -0
  117. package/templates/skills/skill-creator/scripts/quick_validate.py +103 -0
  118. package/templates/skills/skill-creator/scripts/run_eval.py +310 -0
  119. package/templates/skills/skill-creator/scripts/run_loop.py +328 -0
  120. package/templates/skills/skill-creator/scripts/utils.py +47 -0
  121. package/dist/analyzers/llm.d.ts +0 -9
  122. package/dist/analyzers/llm.js +0 -116
  123. package/dist/analyzers/llm.js.map +0 -1
  124. package/dist/analyzers/semantic.d.ts +0 -13
  125. package/dist/analyzers/semantic.js +0 -215
  126. package/dist/analyzers/semantic.js.map +0 -1
  127. package/dist/commands/sync.d.ts +0 -5
  128. package/dist/commands/sync.js +0 -354
  129. package/dist/commands/sync.js.map +0 -1
  130. package/dist/generators/claude-md-llm.d.ts +0 -5
  131. package/dist/generators/claude-md-llm.js +0 -101
  132. package/dist/generators/claude-md-llm.js.map +0 -1
  133. package/dist/generators/claude-md-template.d.ts +0 -5
  134. package/dist/generators/claude-md-template.js +0 -257
  135. package/dist/generators/claude-md-template.js.map +0 -1
  136. package/dist/generators/commands.d.ts +0 -12
  137. package/dist/generators/commands.js +0 -840
  138. package/dist/generators/commands.js.map +0 -1
  139. package/dist/generators/context.d.ts +0 -16
  140. package/dist/generators/context.js +0 -15
  141. package/dist/generators/context.js.map +0 -1
  142. package/dist/generators/hooks.d.ts +0 -5
  143. package/dist/generators/hooks.js +0 -393
  144. package/dist/generators/hooks.js.map +0 -1
  145. package/dist/generators/index.d.ts +0 -11
  146. package/dist/generators/index.js +0 -673
  147. package/dist/generators/index.js.map +0 -1
  148. package/dist/generators/prompts.d.ts +0 -13
  149. package/dist/generators/prompts.js +0 -276
  150. package/dist/generators/prompts.js.map +0 -1
  151. package/dist/generators/registry.d.ts +0 -8
  152. package/dist/generators/registry.js +0 -50
  153. package/dist/generators/registry.js.map +0 -1
  154. package/dist/scanners/dependencies.d.ts +0 -7
  155. package/dist/scanners/dependencies.js +0 -195
  156. package/dist/scanners/dependencies.js.map +0 -1
  157. package/dist/scanners/index.d.ts +0 -6
  158. package/dist/scanners/index.js +0 -37
  159. package/dist/scanners/index.js.map +0 -1
  160. package/dist/scanners/samples.d.ts +0 -8
  161. package/dist/scanners/samples.js +0 -193
  162. package/dist/scanners/samples.js.map +0 -1
  163. package/dist/scanners/stack.d.ts +0 -5
  164. package/dist/scanners/stack.js +0 -294
  165. package/dist/scanners/stack.js.map +0 -1
  166. package/dist/scanners/structure.d.ts +0 -5
  167. package/dist/scanners/structure.js +0 -274
  168. package/dist/scanners/structure.js.map +0 -1
  169. package/dist/services/grepai.d.ts +0 -25
  170. package/dist/services/grepai.js +0 -89
  171. package/dist/services/grepai.js.map +0 -1
  172. package/dist/services/ollama.d.ts +0 -22
  173. package/dist/services/ollama.js +0 -86
  174. package/dist/services/ollama.js.map +0 -1
  175. package/dist/services/package-manager.d.ts +0 -95
  176. package/dist/services/package-manager.js +0 -164
  177. package/dist/services/package-manager.js.map +0 -1
  178. package/dist/types.d.ts +0 -239
  179. package/dist/types.js +0 -5
  180. package/dist/types.js.map +0 -1
  181. package/templates/_backup_20260206/CLAUDE.md +0 -633
  182. package/templates/_backup_20260206/enforcement.md +0 -320
  183. package/templates/_backup_20260206/mustard/approve.md +0 -245
  184. package/templates/_backup_20260206/mustard/bugfix-team.md +0 -325
  185. package/templates/_backup_20260206/mustard/bugfix.md +0 -225
  186. package/templates/_backup_20260206/mustard/checkpoint.md +0 -287
  187. package/templates/_backup_20260206/mustard/commit-push.md +0 -64
  188. package/templates/_backup_20260206/mustard/commit.md +0 -102
  189. package/templates/_backup_20260206/mustard/compile-context.md +0 -160
  190. package/templates/_backup_20260206/mustard/complete.md +0 -374
  191. package/templates/_backup_20260206/mustard/feature-team.md +0 -285
  192. package/templates/_backup_20260206/mustard/feature.md +0 -258
  193. package/templates/_backup_20260206/mustard/install-deps.md +0 -144
  194. package/templates/_backup_20260206/mustard/merge-main.md +0 -91
  195. package/templates/_backup_20260206/mustard/report-daily.md +0 -70
  196. package/templates/_backup_20260206/mustard/report-weekly.md +0 -95
  197. package/templates/_backup_20260206/mustard/resume.md +0 -316
  198. package/templates/_backup_20260206/mustard/scan.md +0 -144
  199. package/templates/_backup_20260206/mustard/status.md +0 -81
  200. package/templates/_backup_20260206/mustard/sync-context.md +0 -317
  201. package/templates/_backup_20260206/mustard/sync-registry.md +0 -112
  202. package/templates/_backup_20260206/mustard/task-analyze.md +0 -138
  203. package/templates/_backup_20260206/mustard/task-docs.md +0 -194
  204. package/templates/_backup_20260206/mustard/task-refactor.md +0 -233
  205. package/templates/_backup_20260206/mustard/task-review.md +0 -163
  206. package/templates/_backup_20260206/mustard/validate.md +0 -160
  207. package/templates/_backup_20260206/pipeline.md +0 -482
  208. package/templates/commands/README.md +0 -55
  209. package/templates/commands/mustard/approve.md +0 -150
  210. package/templates/commands/mustard/bugfix-team.md +0 -325
  211. package/templates/commands/mustard/bugfix.md +0 -225
  212. package/templates/commands/mustard/checkpoint.md +0 -207
  213. package/templates/commands/mustard/commit-push.md +0 -64
  214. package/templates/commands/mustard/commit.md +0 -102
  215. package/templates/commands/mustard/compile-context.md +0 -234
  216. package/templates/commands/mustard/complete.md +0 -374
  217. package/templates/commands/mustard/feature-team.md +0 -285
  218. package/templates/commands/mustard/feature.md +0 -190
  219. package/templates/commands/mustard/install-deps.md +0 -144
  220. package/templates/commands/mustard/merge-main.md +0 -91
  221. package/templates/commands/mustard/report-daily.md +0 -70
  222. package/templates/commands/mustard/report-weekly.md +0 -95
  223. package/templates/commands/mustard/resume.md +0 -316
  224. package/templates/commands/mustard/scan.md +0 -144
  225. package/templates/commands/mustard/status.md +0 -81
  226. package/templates/commands/mustard/sync-context.md +0 -317
  227. package/templates/commands/mustard/sync-registry.md +0 -112
  228. package/templates/commands/mustard/task-analyze.md +0 -138
  229. package/templates/commands/mustard/task-docs.md +0 -194
  230. package/templates/commands/mustard/task-refactor.md +0 -233
  231. package/templates/commands/mustard/task-review.md +0 -163
  232. package/templates/commands/mustard/validate.md +0 -160
  233. package/templates/context/README.md +0 -97
  234. package/templates/context/backend/patterns.md +0 -136
  235. package/templates/context/bugfix/.gitkeep +0 -0
  236. package/templates/context/database/patterns.md +0 -117
  237. package/templates/context/frontend/patterns.md +0 -79
  238. package/templates/context/orchestrator/.gitkeep +0 -0
  239. package/templates/context/review/.gitkeep +0 -0
  240. package/templates/context/shared/conventions.md +0 -52
  241. package/templates/context/team-lead/README.md +0 -39
  242. package/templates/context/team-lead/coordination.md +0 -103
  243. package/templates/context/team-lead/task-list.md +0 -126
  244. package/templates/core/enforcement.md +0 -290
  245. package/templates/core/entity-registry-spec.md +0 -193
  246. package/templates/core/pipeline.md +0 -482
  247. package/templates/hooks/enforce-context.js +0 -202
  248. package/templates/hooks/enforce-grepai.js +0 -30
  249. package/templates/hooks/enforce-pipeline.js +0 -89
  250. package/templates/hooks/l0-enforcement.md +0 -133
  251. package/templates/prompts/_index.md +0 -148
  252. package/templates/prompts/backend.md +0 -141
  253. package/templates/prompts/bugfix.md +0 -163
  254. package/templates/prompts/database.md +0 -148
  255. package/templates/prompts/frontend.md +0 -151
  256. package/templates/prompts/naming.md +0 -225
  257. package/templates/prompts/orchestrator.md +0 -248
  258. package/templates/prompts/report.md +0 -165
  259. package/templates/prompts/review.md +0 -208
  260. package/templates/prompts/team-lead.md +0 -240
  261. package/templates/skills/design-principles.md +0 -237
  262. /package/templates/{context/.gitkeep → skills/skill-creator/scripts/__init__.py} +0 -0
package/README.md CHANGED
@@ -9,391 +9,264 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <img src="https://img.shields.io/badge/version-2.6.0-yellow?style=for-the-badge" alt="Version">
12
+ <img src="https://img.shields.io/badge/version-3.0.0-yellow?style=for-the-badge" alt="Version">
13
13
  <img src="https://img.shields.io/badge/node-%3E%3D18-green?style=for-the-badge&logo=node.js" alt="Node">
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="License">
15
15
  </p>
16
16
 
17
17
  <p align="center">
18
18
  <img src="https://img.shields.io/badge/Claude_Code-Ready-blueviolet?style=flat-square&logo=anthropic" alt="Claude Code">
19
- <img src="https://img.shields.io/badge/.NET-supported-512BD4?style=flat-square&logo=dotnet" alt=".NET">
20
- <img src="https://img.shields.io/badge/React-supported-61DAFB?style=flat-square&logo=react" alt="React">
21
- <img src="https://img.shields.io/badge/Python-supported-3776AB?style=flat-square&logo=python" alt="Python">
19
+ <img src="https://img.shields.io/badge/Monorepo-supported-green?style=flat-square" alt="Monorepo">
20
+ <img src="https://img.shields.io/badge/Single_Repo-supported-green?style=flat-square" alt="Single Repo">
22
21
  </p>
23
22
 
24
23
  ---
25
24
 
26
25
  ## What is Mustard?
27
26
 
28
- Mustard generates a `.claude/` folder with prompts, commands, and rules for Claude Code:
27
+ Mustard sets up a `.claude/` folder that turns Claude Code into a structured development pipeline:
29
28
 
30
- - **8 agnostic prompts** for `Task(general-purpose)` delegation
31
- - **Context per agent** - each agent loads its specific context folder
32
- - **Auto-compiled context** - agents verify git and compile context on-demand
33
- - **Pipeline commands** for features and bugfixes
34
- - **Enforcement hooks** (grepai, pipeline confirmation)
35
- - **Stack detection** and auto-generated CLAUDE.md
29
+ - **14 pipeline skills** feature, bugfix, scan, resume, approve, complete, git, maint, task, knowledge, skill, status, scan-format, agent-prompt template
30
+ - **8 enforcement hooks** bash safety, file guard, registry validation, guard verification, auto-format, pre-compact, session cleanup, subagent tracking
31
+ - **6 bundled skills** — design-craft, react-best-practices, senior-architect, skill-creator, commit-workflow, pipeline-execution
32
+ - **3 sync scripts** subproject detection, entity registry sync, statusline
33
+ - **Monorepo + single repo** works with any project structure
36
34
 
37
- ## What's New in v2.6.1
35
+ ## How It Works
38
36
 
39
- - **Subproject Commands Collection** (monorepo support):
40
- - Automatically collects commands from `{subproject}/.claude/commands/`
41
- - Maps subproject type by name (Backend backend, FrontEnd frontend)
42
- - Compiles into `context/{type}/{subproject}-commands.md`
43
- - Works with `mustard init`, `mustard update`, and `/compile-context`
37
+ 1. `mustard init` copies the `.claude/` structure into your project
38
+ 2. Inside Claude Code, run `/scan` to analyze your codebase
39
+ 3. `/scan` generates guards, recipes, patterns, agents, and skills specific to your project
40
+ 4. Use `/feature`, `/bugfix`, `/task` to work through structured pipelines
44
41
 
45
- ### Previous (v2.6)
42
+ The CLI is a **one-time setup tool**. All intelligence lives in the skills and hooks inside `.claude/`.
46
43
 
47
- - **Context Reset + Memory Persistence**: Optimize context window usage
48
- - `/checkpoint` saves phase insights to memory MCP
49
- - `/approve` auto-saves exploration checkpoint, suggests reset
50
- - `/resume` loads from checkpoint with compact summary
51
- - `/complete` extracts and saves permanent learnings
52
- - **Learnings accumulate**: Past gotchas available for future features
53
-
54
- ### Previous (v2.5)
44
+ ## Installation
55
45
 
56
- - **Agent Teams support** (experimental): True parallel execution for complex features
57
- - **Mandatory Pipeline Invocation**: Skills compile contexts before starting
58
- - **Simplified agent prompts**: Context loading moved to skill commands
46
+ ### Prerequisites
59
47
 
60
- ## Installation
48
+ - **Node.js** >= 18.0.0
61
49
 
62
- ### Global Installation
50
+ ### Install
63
51
 
64
52
  ```bash
65
- # Using npm
53
+ # Global
66
54
  npm install -g mustard-claude
67
55
 
68
- # Using pnpm
69
- pnpm add -g mustard-claude
70
- ```
71
-
72
- ### Run Without Installing
73
-
74
- ```bash
75
- # Using npx
56
+ # Or run without installing
76
57
  npx mustard-claude init
77
-
78
- # Using pnpx
79
- pnpx mustard-claude init
80
58
  ```
81
59
 
82
- ## Quick Start
60
+ ### Initialize a Project
83
61
 
84
62
  ```bash
85
63
  cd my-project
86
64
  mustard init
87
65
  ```
88
66
 
89
- The CLI will:
90
-
91
- 1. Detect stacks (React, .NET, Python, etc.)
92
- 2. Analyze code with Ollama (optional)
93
- 3. Generate `.claude/` structure with context folders
94
-
95
- ## Context per Agent
67
+ That's it. Open Claude Code and run `/scan`.
96
68
 
97
- Prompts are **agnostic** - they don't contain project-specific code. Instead, each agent loads context from dedicated folders:
69
+ ## CLI Commands
98
70
 
99
- ```text
100
- .claude/context/
101
- ├── shared/ # All agents load this
102
- ├── backend/ # Only Backend Specialist loads
103
- ├── frontend/ # Only Frontend Specialist loads
104
- ├── database/ # Only Database Specialist loads
105
- ├── bugfix/ # Only Bugfix Specialist loads
106
- ├── review/ # Only Review Specialist loads
107
- └── orchestrator/ # Only Orchestrator loads
108
71
  ```
109
-
110
- **How it works (v2.6.1):**
111
-
112
- 1. User invokes `/feature` or `/bugfix` skill
113
- 2. **Subproject commands are collected** (if monorepo)
114
- 3. Skill compiles contexts for all agents (git-based caching)
115
- 4. Agent is called with compiled context ready
116
- 5. Compiled context saved to `prompts/{agent}.context.md`
117
-
118
- ### Subproject Commands (Monorepo)
119
-
120
- For monorepos with subprojects that have their own `.claude/commands/`:
121
-
122
- ```text
123
- MyProject/
124
- ├── .claude/ # Root (generated by mustard)
125
- │ └── context/
126
- │ ├── backend/
127
- │ │ └── myproject-api-commands.md ← Auto-collected
128
- │ └── frontend/
129
- │ └── myproject-web-commands.md ← Auto-collected
130
-
131
- ├── MyProject.API/
132
- │ └── .claude/commands/ # Subproject commands
133
- │ └── deploy.md
134
-
135
- └── MyProject.Web/
136
- └── .claude/commands/
137
- └── preview.md
72
+ mustard init [options] Copy .claude/ structure into current project
73
+ mustard update [options] Update Mustard core files (preserves user customizations)
74
+ mustard auto-update Check npm for newer version and install
138
75
  ```
139
76
 
140
- Subproject type is detected by name keywords:
141
-
142
- - **backend**: `backend`, `api`, `server`, `service`
143
- - **frontend**: `frontend`, `web`, `app`, `client`, `ui`
144
- - **database**: `database`, `db`, `data`, `migrations`, `prisma`, `drizzle`
145
- - **shared**: `shared`, `common`, `lib`, `utils` (fallback)
146
-
147
- **Benefits:**
148
-
149
- - Prompts work for any stack
150
- - Easy to customize per project
151
- - Clear separation: agent logic vs. project patterns
152
- - Automatic recompilation when context changes
153
-
154
- ## Commands
155
-
156
77
  ### `mustard init`
157
78
 
158
- ```bash
159
- mustard init [options]
160
-
161
- Options:
162
- -f, --force Overwrite existing .claude/
163
- -y, --yes Skip confirmations
164
- --no-ollama Skip LLM analysis
165
- --no-grepai Skip semantic analysis
166
- -v, --verbose Detailed output
167
- ```
79
+ | Option | Description |
80
+ |--------|-------------|
81
+ | `-f, --force` | Overwrite existing `.claude/` without backup |
82
+ | `-y, --yes` | Skip confirmation prompts (merge mode: skip existing files) |
168
83
 
169
- ### `mustard update`
84
+ **Behavior:**
85
+ - If `.claude/` doesn't exist → copies all templates
86
+ - If `.claude/` exists → asks: backup & overwrite, merge (skip existing), or cancel
87
+ - Merge mode preserves all existing files and only adds new ones
170
88
 
171
- Updates core files while preserving customizations.
89
+ ### `mustard update`
172
90
 
173
- ```bash
174
- mustard update [options]
91
+ | Option | Description |
92
+ |--------|-------------|
93
+ | `-f, --force` | Skip backup and confirmation |
175
94
 
176
- Options:
177
- -f, --force Skip backup
178
- --include-claude-md Also update CLAUDE.md
179
- ```
95
+ **Recreates** (from latest templates):
96
+ - `commands/mustard/` — pipeline skills
97
+ - `hooks/` — enforcement hooks
98
+ - `skills/` — bundled skills
99
+ - `scripts/` — sync scripts
100
+ - `settings.json` — hook configuration
180
101
 
181
- | Updated | Preserved |
182
- |---------|-----------|
183
- | `commands/mustard/*.md` | `CLAUDE.md` |
184
- | `hooks/*.js` | `prompts/*.md` |
185
- | `core/*.md` | `context/**/*.md` (user files) |
186
- | `scripts/*.js` | `docs/*` |
102
+ **Preserves** (user customizations):
103
+ - `CLAUDE.md` — orchestrator rules (populated by `/scan`)
104
+ - `pipeline-config.md` agent dispatch config (populated by `/scan`)
105
+ - `entity-registry.json` entity map (populated by sync-registry)
106
+ - `commands/*.md` user commands outside `mustard/`
107
+ - `docs/`, `agent-memory/`, `spec/`, `plans/`
187
108
 
188
- ## Structure
109
+ ## What Gets Installed
189
110
 
190
- ```text
111
+ ```
191
112
  .claude/
192
- ├── CLAUDE.md # Project instructions
193
- ├── prompts/ # 8 agnostic agent prompts
194
- ├── orchestrator.md
195
- ├── orchestrator.context.md # Auto-compiled context
196
- ├── backend.md
197
- │ ├── backend.context.md # Auto-compiled context
198
- │ ├── frontend.md
199
- │ ├── database.md
200
- │ ├── bugfix.md
201
- │ ├── review.md
202
- │ ├── report.md
203
- └── naming.md
204
- ├── context/ # Context source files (editable)
205
- │ ├── shared/ # Common (all agents)
206
- │ └── conventions.md
207
- │ ├── backend/ # Backend-specific
208
- │ └── patterns.md
209
- │ ├── frontend/ # Frontend-specific
210
- └── patterns.md
211
- │ └── database/ # Database-specific
212
- └── patterns.md
213
- ├── commands/mustard/ # Pipeline commands
214
- ├── core/ # Enforcement, pipeline rules
215
- ├── hooks/ # JavaScript hooks
216
- └── entity-registry.json # Entity mappings
113
+ ├── CLAUDE.md # Orchestrator rules (template)
114
+ ├── pipeline-config.md # Agent dispatch config (template)
115
+ ├── settings.json # Hooks + permissions + statusline
116
+ ├── entity-registry.json # Empty skeleton (populated by /scan)
117
+ ├── commands/mustard/ # Pipeline skills
118
+ │ ├── feature/SKILL.md # /feature feature pipeline
119
+ │ ├── bugfix/SKILL.md # /bugfix — bug fix pipeline
120
+ │ ├── approve/SKILL.md # /approve — approve spec
121
+ │ ├── complete/SKILL.md # /complete — finalize pipeline
122
+ │ ├── resume/SKILL.md # /resume — resume pipeline
123
+ │ ├── scan/SKILL.md # /scan — analyze codebase
124
+ ├── scan-format/SKILL.md # /scan agent format rules
125
+ ├── git/SKILL.md # /git commit, push, merge, deploy
126
+ │ ├── maint/SKILL.md # /maint deps, validate, sync
127
+ ├── task/SKILL.md # /task — delegated analysis/review
128
+ │ ├── knowledge/SKILL.md # /knowledge — notes, audit, reports
129
+ ├── skill/SKILL.md # /skill — manage skills
130
+ │ ├── status/SKILL.md # /status — project status
131
+ │ └── templates/agent-prompt/SKILL.md # Agent prompt template
132
+ ├── hooks/ # Enforcement hooks
133
+ ├── bash-safety.js # Blocks dangerous commands
134
+ ├── file-guard.js # Blocks sensitive file access
135
+ ├── enforce-registry.js # Blocks pipeline if no registry
136
+ ├── guard-verify.js # Validates architectural rules
137
+ │ ├── auto-format.js # Auto-formats on write
138
+ │ ├── pre-compact.js # Saves state before compaction
139
+ │ ├── session-cleanup.js # Cleans up on session end
140
+ │ ├── subagent-tracker.js # Tracks agent lifecycle
141
+ │ └── __tests__/hooks.test.js # Hook tests
142
+ ├── scripts/
143
+ │ ├── sync-detect.js # Detects subprojects + roles
144
+ │ ├── sync-registry.js # Generates entity-registry.json
145
+ │ └── statusline.js # Claude Code statusline
146
+ └── skills/ # Bundled skills
147
+ ├── design-craft/ # UI design methodology
148
+ ├── react-best-practices/ # React/Next.js optimization (40+ rules)
149
+ ├── senior-architect/ # System architecture patterns
150
+ ├── skill-creator/ # Create and optimize skills
151
+ ├── commit-workflow/ # Git commit strategy
152
+ └── pipeline-execution/ # Pipeline orchestration
217
153
  ```
218
154
 
219
- ## Prompts
220
-
221
- Claude Code only accepts 4 `subagent_type` values: `Explore`, `Plan`, `general-purpose`, `Bash`.
155
+ ## Pipeline Commands (inside Claude Code)
222
156
 
223
- Mustard "agents" are prompts loaded into `Task(general-purpose)`:
157
+ ### Core Pipeline
224
158
 
225
- | Prompt | Model | Context Folders |
226
- |--------|-------|-----------------|
227
- | team-lead | opus | shared + team-lead (Agent Teams) |
228
- | orchestrator | opus | shared + orchestrator |
229
- | backend | opus | shared + backend |
230
- | frontend | opus | shared + frontend |
231
- | database | opus | shared + database |
232
- | bugfix | opus | shared + bugfix |
233
- | review | opus | shared + review |
234
- | report | sonnet | (uses git log) |
235
- | naming | - | Naming conventions reference |
159
+ | Command | Description |
160
+ |---------|-------------|
161
+ | `/scan` | Analyze codebase generates guards, recipes, agents, skills |
162
+ | `/feature <name>` | Start feature pipeline (ANALYZE PLAN → EXECUTE → CLOSE) |
163
+ | `/bugfix <error>` | Autonomous bug fix (diagnose fix → validate) |
164
+ | `/approve` | Approve spec for implementation |
165
+ | `/resume` | Resume interrupted pipeline |
166
+ | `/complete` | Finalize or cancel pipeline |
236
167
 
237
- ## Pipeline Commands (Task Mode)
168
+ ### Operations
238
169
 
239
170
  | Command | Description |
240
171
  |---------|-------------|
241
- | `/feature` | Start feature pipeline |
242
- | `/bugfix` | Start bugfix pipeline |
243
- | `/approve` | Approve spec (auto-checkpoint + suggest reset) |
244
- | `/complete` | Finalize (save learnings) |
245
- | `/resume` | Resume pipeline (loads checkpoint + learnings) |
246
- | `/checkpoint` | Save phase insights to memory |
172
+ | `/git <action>` | commit, push, merge, deploy (handles monorepo) |
173
+ | `/maint <action>` | deps, validate, sync |
174
+ | `/status` | Git + pipeline + build + registry status |
247
175
 
248
- ### Agent Teams Mode (Experimental)
176
+ ### Analysis & Delegation
249
177
 
250
178
  | Command | Description |
251
179
  |---------|-------------|
252
- | `/feature-team` | Feature pipeline with parallel teammates |
253
- | `/bugfix-team` | Bugfix pipeline with competing hypotheses |
180
+ | `/task analyze <scope>` | Code exploration (Explore agent) |
181
+ | `/task audit <domain> <scope>` | Quality audit (copy, design, a11y, i18n, api-contract) |
182
+ | `/task compare <criteria>` | Cross-subproject comparison |
183
+ | `/task review <scope>` | Code review (SOLID, security, perf) |
184
+ | `/task refactor <scope>` | Plan + approve + implement refactoring |
185
+ | `/task docs <scope>` | Documentation generation |
254
186
 
255
- Agent Teams require `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in `.claude/settings.json`.
256
-
257
- ### Task Commands (L0 Universal Delegation)
187
+ ### Knowledge
258
188
 
259
189
  | Command | Description |
260
190
  |---------|-------------|
261
- | `/task-analyze` | Code analysis via Task(Explore) |
262
- | `/task-review` | Code review via Task(general-purpose) |
263
- | `/task-refactor` | Refactoring via Task(Plan) -> Task(general-purpose) |
264
- | `/task-docs` | Documentation via Task(general-purpose) |
191
+ | `/knowledge notes [target]` | Manage project observations |
192
+ | `/knowledge audit` | Audit memory for duplicates |
193
+ | `/knowledge report daily/weekly` | Progress reports from git data |
265
194
 
266
- ### Other Commands
195
+ ### Skills
267
196
 
268
197
  | Command | Description |
269
198
  |---------|-------------|
270
- | `/validate` | Build + type-check |
271
- | `/status` | Project status |
272
- | `/commit` | Simple commit |
273
- | `/commit-push` | Commit and push |
274
- | `/sync-registry` | Update entity registry |
275
-
276
- ## Enforcement Hooks
277
-
278
- | Hook | Trigger | Action |
279
- | ---- | ------- | ------ |
280
- | `enforce-registry.js` | Skill (feature/bugfix) | Blocks if entity-registry.json missing or outdated |
281
- | `enforce-context.js` | Skill (feature/bugfix) | Blocks if compiled contexts are missing or outdated |
282
- | `enforce-grepai.js` | Grep, Glob | Suggests grepai for semantic search |
283
- | `enforce-pipeline.js` | Edit, Write | **Hybrid mode**: Blocks source code, allows configs |
284
-
285
- ### Pre-Pipeline Validation
286
-
287
- When `/feature` or `/bugfix` is invoked, two hooks run automatically:
288
-
289
- 1. **Entity Registry Validation** (`enforce-registry.js`)
290
- - Checks `.claude/entity-registry.json` exists
291
- - Validates version >= 3.x
292
- - Ensures entities and patterns are defined
293
- - If invalid: blocks with "Run /sync-registry first"
294
-
295
- 2. **Context Compilation Validation** (`enforce-context.js`)
296
- - Checks all required agent contexts are compiled
297
- - Validates contexts match current git commit
298
- - If outdated: blocks with "Run /sync-context first"
299
-
300
- ### Auto Registry Update
301
-
302
- The `/complete` command automatically detects if entity files were modified during the pipeline and updates the registry:
303
-
304
- ```text
305
- /complete
306
- ├── Validates build
307
- ├── Detects entity file changes (models/, schemas/, etc.)
308
- │ └── If changed: runs /sync-registry automatically
309
- ├── Extracts learnings from checkpoints
310
- ├── Saves Learning entity (permanent)
311
- ├── Records completion
312
- └── Cleans pipeline + checkpoints
313
- ```
199
+ | `/skill list` | List installed skills |
200
+ | `/skill install <source>` | Install from local path or GitHub |
201
+ | `/skill create <name>` | Create new skill via skill-creator |
202
+ | `/skill optimize <name>` | Optimize skill triggering |
314
203
 
315
- ## Context Reset (v2.6)
316
-
317
- Optimizes context window by saving insights to memory and clearing conversation at phase boundaries:
318
-
319
- ```text
320
- /feature → EXPLORE → SPEC → /approve
321
-
322
- ┌─────────┴─────────┐
323
- │ AUTO: checkpoint │
324
- │ SUGGEST: reset │
325
- └─────────┬─────────┘
326
-
327
- User: "reset"
328
-
329
- [Context cleared]
330
-
331
- /resume (loads checkpoint)
332
-
333
- IMPLEMENT (clean context)
334
-
335
- /complete (saves learnings)
336
- ```
337
-
338
- ### Memory MCP Entities
204
+ ## How `/scan` Works
339
205
 
340
- | Entity | Purpose | Persistence |
341
- | ------ | ------- | ----------- |
342
- | `Checkpoint:{pipeline}:{phase}:{ts}` | Phase insights (files, patterns, decisions) | Temporary |
343
- | `Learning:{name}:{ts}` | Patterns, decisions, gotchas | Permanent |
206
+ `/scan` is the most important command. It runs inside Claude Code and:
344
207
 
345
- ### Benefits
208
+ 1. **Detects subprojects** — reads git submodules or scans for `CLAUDE.md` files
209
+ 2. **Incremental detection** — compares source hashes to skip unchanged subprojects
210
+ 3. **Launches analysis agents** — one per subproject, in parallel
211
+ 4. **Generates per-subproject**:
212
+ - `{subproject}/CLAUDE.md` — stack, commands, guards
213
+ - `{subproject}/.claude/commands/` — guards, recipes, patterns, modules
214
+ - `{subproject}/.claude/skills/` — granular pattern skills
215
+ - `.claude/agents/{subproject}-impl.md` — implementation agent
216
+ - `.claude/agents/{subproject}-explorer.md` — read-only explorer
217
+ 5. **Updates root files** — `CLAUDE.md`, `pipeline-config.md`, `entity-registry.json`
346
218
 
347
- - **Clean context**: Reset after approval removes exploration noise
348
- - **Insights preserved**: Checkpoints save discoveries to memory
349
- - **Learnings accumulate**: Past gotchas available for future features
350
- - **Easy resume**: `/resume` loads compact summary from checkpoint
219
+ After `/scan`, the pipeline commands (`/feature`, `/bugfix`) have full context to dispatch specialized agents.
351
220
 
352
- ### L0 Universal Delegation
221
+ ## Pipeline Flow
353
222
 
354
- All code activities MUST be delegated via Task tool (separate context window).
355
- The parent context only coordinates and presents results.
223
+ ```
224
+ /feature <name>
225
+
226
+
227
+ ANALYZE — read registry + pipeline-config, determine layers
228
+
229
+
230
+ PLAN — create spec with tasks per agent (Light: inline, Full: /approve)
231
+
232
+
233
+ EXECUTE — dispatch agents per wave (DB+Backend ∥, Frontend after)
234
+
235
+
236
+ REVIEW — mandatory review per subproject (SOLID, patterns, i18n, ...)
237
+
238
+
239
+ CLOSE — sync registry, move spec, cleanup state
240
+ ```
356
241
 
357
- ## Supported Stacks
242
+ **Light scope** (≤5 files, known pattern): ANALYZE → EXECUTE → CLOSE in one session.
243
+ **Full scope** (3+ layers, new entity): ANALYZE → PLAN → `/approve` → new session → `/resume` → CLOSE.
358
244
 
359
- | Language | Frameworks |
360
- |----------|------------|
361
- | TypeScript/JS | React, Next.js, Node, Express |
362
- | C# | .NET, ASP.NET Core |
363
- | Python | FastAPI, Django, Flask |
364
- | Java | Spring Boot |
365
- | Go | Gin, Echo |
366
- | Rust | Actix, Axum |
367
- | ORMs | Drizzle, Prisma, TypeORM |
245
+ ## Supported Projects
368
246
 
369
- ## Optional Dependencies
247
+ Mustard is **framework-agnostic**. The CLI just copies templates. `/scan` handles detection:
370
248
 
371
- | Tool | Purpose |
249
+ | Type | Examples |
372
250
  |------|---------|
373
- | **Ollama** | LLM-generated CLAUDE.md |
374
- | **grepai** | Semantic code search |
375
- | **memory MCP** | Pipeline persistence |
376
-
377
- Without these, the CLI uses default templates.
251
+ | **Backend** | .NET, Node.js (Express/Fastify), Python (FastAPI/Django), Go, Rust, Java |
252
+ | **Frontend** | React, Next.js, Vue, Nuxt, Svelte, Angular |
253
+ | **Mobile** | Flutter/Dart |
254
+ | **Database** | Drizzle, Prisma, EF Core, TypeORM |
255
+ | **Monorepo** | Any combination of the above |
256
+ | **Single repo** | Any single project |
378
257
 
379
258
  ## Development
380
259
 
381
260
  ```bash
261
+ git clone https://github.com/Competi/mustard.git
262
+ cd mustard
382
263
  npm install
383
264
  npm run build
384
- npm test
385
265
 
386
- # Run locally without installing
266
+ # Test locally
387
267
  node bin/mustard.js init
388
268
  ```
389
269
 
390
- ## Publishing
391
-
392
- ```bash
393
- npm version patch # or minor/major
394
- npm publish
395
- ```
396
-
397
270
  ## License
398
271
 
399
272
  MIT
package/dist/cli.js CHANGED
@@ -7,24 +7,17 @@ export function run() {
7
7
  program
8
8
  .name('mustard')
9
9
  .description('Framework-agnostic CLI for Claude Code project setup')
10
- .version('2.0.0');
10
+ .version('3.0.0');
11
11
  program
12
12
  .command('init')
13
- .description('Initialize .claude/ structure for the current project')
14
- .option('-f, --force', 'Overwrite existing .claude/ directory')
13
+ .description('Copy .claude/ structure into the current project')
14
+ .option('-f, --force', 'Overwrite existing .claude/ directory without backup')
15
15
  .option('-y, --yes', 'Skip confirmation prompts')
16
- .option('--ollama', 'Use Ollama for personalized generation (slower)')
17
- .option('--no-grepai', 'Skip grepai semantic search')
18
- .option('-v, --verbose', 'Show detailed output')
19
16
  .action(initCommand);
20
17
  program
21
18
  .command('update')
22
- .description('Update Mustard core files (recreates prompts, commands/mustard, hooks, skills, scripts, settings.json)')
19
+ .description('Update Mustard core files (preserves user customizations)')
23
20
  .option('-f, --force', 'Skip backup and confirmation')
24
- .option('--ollama', 'Use Ollama for personalized generation (slower)')
25
- .option('--no-grepai', 'Skip grepai semantic search')
26
- .option('-v, --verbose', 'Show detailed output')
27
- .option('--include-claude-md', 'Also update CLAUDE.md (normally preserved)')
28
21
  .action(updateCommand);
29
22
  program
30
23
  .command('auto-update')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,GAAG;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,UAAU,EAAE,iDAAiD,CAAC;SACrE,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wGAAwG,CAAC;SACrH,MAAM,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACrD,MAAM,CAAC,UAAU,EAAE,iDAAiD,CAAC;SACrE,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;SAC3E,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;SAChE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,GAAG;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,aAAa,EAAE,sDAAsD,CAAC;SAC7E,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACrD,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;SAChE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -1,5 +1,8 @@
1
- import type { InitOptions } from '../types.js';
1
+ export interface InitOptions {
2
+ force?: boolean;
3
+ yes?: boolean;
4
+ }
2
5
  /**
3
- * Main init command
6
+ * mustard init — copies templates/ → .claude/
4
7
  */
5
8
  export declare function initCommand(options: InitOptions): Promise<void>;