@einja/dev-cli 0.1.6

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 (243) hide show
  1. package/README.md +179 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +49 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/init.d.ts +3 -0
  7. package/dist/commands/init.d.ts.map +1 -0
  8. package/dist/commands/init.js +243 -0
  9. package/dist/commands/init.js.map +1 -0
  10. package/dist/commands/list.d.ts +2 -0
  11. package/dist/commands/list.d.ts.map +1 -0
  12. package/dist/commands/list.js +23 -0
  13. package/dist/commands/list.js.map +1 -0
  14. package/dist/commands/sync.d.ts +7 -0
  15. package/dist/commands/sync.d.ts.map +1 -0
  16. package/dist/commands/sync.js +294 -0
  17. package/dist/commands/sync.js.map +1 -0
  18. package/dist/commands/sync.test.d.ts +2 -0
  19. package/dist/commands/sync.test.d.ts.map +1 -0
  20. package/dist/commands/sync.test.js +593 -0
  21. package/dist/commands/sync.test.js.map +1 -0
  22. package/dist/commands/task-loop.d.ts +11 -0
  23. package/dist/commands/task-loop.d.ts.map +1 -0
  24. package/dist/commands/task-loop.js +81 -0
  25. package/dist/commands/task-loop.js.map +1 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +3 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/lib/file-system.d.ts +39 -0
  31. package/dist/lib/file-system.d.ts.map +1 -0
  32. package/dist/lib/file-system.js +79 -0
  33. package/dist/lib/file-system.js.map +1 -0
  34. package/dist/lib/mcp-config.d.ts +43 -0
  35. package/dist/lib/mcp-config.d.ts.map +1 -0
  36. package/dist/lib/mcp-config.js +109 -0
  37. package/dist/lib/mcp-config.js.map +1 -0
  38. package/dist/lib/mcp-config.test.d.ts +2 -0
  39. package/dist/lib/mcp-config.test.d.ts.map +1 -0
  40. package/dist/lib/mcp-config.test.js +285 -0
  41. package/dist/lib/mcp-config.test.js.map +1 -0
  42. package/dist/lib/merger.d.ts +41 -0
  43. package/dist/lib/merger.d.ts.map +1 -0
  44. package/dist/lib/merger.js +164 -0
  45. package/dist/lib/merger.js.map +1 -0
  46. package/dist/lib/preset-update/cli-repo-detector.d.ts +35 -0
  47. package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -0
  48. package/dist/lib/preset-update/cli-repo-detector.js +83 -0
  49. package/dist/lib/preset-update/cli-repo-detector.js.map +1 -0
  50. package/dist/lib/preset-update/cli-repo-detector.test.d.ts +2 -0
  51. package/dist/lib/preset-update/cli-repo-detector.test.d.ts.map +1 -0
  52. package/dist/lib/preset-update/cli-repo-detector.test.js +120 -0
  53. package/dist/lib/preset-update/cli-repo-detector.test.js.map +1 -0
  54. package/dist/lib/preset-update/file-copier.d.ts +59 -0
  55. package/dist/lib/preset-update/file-copier.d.ts.map +1 -0
  56. package/dist/lib/preset-update/file-copier.js +220 -0
  57. package/dist/lib/preset-update/file-copier.js.map +1 -0
  58. package/dist/lib/preset-update/file-copier.test.d.ts +2 -0
  59. package/dist/lib/preset-update/file-copier.test.d.ts.map +1 -0
  60. package/dist/lib/preset-update/file-copier.test.js +297 -0
  61. package/dist/lib/preset-update/file-copier.test.js.map +1 -0
  62. package/dist/lib/preset-update/preset-finder.d.ts +39 -0
  63. package/dist/lib/preset-update/preset-finder.d.ts.map +1 -0
  64. package/dist/lib/preset-update/preset-finder.js +92 -0
  65. package/dist/lib/preset-update/preset-finder.js.map +1 -0
  66. package/dist/lib/preset-update/preset-finder.test.d.ts +2 -0
  67. package/dist/lib/preset-update/preset-finder.test.d.ts.map +1 -0
  68. package/dist/lib/preset-update/preset-finder.test.js +128 -0
  69. package/dist/lib/preset-update/preset-finder.test.js.map +1 -0
  70. package/dist/lib/preset.d.ts +14 -0
  71. package/dist/lib/preset.d.ts.map +1 -0
  72. package/dist/lib/preset.js +52 -0
  73. package/dist/lib/preset.js.map +1 -0
  74. package/dist/lib/sync/backup-manager.d.ts +50 -0
  75. package/dist/lib/sync/backup-manager.d.ts.map +1 -0
  76. package/dist/lib/sync/backup-manager.js +117 -0
  77. package/dist/lib/sync/backup-manager.js.map +1 -0
  78. package/dist/lib/sync/backup-manager.test.d.ts +2 -0
  79. package/dist/lib/sync/backup-manager.test.d.ts.map +1 -0
  80. package/dist/lib/sync/backup-manager.test.js +155 -0
  81. package/dist/lib/sync/backup-manager.test.js.map +1 -0
  82. package/dist/lib/sync/batch-processor.d.ts +27 -0
  83. package/dist/lib/sync/batch-processor.d.ts.map +1 -0
  84. package/dist/lib/sync/batch-processor.js +46 -0
  85. package/dist/lib/sync/batch-processor.js.map +1 -0
  86. package/dist/lib/sync/batch-processor.test.d.ts +2 -0
  87. package/dist/lib/sync/batch-processor.test.d.ts.map +1 -0
  88. package/dist/lib/sync/batch-processor.test.js +110 -0
  89. package/dist/lib/sync/batch-processor.test.js.map +1 -0
  90. package/dist/lib/sync/category-validator.d.ts +36 -0
  91. package/dist/lib/sync/category-validator.d.ts.map +1 -0
  92. package/dist/lib/sync/category-validator.js +46 -0
  93. package/dist/lib/sync/category-validator.js.map +1 -0
  94. package/dist/lib/sync/category-validator.test.d.ts +2 -0
  95. package/dist/lib/sync/category-validator.test.d.ts.map +1 -0
  96. package/dist/lib/sync/category-validator.test.js +89 -0
  97. package/dist/lib/sync/category-validator.test.js.map +1 -0
  98. package/dist/lib/sync/conflict-reporter.d.ts +57 -0
  99. package/dist/lib/sync/conflict-reporter.d.ts.map +1 -0
  100. package/dist/lib/sync/conflict-reporter.js +81 -0
  101. package/dist/lib/sync/conflict-reporter.js.map +1 -0
  102. package/dist/lib/sync/conflict-reporter.test.d.ts +2 -0
  103. package/dist/lib/sync/conflict-reporter.test.d.ts.map +1 -0
  104. package/dist/lib/sync/conflict-reporter.test.js +132 -0
  105. package/dist/lib/sync/conflict-reporter.test.js.map +1 -0
  106. package/dist/lib/sync/diff-engine.d.ts +28 -0
  107. package/dist/lib/sync/diff-engine.d.ts.map +1 -0
  108. package/dist/lib/sync/diff-engine.js +118 -0
  109. package/dist/lib/sync/diff-engine.js.map +1 -0
  110. package/dist/lib/sync/diff-engine.test.d.ts +2 -0
  111. package/dist/lib/sync/diff-engine.test.d.ts.map +1 -0
  112. package/dist/lib/sync/diff-engine.test.js +133 -0
  113. package/dist/lib/sync/diff-engine.test.js.map +1 -0
  114. package/dist/lib/sync/file-filter.d.ts +40 -0
  115. package/dist/lib/sync/file-filter.d.ts.map +1 -0
  116. package/dist/lib/sync/file-filter.js +171 -0
  117. package/dist/lib/sync/file-filter.js.map +1 -0
  118. package/dist/lib/sync/file-filter.test.d.ts +2 -0
  119. package/dist/lib/sync/file-filter.test.d.ts.map +1 -0
  120. package/dist/lib/sync/file-filter.test.js +179 -0
  121. package/dist/lib/sync/file-filter.test.js.map +1 -0
  122. package/dist/lib/sync/hash-cache.d.ts +34 -0
  123. package/dist/lib/sync/hash-cache.d.ts.map +1 -0
  124. package/dist/lib/sync/hash-cache.js +51 -0
  125. package/dist/lib/sync/hash-cache.js.map +1 -0
  126. package/dist/lib/sync/hash-cache.test.d.ts +2 -0
  127. package/dist/lib/sync/hash-cache.test.d.ts.map +1 -0
  128. package/dist/lib/sync/hash-cache.test.js +110 -0
  129. package/dist/lib/sync/hash-cache.test.js.map +1 -0
  130. package/dist/lib/sync/integration.test.d.ts +2 -0
  131. package/dist/lib/sync/integration.test.d.ts.map +1 -0
  132. package/dist/lib/sync/integration.test.js +317 -0
  133. package/dist/lib/sync/integration.test.js.map +1 -0
  134. package/dist/lib/sync/marker-processor.d.ts +54 -0
  135. package/dist/lib/sync/marker-processor.d.ts.map +1 -0
  136. package/dist/lib/sync/marker-processor.js +208 -0
  137. package/dist/lib/sync/marker-processor.js.map +1 -0
  138. package/dist/lib/sync/marker-processor.test.d.ts +2 -0
  139. package/dist/lib/sync/marker-processor.test.d.ts.map +1 -0
  140. package/dist/lib/sync/marker-processor.test.js +245 -0
  141. package/dist/lib/sync/marker-processor.test.js.map +1 -0
  142. package/dist/lib/sync/metadata-manager.d.ts +46 -0
  143. package/dist/lib/sync/metadata-manager.d.ts.map +1 -0
  144. package/dist/lib/sync/metadata-manager.js +129 -0
  145. package/dist/lib/sync/metadata-manager.js.map +1 -0
  146. package/dist/lib/sync/metadata-manager.test.d.ts +2 -0
  147. package/dist/lib/sync/metadata-manager.test.d.ts.map +1 -0
  148. package/dist/lib/sync/metadata-manager.test.js +137 -0
  149. package/dist/lib/sync/metadata-manager.test.js.map +1 -0
  150. package/dist/lib/sync/performance.test.d.ts +2 -0
  151. package/dist/lib/sync/performance.test.d.ts.map +1 -0
  152. package/dist/lib/sync/performance.test.js +126 -0
  153. package/dist/lib/sync/performance.test.js.map +1 -0
  154. package/dist/types/index.d.ts +59 -0
  155. package/dist/types/index.d.ts.map +1 -0
  156. package/dist/types/index.js +2 -0
  157. package/dist/types/index.js.map +1 -0
  158. package/dist/types/preset-update.d.ts +106 -0
  159. package/dist/types/preset-update.d.ts.map +1 -0
  160. package/dist/types/preset-update.js +5 -0
  161. package/dist/types/preset-update.js.map +1 -0
  162. package/dist/types/sync.d.ts +169 -0
  163. package/dist/types/sync.d.ts.map +1 -0
  164. package/dist/types/sync.js +19 -0
  165. package/dist/types/sync.js.map +1 -0
  166. package/package.json +72 -0
  167. package/presets/minimal/.claude/agents/einja/docs/docs-updater.md +161 -0
  168. package/presets/minimal/.claude/agents/einja/frontend/design-engineer.md +685 -0
  169. package/presets/minimal/.claude/agents/einja/frontend/frontend-architect.md +747 -0
  170. package/presets/minimal/.claude/agents/einja/frontend/frontend-coder.md +441 -0
  171. package/presets/minimal/.claude/agents/einja/git/conflict-resolver.md +148 -0
  172. package/presets/minimal/.claude/agents/einja/specs/spec-design-generator.md +462 -0
  173. package/presets/minimal/.claude/agents/einja/specs/spec-qa-generator.md +466 -0
  174. package/presets/minimal/.claude/agents/einja/specs/spec-requirements-generator.md +416 -0
  175. package/presets/minimal/.claude/agents/einja/specs/spec-tasks-generator.md +608 -0
  176. package/presets/minimal/.claude/agents/einja/task/task-committer.md +82 -0
  177. package/presets/minimal/.claude/agents/einja/task/task-executer.md +352 -0
  178. package/presets/minimal/.claude/agents/einja/task/task-modification-analyzer.md +369 -0
  179. package/presets/minimal/.claude/agents/einja/task/task-qa.md +74 -0
  180. package/presets/minimal/.claude/agents/einja/task/task-reviewer.md +169 -0
  181. package/presets/minimal/.claude/commands/einja/frontend-implement.md +322 -0
  182. package/presets/minimal/.claude/commands/einja/spec-create.md +254 -0
  183. package/presets/minimal/.claude/commands/einja/start-dev.md +98 -0
  184. package/presets/minimal/.claude/commands/einja/sync-cursor-commands.md +203 -0
  185. package/presets/minimal/.claude/commands/einja/task-exec.md +390 -0
  186. package/presets/minimal/.claude/commands/einja/update-docs-by-task-specs.md +448 -0
  187. package/presets/minimal/.claude/hooks/einja/biome-format.sh +49 -0
  188. package/presets/minimal/.claude/hooks/einja/design-doc-check.sh +61 -0
  189. package/presets/minimal/.claude/hooks/einja/detect-secrets.sh +62 -0
  190. package/presets/minimal/.claude/hooks/einja/large-file-warning.sh +42 -0
  191. package/presets/minimal/.claude/hooks/einja/playwright-resize.sh +36 -0
  192. package/presets/minimal/.claude/hooks/einja/typecheck.sh +37 -0
  193. package/presets/minimal/.claude/hooks/einja/unset-volta-recursion.sh +32 -0
  194. package/presets/minimal/.claude/hooks/einja/validate-git-commit.sh +239 -0
  195. package/presets/minimal/.claude/hooks/einja/warn-index-ts.sh +34 -0
  196. package/presets/minimal/.claude/hooks/einja/warn-relative-import.sh +48 -0
  197. package/presets/minimal/.claude/settings.json +174 -0
  198. package/presets/minimal/.claude/skills/einja/api-development/SKILL.md +14 -0
  199. package/presets/minimal/.claude/skills/einja/backend-architecture/SKILL.md +14 -0
  200. package/presets/minimal/.claude/skills/einja/coding-standards/SKILL.md +120 -0
  201. package/presets/minimal/.claude/skills/einja/coding-standards/reference/naming-conventions.md +107 -0
  202. package/presets/minimal/.claude/skills/einja/coding-standards/reference/prohibited-patterns.md +169 -0
  203. package/presets/minimal/.claude/skills/einja/coding-standards/reference/typescript-rules.md +247 -0
  204. package/presets/minimal/.claude/skills/einja/component-design/SKILL.md +109 -0
  205. package/presets/minimal/.claude/skills/einja/component-design/reference/directory-structure.md +117 -0
  206. package/presets/minimal/.claude/skills/einja/component-design/reference/props-patterns.md +159 -0
  207. package/presets/minimal/.claude/skills/einja/component-design/reference/styling-guide.md +200 -0
  208. package/presets/minimal/.claude/skills/einja/conflict-resolver/SKILL.md +190 -0
  209. package/presets/minimal/.claude/skills/einja/frontend-development/SKILL.md +14 -0
  210. package/presets/minimal/.claude/skills/einja/general-context-loader/SKILL.md +254 -0
  211. package/presets/minimal/.claude/skills/einja/output-format/SKILL.md +137 -0
  212. package/presets/minimal/.claude/skills/einja/spec-context-loader/SKILL.md +177 -0
  213. package/presets/minimal/.claude/skills/einja/task-commit/SKILL.md +269 -0
  214. package/presets/minimal/.claude/skills/einja/task-qa/SKILL.md +306 -0
  215. package/presets/minimal/.claude/skills/einja/task-qa/reference/failure-patterns.md +69 -0
  216. package/presets/minimal/.claude/skills/einja/task-qa/reference/troubleshooting.md +65 -0
  217. package/presets/minimal/.claude/skills/einja/task-qa/reference/usage-patterns.md +52 -0
  218. package/presets/minimal/.claude/skills/einja/task-qa/templates/qa-test-template.md +128 -0
  219. package/presets/minimal/preset.yaml +111 -0
  220. package/presets/minimal/symlinks.json +45 -0
  221. package/scaffolds/.mcp.json +45 -0
  222. package/scaffolds/CLAUDE.md.template +318 -0
  223. package/scaffolds/steering/README.md +170 -0
  224. package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +415 -0
  225. package/scaffolds/steering/architecture.md +481 -0
  226. package/scaffolds/steering/branch-strategy.md +362 -0
  227. package/scaffolds/steering/commit-rules.md +217 -0
  228. package/scaffolds/steering/db-schema-design.md +609 -0
  229. package/scaffolds/steering/development/api-development.md +783 -0
  230. package/scaffolds/steering/development/backend-architecture.md +731 -0
  231. package/scaffolds/steering/development/frontend-development.md +1537 -0
  232. package/scaffolds/steering/development/review-guidelines.md +365 -0
  233. package/scaffolds/steering/development/testing-strategy.md +819 -0
  234. package/scaffolds/steering/development-workflow.md +429 -0
  235. package/scaffolds/steering/infrastructure/deployment.md +277 -0
  236. package/scaffolds/steering/infrastructure/environment-variables.md +298 -0
  237. package/scaffolds/steering/product.md +540 -0
  238. package/scaffolds/steering/task-management.md +367 -0
  239. package/templates/README.md +159 -0
  240. package/templates/design-simple.md.template +172 -0
  241. package/templates/design.md.template +327 -0
  242. package/templates/qa-test.md.template +125 -0
  243. package/templates/requirements.md.template +254 -0
package/README.md ADDED
@@ -0,0 +1,179 @@
1
+ # @einja/dev-cli
2
+
3
+ Claude Code用の`.claude`設定ディレクトリをnpxでインストールできるCLI。
4
+
5
+ ## クイックスタート
6
+
7
+ ```bash
8
+ npx @einja/dev-cli init
9
+ ```
10
+
11
+ ## インストール
12
+
13
+ ```bash
14
+ # npx(推奨)
15
+ npx @einja/dev-cli init
16
+
17
+ # グローバルインストール
18
+ npm install -g @einja/dev-cli
19
+ @einja/dev-cli init
20
+ ```
21
+
22
+ ## コマンド
23
+
24
+ ### `init`
25
+
26
+ `.claude`ディレクトリをセットアップします。
27
+
28
+ ```bash
29
+ npx @einja/dev-cli init
30
+ ```
31
+
32
+ **オプション:**
33
+
34
+ | オプション | 説明 |
35
+ |-----------|------|
36
+ | `-f, --force` | 上書き確認をスキップ |
37
+ | `--dry-run` | 実行内容をプレビュー |
38
+ | `--no-backup` | バックアップを作成しない |
39
+
40
+ **自動追加されるnpm scripts:**
41
+
42
+ `init` 実行時に `package.json` の `scripts` に以下が自動追加されます:
43
+
44
+ ```json
45
+ {
46
+ "scripts": {
47
+ "task:loop": "@einja/dev-cli task:loop",
48
+ "einja:sync": "@einja/dev-cli sync"
49
+ }
50
+ }
51
+ ```
52
+
53
+ これにより、以下のコマンドが使用可能になります:
54
+ - `pnpm task:loop 123` - タスクループ実行
55
+ - `pnpm einja:sync` - テンプレート同期
56
+
57
+ ### `sync`
58
+
59
+ テンプレートから更新を同期します。
60
+
61
+ ```bash
62
+ # 全カテゴリを同期
63
+ npx @einja/dev-cli sync
64
+
65
+ # 特定カテゴリのみ同期
66
+ npx @einja/dev-cli sync --only commands,agents
67
+ npx @einja/dev-cli sync --only hooks
68
+ ```
69
+
70
+ **オプション:**
71
+
72
+ | オプション | 説明 |
73
+ |-----------|------|
74
+ | `-o, --only <categories>` | 同期するカテゴリをカンマ区切りで指定 |
75
+ | `-d, --dry-run` | 実際の変更を行わず、差分のみ表示 |
76
+ | `-f, --force` | ローカル変更を無視してテンプレートで上書き |
77
+ | `-y, --yes` | 確認プロンプトをスキップ |
78
+ | `--no-backup` | 変更前にバックアップを作成しない |
79
+
80
+ **同期可能なカテゴリ:**
81
+ - `commands` - Claude Code コマンド
82
+ - `agents` - エージェント定義
83
+ - `skills` - スキル定義
84
+ - `hooks` - Git Hooks
85
+ - `docs` - ステアリングドキュメント
86
+
87
+ ### `task:loop`
88
+
89
+ GitHub Issueのタスクを自動実行します(Claude Code経由)。
90
+
91
+ ```bash
92
+ # pnpm scripts経由(推奨)
93
+ pnpm task:loop 123
94
+ pnpm task:loop 123 --max-group 1.3
95
+
96
+ # npx直接実行
97
+ npx @einja/dev-cli task:loop 123
98
+ ```
99
+
100
+ **オプション:**
101
+
102
+ | オプション | 説明 |
103
+ |-----------|------|
104
+ | `-m, --max-group <number>` | 最大タスクグループ番号 |
105
+ | `-b, --branch <name>` | ベースブランチ |
106
+
107
+ **前提条件:**
108
+ - Claude Code がインストール済み(`npm install -g @anthropic-ai/claude-code`)
109
+ - Claude Code で認証済み(`claude /login`)
110
+ - `npx @einja/dev-cli init` 実行済み(`/task-vibe-kanban-loop` コマンドがインストールされている)
111
+
112
+ ## 配布内容
113
+
114
+ Einja ATDDワークフロー構成(Next.js、Vibe-Kanban統合)を配布します。
115
+
116
+ ```
117
+ .claude/
118
+ ├── settings.json
119
+ ├── agents/
120
+ │ ├── specs/ # 仕様書生成 (3)
121
+ │ ├── task/ # タスク実行 (6)
122
+ │ └── einja/frontend/ # フロントエンド (3)
123
+ ├── commands/
124
+ │ ├── spec-create.md
125
+ │ ├── task-exec.md
126
+ │ └── einja/ # Einja固有コマンド
127
+ ├── skills/
128
+ │ └── einja/ # コーディング規約、設計ガイド
129
+ └── hooks/ # Git Hooks (9個)
130
+ ├── biome-format.sh
131
+ ├── typecheck.sh
132
+ └── ...
133
+
134
+ docs/
135
+ ├── templates/ # ドキュメントテンプレート
136
+ └── steering/ # プロジェクト基本方針
137
+ ```
138
+
139
+ **含まれるMCPサーバー設定:**
140
+ - codex, context7, playwright, serena, github, vibe_kanban
141
+
142
+ ## カスタマイズ
143
+
144
+ ### settings.local.json
145
+
146
+ プロジェクト固有の設定は`settings.local.json`に記述します。
147
+
148
+ ```json
149
+ {
150
+ "permissions": {
151
+ "allow": ["Bash(custom-script:*)"]
152
+ }
153
+ }
154
+ ```
155
+
156
+ ### CLAUDE.md
157
+
158
+ プロジェクトルートに`CLAUDE.md`を作成してプロジェクト固有の指示を追加できます。
159
+
160
+ ## 開発
161
+
162
+ ```bash
163
+ # ビルド
164
+ pnpm build
165
+
166
+ # テスト
167
+ pnpm test
168
+
169
+ # 型チェック
170
+ pnpm typecheck
171
+ ```
172
+
173
+ ## 要件
174
+
175
+ - Node.js >= 20.0.0
176
+
177
+ ## ライセンス
178
+
179
+ MIT
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+ var _a;
3
+ import { Command } from "commander";
4
+ import chalk from "chalk";
5
+ import { initCommand } from "./commands/init.js";
6
+ import { listCommand } from "./commands/list.js";
7
+ import { syncCommand } from "./commands/sync.js";
8
+ import { taskLoopCommand } from "./commands/task-loop.js";
9
+ const program = new Command();
10
+ // 旧パッケージ名での実行時に非推奨警告を表示
11
+ const isLegacyPackageName = (_a = process.argv[1]) === null || _a === void 0 ? void 0 : _a.includes("@einja/claude-cli");
12
+ if (isLegacyPackageName) {
13
+ console.warn(chalk.yellow("⚠️ 警告: @einja/claude-cli は非推奨です。今後は @einja/dev-cli をご使用ください。"));
14
+ console.warn(chalk.yellow(" 新しいパッケージ名: npx @einja/dev-cli\n"));
15
+ }
16
+ program
17
+ .name("@einja/dev-cli")
18
+ .description("Einja CLI - .claude設定とテンプレート同期をnpxでインストール")
19
+ .version("0.1.0");
20
+ program
21
+ .command("init")
22
+ .description(".claudeディレクトリをセットアップ")
23
+ .option("-p, --preset <preset>", "使用するプリセット (turborepo-pandacss, minimal)")
24
+ .option("-f, --force", "既存の.claudeを強制上書き")
25
+ .option("--no-backup", "バックアップを作成しない")
26
+ .option("--dry-run", "実行内容を表示するだけで実際には変更しない")
27
+ .action(initCommand);
28
+ program
29
+ .command("list")
30
+ .description("利用可能なプリセット一覧を表示")
31
+ .action(listCommand);
32
+ program
33
+ .command("sync")
34
+ .description("テンプレートから更新を同期")
35
+ .option("-o, --only <categories>", "同期するカテゴリをカンマ区切りで指定")
36
+ .option("-d, --dry-run", "実際の変更を行わず、差分のみ表示")
37
+ .option("-f, --force", "ローカル変更を無視してテンプレートで上書き")
38
+ .option("-y, --yes", "確認プロンプトをスキップ")
39
+ .option("-j, --json", "JSON形式で結果を出力")
40
+ .option("--no-backup", "変更前にバックアップを作成しない")
41
+ .action(syncCommand);
42
+ program
43
+ .command("task:loop [issue]")
44
+ .description("GitHub Issueのタスクを自動実行(Claude Code経由)")
45
+ .option("-m, --max-group <number>", "最大タスクグループ番号")
46
+ .option("-b, --branch <name>", "ベースブランチ")
47
+ .action(taskLoopCommand);
48
+ program.parse();
49
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,MAAM,mBAAmB,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAC3E,IAAI,mBAAmB,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,CACX,KAAK,CAAC,MAAM,CACX,+DAA+D,CAC/D,CACD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,OAAO;KACL,IAAI,CAAC,gBAAgB,CAAC;KACtB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;KAC1E,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;KACrC,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtB,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtB,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC3C,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;KACnC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;KACpC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtB,OAAO;KACL,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,0BAA0B,EAAE,aAAa,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;KACxC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE1B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { InitOptions } from "../types/index.js";
2
+ export declare function initCommand(options: InitOptions): Promise<void>;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAYrD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgQrE"}
@@ -0,0 +1,243 @@
1
+ import fs from "fs-extra";
2
+ import path from "node:path";
3
+ import chalk from "chalk";
4
+ import ora from "ora";
5
+ import inquirer from "inquirer";
6
+ import { backupDirectory } from "../lib/file-system.js";
7
+ import { copyDocTemplates, copySteeringDocs, createSymlinks, generateClaudeDirectory, generateClaudeMd, } from "../lib/merger.js";
8
+ import { setupMcpConfig } from "../lib/mcp-config.js";
9
+ import { loadPreset, presetExists } from "../lib/preset.js";
10
+ export async function initCommand(options) {
11
+ const spinner = ora();
12
+ const cwd = process.cwd();
13
+ const claudeDir = path.join(cwd, ".claude");
14
+ const docsDir = path.join(cwd, "docs");
15
+ const einjaDocsDir = path.join(docsDir, "einja");
16
+ const templatesDir = path.join(einjaDocsDir, "templates");
17
+ const steeringDir = path.join(einjaDocsDir, "steering");
18
+ const claudeMdPath = path.join(cwd, "CLAUDE.md");
19
+ console.log(chalk.blue("\n🚀 Einja Claude CLI - .claude セットアップ\n"));
20
+ // 1. プリセット読み込み(minimal 固定)
21
+ const presetName = "minimal";
22
+ if (!(await presetExists(presetName))) {
23
+ console.log(chalk.red(`❌ プリセット "${presetName}" が見つかりません`));
24
+ process.exit(1);
25
+ }
26
+ const preset = await loadPreset(presetName);
27
+ // 2. ドライラン(ファイル操作前にチェック)
28
+ if (options.dryRun) {
29
+ console.log(chalk.blue("\n[Dry Run] 以下の操作が実行されます:"));
30
+ console.log(` - ${claudeDir} を作成`);
31
+ console.log(` - プリセット "${preset.name}" の設定を適用`);
32
+ console.log(" - コアエージェント・コマンドをコピー");
33
+ console.log(" - プリセット固有のファイルをコピー");
34
+ console.log(" - settings.json をマージ・生成");
35
+ console.log(` - ${templatesDir} にドキュメントテンプレートをコピー`);
36
+ console.log(` - ${steeringDir} にステアリングドキュメントをコピー`);
37
+ console.log(` - ${claudeMdPath} を生成`);
38
+ console.log(" - シンボリックリンクを作成(symlinks.json に基づく)");
39
+ console.log(" リンク先パスはインストール時に自動計算");
40
+ console.log(" - .mcp.json をセットアップ(既存設定とマージ)");
41
+ return;
42
+ }
43
+ // 3. 既存の.claude確認
44
+ if (await fs.pathExists(claudeDir)) {
45
+ if (!options.force) {
46
+ const { proceed } = await inquirer.prompt([
47
+ {
48
+ type: "confirm",
49
+ name: "proceed",
50
+ message: ".claudeディレクトリが既に存在します。上書きしますか?",
51
+ default: false,
52
+ },
53
+ ]);
54
+ if (!proceed) {
55
+ console.log(chalk.yellow("\n⚠️ キャンセルしました"));
56
+ return;
57
+ }
58
+ }
59
+ // バックアップ作成
60
+ if (options.backup !== false) {
61
+ spinner.start("バックアップを作成中...");
62
+ const backupPath = await backupDirectory(claudeDir);
63
+ spinner.succeed(`バックアップ作成: ${path.basename(backupPath)}`);
64
+ }
65
+ // 既存ディレクトリを削除
66
+ await fs.remove(claudeDir);
67
+ }
68
+ // 4. .claudeディレクトリを生成
69
+ spinner.start(".claudeをセットアップ中...");
70
+ try {
71
+ await fs.ensureDir(claudeDir);
72
+ await generateClaudeDirectory(claudeDir, preset.config);
73
+ spinner.succeed(".claudeのセットアップ完了");
74
+ }
75
+ catch (error) {
76
+ spinner.fail(".claudeのセットアップに失敗しました");
77
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
78
+ process.exit(1);
79
+ }
80
+ // 5. ドキュメントテンプレートをコピー
81
+ spinner.start("ドキュメントテンプレートをセットアップ中...");
82
+ try {
83
+ await copyDocTemplates(templatesDir);
84
+ spinner.succeed(`ドキュメントテンプレート: ${templatesDir}`);
85
+ }
86
+ catch (error) {
87
+ spinner.fail("ドキュメントテンプレートのセットアップに失敗しました");
88
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
89
+ process.exit(1);
90
+ }
91
+ // 6. ステアリングドキュメントをコピー
92
+ spinner.start("ステアリングドキュメントをセットアップ中...");
93
+ try {
94
+ await copySteeringDocs(steeringDir);
95
+ spinner.succeed(`ステアリングドキュメント: ${steeringDir}`);
96
+ }
97
+ catch (error) {
98
+ spinner.fail("ステアリングドキュメントのセットアップに失敗しました");
99
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
100
+ process.exit(1);
101
+ }
102
+ // 7. CLAUDE.mdを生成
103
+ spinner.start("CLAUDE.mdを生成中...");
104
+ try {
105
+ await generateClaudeMd(claudeMdPath, preset.config.variables);
106
+ spinner.succeed(`CLAUDE.md: ${claudeMdPath}`);
107
+ }
108
+ catch (error) {
109
+ spinner.fail("CLAUDE.mdの生成に失敗しました");
110
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
111
+ process.exit(1);
112
+ }
113
+ // 8. シンボリックリンクを作成
114
+ spinner.start("シンボリックリンクをセットアップ中...");
115
+ try {
116
+ const symlinkResult = await createSymlinks(cwd, presetName);
117
+ if (symlinkResult.created > 0 || symlinkResult.fallback > 0) {
118
+ const successCount = symlinkResult.created + symlinkResult.fallback;
119
+ spinner.succeed(`シンボリックリンク: ${successCount} 件作成`);
120
+ // 詳細ログを表示
121
+ if (symlinkResult.logs.length > 0) {
122
+ for (const log of symlinkResult.logs) {
123
+ if (log.startsWith("警告:") || log.startsWith("エラー:")) {
124
+ console.log(chalk.yellow(` ${log}`));
125
+ }
126
+ else if (log.startsWith("リンク作成:")) {
127
+ console.log(chalk.gray(` ${log}`));
128
+ }
129
+ }
130
+ }
131
+ if (symlinkResult.fallback > 0) {
132
+ console.log(chalk.yellow(` ⚠ ${symlinkResult.fallback} 件は実体ファイルにフォールバック`));
133
+ }
134
+ }
135
+ else if (symlinkResult.skipped > 0 || symlinkResult.errors > 0) {
136
+ spinner.warn("シンボリックリンク: 一部スキップまたはエラー");
137
+ for (const log of symlinkResult.logs) {
138
+ console.log(chalk.yellow(` ${log}`));
139
+ }
140
+ }
141
+ else {
142
+ spinner.info("シンボリックリンク: 対象なし");
143
+ }
144
+ }
145
+ catch (error) {
146
+ spinner.fail("シンボリックリンクのセットアップに失敗しました");
147
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
148
+ // シンボリックリンクの失敗は致命的ではないので続行
149
+ }
150
+ // 9. .mcp.json をセットアップ
151
+ spinner.start(".mcp.json をセットアップ中...");
152
+ // セットアップ結果を記録
153
+ let mcpSetupSuccess = false;
154
+ try {
155
+ const mcpResult = await setupMcpConfig(cwd);
156
+ if (mcpResult.skipped) {
157
+ spinner.info(".mcp.json: テンプレートが見つかりません(スキップ)");
158
+ }
159
+ else if (!mcpResult.success) {
160
+ spinner.warn(".mcp.json: 既存ファイルの読み込みに失敗しました(スキップ)");
161
+ console.log(chalk.yellow(` ⚠ ${mcpResult.error}`));
162
+ console.log(chalk.yellow(" 既存の .mcp.json は保持されます"));
163
+ }
164
+ else if (mcpResult.result) {
165
+ mcpSetupSuccess = true;
166
+ const totalServers = mcpResult.result.added.length +
167
+ mcpResult.result.overwritten.length +
168
+ mcpResult.result.preserved.length;
169
+ spinner.succeed(`.mcp.json: ${totalServers} 件のサーバー設定`);
170
+ if (mcpResult.result.added.length > 0) {
171
+ console.log(chalk.green(` + 追加: ${mcpResult.result.added.join(", ")}`));
172
+ }
173
+ if (mcpResult.result.overwritten.length > 0) {
174
+ console.log(chalk.yellow(` ↻ 更新: ${mcpResult.result.overwritten.join(", ")}`));
175
+ }
176
+ if (mcpResult.result.preserved.length > 0) {
177
+ console.log(chalk.gray(` = 保持: ${mcpResult.result.preserved.join(", ")}`));
178
+ }
179
+ }
180
+ }
181
+ catch (error) {
182
+ spinner.fail(".mcp.json のセットアップに失敗しました");
183
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
184
+ }
185
+ // 10. package.json に scripts を追加
186
+ const packageJsonPath = path.join(cwd, "package.json");
187
+ if (await fs.pathExists(packageJsonPath)) {
188
+ spinner.start("package.json に scripts を追加中...");
189
+ try {
190
+ const packageJson = await fs.readJson(packageJsonPath);
191
+ const scriptsToAdd = {
192
+ "task:loop": "npx @einja/dev-cli task:loop",
193
+ "einja:sync": "npx @einja/dev-cli sync",
194
+ };
195
+ let added = 0;
196
+ let skipped = 0;
197
+ if (!packageJson.scripts) {
198
+ packageJson.scripts = {};
199
+ }
200
+ for (const [key, value] of Object.entries(scriptsToAdd)) {
201
+ if (packageJson.scripts[key]) {
202
+ skipped++;
203
+ }
204
+ else {
205
+ packageJson.scripts[key] = value;
206
+ added++;
207
+ }
208
+ }
209
+ if (added > 0) {
210
+ await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
211
+ spinner.succeed(`package.json: ${added} 件の scripts を追加`);
212
+ if (skipped > 0) {
213
+ console.log(chalk.yellow(` ⚠ ${skipped} 件は既に存在するためスキップ`));
214
+ }
215
+ }
216
+ else {
217
+ spinner.info("package.json: scripts は既に設定済み");
218
+ }
219
+ }
220
+ catch (error) {
221
+ spinner.warn("package.json への scripts 追加をスキップ");
222
+ console.log(chalk.yellow(` ${error instanceof Error ? error.message : String(error)}`));
223
+ }
224
+ }
225
+ // 11. 完了メッセージ
226
+ console.log(chalk.green("\n✅ セットアップ完了!"));
227
+ console.log(chalk.gray("\n生成されたファイル:"));
228
+ console.log(" - .claude/ Claude Code設定");
229
+ console.log(" - docs/einja/templates/ ドキュメントテンプレート");
230
+ console.log(" - docs/einja/steering/ ステアリングドキュメント");
231
+ console.log(" - CLAUDE.md プロジェクト設定");
232
+ if (mcpSetupSuccess) {
233
+ console.log(" - .mcp.json MCPサーバー設定");
234
+ }
235
+ console.log(chalk.gray("\n追加された scripts:"));
236
+ console.log(" - pnpm task:loop <issue> タスクループ実行");
237
+ console.log(" - pnpm einja:sync テンプレート同期");
238
+ console.log(chalk.gray("\n次のステップ:"));
239
+ console.log(" 1. CLAUDE.md をプロジェクトに合わせてカスタマイズ");
240
+ console.log(" 2. settings.local.json を必要に応じて作成");
241
+ console.log(" 3. claude code で開発を開始");
242
+ }
243
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAEpE,2BAA2B;IAC3B,MAAM,UAAU,GAAG,SAAS,CAAC;IAE7B,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAE5C,yBAAyB;IACzB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,oBAAoB,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,oBAAoB,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACzC;oBACC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE,KAAK;iBACd;aACD,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACR,CAAC;QACF,CAAC;QAED,WAAW;QACX,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,cAAc;QACd,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEpC,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEzC,IAAI,CAAC;QACJ,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEzC,IAAI,CAAC;QACJ,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,CAAC,OAAO,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAElC,IAAI,CAAC;QACJ,MAAM,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,CAAC,OAAO,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEtC,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE5D,IAAI,aAAa,CAAC,OAAO,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;YACpE,OAAO,CAAC,OAAO,CAAC,cAAc,YAAY,MAAM,CAAC,CAAC;YAElD,UAAU;YACV,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;oBACtC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;yBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,aAAa,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CAAC,SAAS,aAAa,CAAC,QAAQ,mBAAmB,CAAC,CAChE,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,aAAa,CAAC,OAAO,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,2BAA2B;IAC5B,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEvC,cAAc;IACd,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC;QACJ,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC7B,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,YAAY,GACjB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;gBAC7B,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM;gBACnC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,cAAc,YAAY,WAAW,CAAC,CAAC;YACvD,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,iCAAiC;IACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEhD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG;gBACpB,WAAW,EAAE,8BAA8B;gBAC3C,YAAY,EAAE,yBAAyB;aACvC,CAAC;YAEF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC1B,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;YAC1B,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzD,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,OAAO,EAAE,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACP,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACjC,KAAK,EAAE,CAAC;gBACT,CAAC;YACF,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,OAAO,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,OAAO,iBAAiB,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC7E,CAAC;QACH,CAAC;IACF,CAAC;IAED,cAAc;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function listCommand(): Promise<void>;
2
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBjD"}
@@ -0,0 +1,23 @@
1
+ import chalk from "chalk";
2
+ import { getAllPresets } from "../lib/preset.js";
3
+ export async function listCommand() {
4
+ var _a, _b;
5
+ console.log(chalk.blue("\n📦 利用可能なプリセット\n"));
6
+ const presets = await getAllPresets();
7
+ if (presets.length === 0) {
8
+ console.log(chalk.gray(" 利用可能なプリセットがありません"));
9
+ return;
10
+ }
11
+ for (const preset of presets) {
12
+ console.log(chalk.bold(` ${preset.name}`));
13
+ console.log(chalk.gray(` ${preset.displayName}`));
14
+ console.log(chalk.gray(` ${preset.description}`));
15
+ if (preset.config.mcpServers.length > 0) {
16
+ console.log(chalk.gray(` MCP: ${preset.config.mcpServers.join(", ")}`));
17
+ }
18
+ console.log("");
19
+ }
20
+ console.log(chalk.gray("使用例:"));
21
+ console.log(chalk.cyan(` npx @repo/claude-cli init --preset ${(_b = (_a = presets[0]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "minimal"}`));
22
+ }
23
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,WAAW;;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,OAAO;IACR,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,MAAA,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,IAAI,mCAAI,SAAS,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { SyncOptions } from "../types/index.js";
2
+ /**
3
+ * syncコマンドのエントリーポイント
4
+ * テンプレートからの更新を同期し、ローカル変更を保持する
5
+ */
6
+ export declare function syncCommand(options: SyncOptions): Promise<void>;
7
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAyBrD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgVrE"}