claudeos-core 1.6.2 → 1.7.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.
- package/CHANGELOG.md +26 -0
- package/README.de.md +655 -653
- package/README.es.md +657 -655
- package/README.fr.md +657 -655
- package/README.hi.md +656 -654
- package/README.ja.md +675 -673
- package/README.ko.md +692 -690
- package/README.md +712 -710
- package/README.ru.md +656 -654
- package/README.vi.md +656 -654
- package/README.zh-CN.md +656 -654
- package/bin/commands/init.js +386 -357
- package/package.json +1 -1
- package/pass-prompts/templates/common/pass3-footer.md +23 -3
- package/pass-prompts/templates/node-vite/pass1.md +117 -0
- package/pass-prompts/templates/node-vite/pass2.md +78 -0
- package/pass-prompts/templates/node-vite/pass3.md +103 -0
- package/plan-installer/domain-grouper.js +75 -73
- package/plan-installer/index.js +129 -126
- package/plan-installer/scanners/scan-frontend.js +264 -254
- package/plan-installer/scanners/scan-node.js +57 -46
- package/plan-installer/scanners/scan-python.js +64 -55
- package/plan-installer/stack-detector.js +466 -454
- package/plan-installer/structure-scanner.js +65 -65
package/README.ja.md
CHANGED
|
@@ -1,673 +1,675 @@
|
|
|
1
|
-
# ClaudeOS-Core
|
|
2
|
-
|
|
3
|
-
**ソースコードを先に読み、スタックとパターンを決定論的分析で確定してから、プロジェクトに正確に合った Claude Code ルールを生成する唯一のツール。**
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npx claudeos-core init
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
ClaudeOS-Core はコードベースを読み取り、すべてのパターンを抽出し、_あなたの_ プロジェクトに最適化された Standards、Rules、Skills、Guides の完全なセットを生成します。その後、Claude Code に「注文の CRUD を作成して」と伝えると、既存のパターンに完全に一致するコードが生成されます。
|
|
10
|
-
|
|
11
|
-
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## なぜ ClaudeOS-Core なのか?
|
|
16
|
-
|
|
17
|
-
他のすべての Claude Code ツールはこう動作します:
|
|
18
|
-
|
|
19
|
-
> **人間がプロジェクトを説明 → LLM がドキュメントを生成**
|
|
20
|
-
|
|
21
|
-
ClaudeOS-Core はこう動作します:
|
|
22
|
-
|
|
23
|
-
> **コードがソースを分析 → コードがカスタムプロンプトを構築 → LLM がドキュメントを生成 → コードが出力を検証**
|
|
24
|
-
|
|
25
|
-
これは小さな違いではありません。
|
|
26
|
-
|
|
27
|
-
### 核心的な問題:LLM は推測する。コードは確定する。
|
|
28
|
-
|
|
29
|
-
Claude に「このプロジェクトを分析して」と頼むと、スタック、ORM、ドメイン構造を**推測**します。
|
|
30
|
-
`build.gradle` で `spring-boot` を見ても、MyBatis ではなく JPA と誤認する可能性があります。
|
|
31
|
-
`user/` ディレクトリを見ても、layer-first(Pattern A)か domain-first(Pattern B)か間違える可能性があります。
|
|
32
|
-
|
|
33
|
-
**ClaudeOS-Core は推測しません。** Claude がプロジェクトを見る前に、Node.js コードがすでに:
|
|
34
|
-
|
|
35
|
-
- `build.gradle` / `package.json` / `pyproject.toml` をパースしてスタック、ORM、DB、パッケージマネージャーを**確定**
|
|
36
|
-
- ディレクトリ構造をスキャンしてドメインリストとファイル数を**確定**
|
|
37
|
-
- プロジェクト構造を Java 5パターン、Kotlin CQRS/BFF、Next.js App Router/FSD のいずれかに**分類**
|
|
38
|
-
- Claude のコンテキストウィンドウに収まるようドメインを最適グループに**分割**
|
|
39
|
-
- 確定した事実が注入されたスタック固有のプロンプトを**構築**
|
|
40
|
-
|
|
41
|
-
Claude がプロンプトを受け取る時点で、推測の余地はありません。スタック確定。ドメイン確定。構造パターン確定。Claude は**確定された事実**に沿ったドキュメントを生成するだけです。
|
|
42
|
-
|
|
43
|
-
### 結果
|
|
44
|
-
|
|
45
|
-
他のツールは「一般的に良い」ドキュメントを生成します。
|
|
46
|
-
ClaudeOS-Core は、プロジェクトが `ApiResponse.ok()` を使用していること、MyBatis XML マッパーが `src/main/resources/mybatis/mappers/` にあること、パッケージ構造が `com.company.module.{domain}.controller` であることを知っているドキュメントを生成します — 実際のコードを読んだからです。
|
|
47
|
-
|
|
48
|
-
### Before & After
|
|
49
|
-
|
|
50
|
-
**ClaudeOS-Core なし** — Claude Code に注文 CRUD の作成を依頼すると:
|
|
51
|
-
```
|
|
52
|
-
❌ JPA スタイルの repository を使用(プロジェクトは MyBatis)
|
|
53
|
-
❌ ResponseEntity.success() を生成(ラッパーは ApiResponse.ok())
|
|
54
|
-
❌ order/controller/ にファイルを配置(プロジェクトは controller/order/)
|
|
55
|
-
❌ 英語コメントを生成(チームは日本語を使用)
|
|
56
|
-
→ 生成ファイルごとに20分の修正
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**ClaudeOS-Core 適用後** — `.claude/rules/` に確定されたパターンが存在:
|
|
60
|
-
```
|
|
61
|
-
✅ MyBatis マッパー + XML を生成(build.gradle から検出)
|
|
62
|
-
✅ ApiResponse.ok() を使用(実際のソースから抽出)
|
|
63
|
-
✅ controller/order/ にファイルを配置(構造スキャンで Pattern A 確定)
|
|
64
|
-
✅ 日本語コメント(--lang ja 適用)
|
|
65
|
-
→ 生成コードがプロジェクト規約と即座に一致
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
この差は蓄積されます。1日10タスク × 20分節約 = **1日3時間以上**。
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## 対応スタック
|
|
73
|
-
|
|
74
|
-
| スタック | 検出方法 | 分析深度 |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| **Java / Spring Boot** | `build.gradle`、`pom.xml`、5パッケージパターン | 10 大分類、59 小項目 |
|
|
77
|
-
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 大分類, 95 小項目 |
|
|
78
|
-
| **Node.js / Express** | `package.json` | 9 大分類、57 小項目 |
|
|
79
|
-
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 大分類、68 小項目 |
|
|
80
|
-
| **Next.js / React** | `package.json`、`next.config.*`、FSD サポート | 9 大分類、55 小項目 |
|
|
81
|
-
| **Vue / Nuxt** | `package.json`、`nuxt.config.*`、Composition API | 9 大分類、58 小項目 |
|
|
82
|
-
| **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大分類、55 小項目 |
|
|
83
|
-
| **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大分類、58 小項目 |
|
|
84
|
-
| **Node.js / Fastify** | `package.json` | 10 大分類、62 小項目 |
|
|
85
|
-
| **
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
- **
|
|
123
|
-
- **
|
|
124
|
-
- **
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
npx claudeos-core init --lang
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
-
|
|
237
|
-
- `
|
|
238
|
-
- `
|
|
239
|
-
- `
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
node claudeos-core-tools/
|
|
296
|
-
node claudeos-core-tools/
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
├── [
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
│ ├──
|
|
333
|
-
│
|
|
334
|
-
│
|
|
335
|
-
|
|
336
|
-
│
|
|
337
|
-
|
|
338
|
-
│
|
|
339
|
-
|
|
340
|
-
│
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
│
|
|
344
|
-
|
|
345
|
-
└──
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
**Pass
|
|
353
|
-
|
|
354
|
-
**Pass
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
│
|
|
365
|
-
├── .
|
|
366
|
-
│
|
|
367
|
-
|
|
368
|
-
│
|
|
369
|
-
│ ├──
|
|
370
|
-
│ ├──
|
|
371
|
-
│ ├──
|
|
372
|
-
│
|
|
373
|
-
│
|
|
374
|
-
|
|
375
|
-
│
|
|
376
|
-
|
|
377
|
-
│ ├──
|
|
378
|
-
│ ├──
|
|
379
|
-
│ ├──
|
|
380
|
-
│ ├──
|
|
381
|
-
│
|
|
382
|
-
│
|
|
383
|
-
└──
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
|
395
|
-
|
|
396
|
-
|
|
|
397
|
-
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
npx claudeos-core
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
|
420
|
-
|
|
421
|
-
| **
|
|
422
|
-
| **
|
|
423
|
-
| **
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
|
436
|
-
|
|
437
|
-
|
|
|
438
|
-
| `.claude/rules/
|
|
439
|
-
| `.claude/rules/
|
|
440
|
-
| `.claude/rules/
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
`
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
|
458
|
-
|
|
459
|
-
| `claudeos-core/
|
|
460
|
-
| `claudeos-core/
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
#
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
|
509
|
-
|
|
510
|
-
|
|
|
511
|
-
|
|
|
512
|
-
|
|
|
513
|
-
|
|
|
514
|
-
|
|
|
515
|
-
|
|
|
516
|
-
|
|
|
517
|
-
|
|
|
518
|
-
|
|
|
519
|
-
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
**
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
├──
|
|
581
|
-
├──
|
|
582
|
-
├──
|
|
583
|
-
├── node-
|
|
584
|
-
├──
|
|
585
|
-
├──
|
|
586
|
-
├──
|
|
587
|
-
├──
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
- `
|
|
603
|
-
- `
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
- `
|
|
616
|
-
- `
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
- `
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
│
|
|
630
|
-
│
|
|
631
|
-
│
|
|
632
|
-
│
|
|
633
|
-
├──
|
|
634
|
-
│
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
**"
|
|
646
|
-
|
|
647
|
-
**"
|
|
648
|
-
|
|
649
|
-
**
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
1
|
+
# ClaudeOS-Core
|
|
2
|
+
|
|
3
|
+
**ソースコードを先に読み、スタックとパターンを決定論的分析で確定してから、プロジェクトに正確に合った Claude Code ルールを生成する唯一のツール。**
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx claudeos-core init
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
ClaudeOS-Core はコードベースを読み取り、すべてのパターンを抽出し、_あなたの_ プロジェクトに最適化された Standards、Rules、Skills、Guides の完全なセットを生成します。その後、Claude Code に「注文の CRUD を作成して」と伝えると、既存のパターンに完全に一致するコードが生成されます。
|
|
10
|
+
|
|
11
|
+
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## なぜ ClaudeOS-Core なのか?
|
|
16
|
+
|
|
17
|
+
他のすべての Claude Code ツールはこう動作します:
|
|
18
|
+
|
|
19
|
+
> **人間がプロジェクトを説明 → LLM がドキュメントを生成**
|
|
20
|
+
|
|
21
|
+
ClaudeOS-Core はこう動作します:
|
|
22
|
+
|
|
23
|
+
> **コードがソースを分析 → コードがカスタムプロンプトを構築 → LLM がドキュメントを生成 → コードが出力を検証**
|
|
24
|
+
|
|
25
|
+
これは小さな違いではありません。
|
|
26
|
+
|
|
27
|
+
### 核心的な問題:LLM は推測する。コードは確定する。
|
|
28
|
+
|
|
29
|
+
Claude に「このプロジェクトを分析して」と頼むと、スタック、ORM、ドメイン構造を**推測**します。
|
|
30
|
+
`build.gradle` で `spring-boot` を見ても、MyBatis ではなく JPA と誤認する可能性があります。
|
|
31
|
+
`user/` ディレクトリを見ても、layer-first(Pattern A)か domain-first(Pattern B)か間違える可能性があります。
|
|
32
|
+
|
|
33
|
+
**ClaudeOS-Core は推測しません。** Claude がプロジェクトを見る前に、Node.js コードがすでに:
|
|
34
|
+
|
|
35
|
+
- `build.gradle` / `package.json` / `pyproject.toml` をパースしてスタック、ORM、DB、パッケージマネージャーを**確定**
|
|
36
|
+
- ディレクトリ構造をスキャンしてドメインリストとファイル数を**確定**
|
|
37
|
+
- プロジェクト構造を Java 5パターン、Kotlin CQRS/BFF、Next.js App Router/FSD のいずれかに**分類**
|
|
38
|
+
- Claude のコンテキストウィンドウに収まるようドメインを最適グループに**分割**
|
|
39
|
+
- 確定した事実が注入されたスタック固有のプロンプトを**構築**
|
|
40
|
+
|
|
41
|
+
Claude がプロンプトを受け取る時点で、推測の余地はありません。スタック確定。ドメイン確定。構造パターン確定。Claude は**確定された事実**に沿ったドキュメントを生成するだけです。
|
|
42
|
+
|
|
43
|
+
### 結果
|
|
44
|
+
|
|
45
|
+
他のツールは「一般的に良い」ドキュメントを生成します。
|
|
46
|
+
ClaudeOS-Core は、プロジェクトが `ApiResponse.ok()` を使用していること、MyBatis XML マッパーが `src/main/resources/mybatis/mappers/` にあること、パッケージ構造が `com.company.module.{domain}.controller` であることを知っているドキュメントを生成します — 実際のコードを読んだからです。
|
|
47
|
+
|
|
48
|
+
### Before & After
|
|
49
|
+
|
|
50
|
+
**ClaudeOS-Core なし** — Claude Code に注文 CRUD の作成を依頼すると:
|
|
51
|
+
```
|
|
52
|
+
❌ JPA スタイルの repository を使用(プロジェクトは MyBatis)
|
|
53
|
+
❌ ResponseEntity.success() を生成(ラッパーは ApiResponse.ok())
|
|
54
|
+
❌ order/controller/ にファイルを配置(プロジェクトは controller/order/)
|
|
55
|
+
❌ 英語コメントを生成(チームは日本語を使用)
|
|
56
|
+
→ 生成ファイルごとに20分の修正
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**ClaudeOS-Core 適用後** — `.claude/rules/` に確定されたパターンが存在:
|
|
60
|
+
```
|
|
61
|
+
✅ MyBatis マッパー + XML を生成(build.gradle から検出)
|
|
62
|
+
✅ ApiResponse.ok() を使用(実際のソースから抽出)
|
|
63
|
+
✅ controller/order/ にファイルを配置(構造スキャンで Pattern A 確定)
|
|
64
|
+
✅ 日本語コメント(--lang ja 適用)
|
|
65
|
+
→ 生成コードがプロジェクト規約と即座に一致
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
この差は蓄積されます。1日10タスク × 20分節約 = **1日3時間以上**。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 対応スタック
|
|
73
|
+
|
|
74
|
+
| スタック | 検出方法 | 分析深度 |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| **Java / Spring Boot** | `build.gradle`、`pom.xml`、5パッケージパターン | 10 大分類、59 小項目 |
|
|
77
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 大分類, 95 小項目 |
|
|
78
|
+
| **Node.js / Express** | `package.json` | 9 大分類、57 小項目 |
|
|
79
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 大分類、68 小項目 |
|
|
80
|
+
| **Next.js / React** | `package.json`、`next.config.*`、FSD サポート | 9 大分類、55 小項目 |
|
|
81
|
+
| **Vue / Nuxt** | `package.json`、`nuxt.config.*`、Composition API | 9 大分類、58 小項目 |
|
|
82
|
+
| **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大分類、55 小項目 |
|
|
83
|
+
| **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大分類、58 小項目 |
|
|
84
|
+
| **Node.js / Fastify** | `package.json` | 10 大分類、62 小項目 |
|
|
85
|
+
| **Vite / React SPA** | `package.json`、`vite.config.*` | 9 大分類、55 小項目 |
|
|
86
|
+
| **Angular** | `package.json`、`angular.json` | 12 大分類、78 小項目 |
|
|
87
|
+
|
|
88
|
+
自動検出対象:言語とバージョン、フレームワークとバージョン(Vite を SPA フレームワークとして含む)、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、データベース(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、パッケージマネージャー(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、アーキテクチャ(CQRS、BFF — モジュール名から検出)、マルチモジュール構造(settings.gradleから検出)、モノレポ(Turborepo、pnpm-workspace、Lerna、npm/yarn workspaces)。
|
|
89
|
+
|
|
90
|
+
**何も指定する必要はありません。すべて自動検出されます。**
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
### Java ドメイン検出(5パターン、フォールバック付き)
|
|
94
|
+
|
|
95
|
+
| 優先度 | パターン | 構造 | 例 |
|
|
96
|
+
|---|---|---|---|
|
|
97
|
+
| A | レイヤー優先 | `controller/{domain}/` | `controller/user/UserController.java` |
|
|
98
|
+
| B | ドメイン優先 | `{domain}/controller/` | `user/controller/UserController.java` |
|
|
99
|
+
| D | モジュールプレフィックス | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
|
|
100
|
+
| E | DDD/ヘキサゴナル | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
101
|
+
| C | フラット | `controller/*.java` | `controller/UserController.java` → クラス名から `user` を抽出 |
|
|
102
|
+
|
|
103
|
+
Controller のないサービスのみのドメインも `service/`、`dao/`、`aggregator/`、`facade/`、`usecase/`、`orchestrator/`、`mapper/`、`repository/` ディレクトリを通じて検出されます。スキップ:`common`、`config`、`util`、`core`、`front`、`admin`、`v1`、`v2` など。
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
### Kotlin マルチモジュールドメイン検出
|
|
107
|
+
|
|
108
|
+
Gradle マルチモジュール構造の Kotlin プロジェクト(例:CQRS モノレポ)向け:
|
|
109
|
+
|
|
110
|
+
| ステップ | 動作 | 例 |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| 1 | `settings.gradle.kts` から `include()` をスキャン | 14 モジュール検出 |
|
|
113
|
+
| 2 | モジュール名からタイプを検出 | `reservation-command-server` → type: `command` |
|
|
114
|
+
| 3 | モジュール名からドメインを抽出 | `reservation-command-server` → domain: `reservation` |
|
|
115
|
+
| 4 | 同じドメインをモジュール間でグループ化 | `reservation-command-server` + `common-query-server` → 1ドメイン |
|
|
116
|
+
| 5 | アーキテクチャを検出 | `command` + `query` モジュールあり → CQRS |
|
|
117
|
+
|
|
118
|
+
サポートモジュールタイプ:`command`、`query`、`bff`、`integration`、`standalone`、`library`。共有ライブラリ(`shared-lib`、`integration-lib`)は特殊ドメインとして検出されます。
|
|
119
|
+
|
|
120
|
+
### フロントエンドドメイン検出
|
|
121
|
+
|
|
122
|
+
- **App Router**:`app/{domain}/page.tsx`(Next.js)
|
|
123
|
+
- **Pages Router**:`pages/{domain}/index.tsx`
|
|
124
|
+
- **FSD(Feature-Sliced Design)**:`features/*/`、`widgets/*/`、`entities/*/`
|
|
125
|
+
- **RSC/Client分離**:`client.tsx` パターンを検出、サーバー/クライアントコンポーネントの分離を追跡
|
|
126
|
+
- **非標準ネストパス**:`src/*/pages/`、`src/*/components/`、`src/*/features/` 配下のページ、コンポーネント、FSD レイヤーを検出(例:`src/admin/pages/dashboard/`)
|
|
127
|
+
- **設定ファイルフォールバック**:`package.json` になくても設定ファイルから Next.js/Vite/Nuxt を検出(monorepo対応)
|
|
128
|
+
- **深層ディレクトリフォールバック**:React/CRA/Vite/Vue/RNプロジェクトで `**/components/*/`、`**/views/*/`、`**/screens/*/`、`**/containers/*/`、`**/pages/*/`、`**/routes/*/`、`**/modules/*/`、`**/domains/*/` を任意の深さでスキャン
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## クイックスタート
|
|
133
|
+
|
|
134
|
+
### 前提条件
|
|
135
|
+
|
|
136
|
+
- **Node.js** v18+
|
|
137
|
+
- **Claude Code CLI**(インストール・認証済み)
|
|
138
|
+
|
|
139
|
+
### インストール
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
cd /your/project/root
|
|
143
|
+
|
|
144
|
+
# 方法 A:npx(推奨 — インストール不要)
|
|
145
|
+
npx claudeos-core init
|
|
146
|
+
|
|
147
|
+
# 方法 B:グローバルインストール
|
|
148
|
+
npm install -g claudeos-core
|
|
149
|
+
claudeos-core init
|
|
150
|
+
|
|
151
|
+
# 方法 C:プロジェクト devDependency
|
|
152
|
+
npm install --save-dev claudeos-core
|
|
153
|
+
npx claudeos-core init
|
|
154
|
+
|
|
155
|
+
# 方法 D:git clone(開発・コントリビューション用)
|
|
156
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
157
|
+
|
|
158
|
+
# クロスプラットフォーム(PowerShell、CMD、Bash、Zsh — すべてのターミナル)
|
|
159
|
+
node claudeos-core-tools/bin/cli.js init
|
|
160
|
+
|
|
161
|
+
# Linux/macOS のみ(Bash のみ)
|
|
162
|
+
bash claudeos-core-tools/bootstrap.sh
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 出力言語(10 言語対応)
|
|
166
|
+
|
|
167
|
+
`--lang` なしで `init` を実行すると、矢印キーまたは数字キーで言語を選択するインタラクティブ画面が表示されます:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
╔══════════════════════════════════════════════════╗
|
|
171
|
+
║ Select generated document language (required) ║
|
|
172
|
+
╚══════════════════════════════════════════════════╝
|
|
173
|
+
|
|
174
|
+
生成されるファイル(CLAUDE.md、Standards、Rules、
|
|
175
|
+
Skills、Guides)は日本語で作成されます。
|
|
176
|
+
|
|
177
|
+
1. en — English
|
|
178
|
+
2. ko — 한국어 (Korean)
|
|
179
|
+
3. zh-CN — 简体中文 (Chinese Simplified)
|
|
180
|
+
❯ 4. ja — 日本語 (Japanese)
|
|
181
|
+
...
|
|
182
|
+
|
|
183
|
+
↑↓ Move 1-0 Jump Enter Select ESC Cancel
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
選択を移動すると、説明が該当言語に切り替わります。セレクターをスキップするには `--lang` を直接指定してください:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
npx claudeos-core init --lang ja # 日本語
|
|
190
|
+
npx claudeos-core init --lang en # English
|
|
191
|
+
npx claudeos-core init --lang ko # 한국어
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
> **注意:** この設定は生成されるドキュメントファイルの言語のみを変更します。コード分析(Pass 1–2)は常に英語で実行され、生成結果(Pass 3)のみ選択した言語で作成されます。コード例は元のプログラミング言語構文のまま維持されます。
|
|
195
|
+
|
|
196
|
+
これだけです。5–18 分後、すべてのドキュメントが生成され、すぐに使えます。CLI は各 Pass 実行時にパーセント、経過時間、推定残り時間を含むプログレスバーを表示します。
|
|
197
|
+
|
|
198
|
+
### 手動ステップバイステップインストール
|
|
199
|
+
|
|
200
|
+
各フェーズを完全に制御したい場合、または自動パイプラインが途中で失敗した場合、各ステージを手動で実行できます。ClaudeOS-Core の内部動作を理解するのにも役立ちます。
|
|
201
|
+
|
|
202
|
+
#### Step 1:クローンと依存関係のインストール
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
cd /your/project/root
|
|
206
|
+
|
|
207
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
208
|
+
cd claudeos-core-tools && npm install && cd ..
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
#### Step 2:ディレクトリ構造の作成
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Rules
|
|
215
|
+
mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
|
|
216
|
+
|
|
217
|
+
# Standards
|
|
218
|
+
mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
|
|
219
|
+
|
|
220
|
+
# Skills
|
|
221
|
+
mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
|
|
222
|
+
|
|
223
|
+
# Guide, Plan, Database, MCP, Generated
|
|
224
|
+
mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
|
|
225
|
+
mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
#### Step 3:plan-installer の実行(プロジェクト分析)
|
|
229
|
+
|
|
230
|
+
プロジェクトをスキャンし、スタックを検出、ドメインを発見、グループに分割、プロンプトを生成します。
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**出力(`claudeos-core/generated/`):**
|
|
237
|
+
- `project-analysis.json` — 検出されたスタック、ドメイン、フロントエンド情報
|
|
238
|
+
- `domain-groups.json` — Pass 1 用ドメイングループ
|
|
239
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — 分析プロンプト
|
|
240
|
+
- `pass2-prompt.md` — 統合プロンプト
|
|
241
|
+
- `pass3-prompt.md` — 生成プロンプト
|
|
242
|
+
|
|
243
|
+
続行する前に、これらのファイルを確認して検出精度を検証できます。
|
|
244
|
+
|
|
245
|
+
#### Step 4:Pass 1 — ドメイングループごとの深層コード分析
|
|
246
|
+
|
|
247
|
+
各ドメイングループに対して Pass 1 を実行します。`domain-groups.json` でグループ数を確認してください。
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Check groups
|
|
251
|
+
cat claudeos-core/generated/domain-groups.json | node -e "
|
|
252
|
+
const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
|
|
253
|
+
g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
|
|
254
|
+
"
|
|
255
|
+
|
|
256
|
+
# Run Pass 1 for group 1:
|
|
257
|
+
cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
|
|
258
|
+
DOMAIN_LIST="user, order, product" PASS_NUM=1 \
|
|
259
|
+
perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
|
|
260
|
+
cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
|
|
261
|
+
|
|
262
|
+
# フロントエンドグループは pass1-frontend-prompt.md を使用してください
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**確認:** `ls claudeos-core/generated/pass1-*.json` でグループごとに1つの JSON があることを確認。
|
|
266
|
+
|
|
267
|
+
#### Step 5:Pass 2 — 分析結果の統合
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
271
|
+
| claude -p --dangerously-skip-permissions
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**確認:** `claudeos-core/generated/pass2-merged.json` が存在し、9つ以上のトップレベルキーがあること。
|
|
275
|
+
|
|
276
|
+
#### Step 6:Pass 3 — 全ドキュメント生成
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
280
|
+
| claude -p --dangerously-skip-permissions
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**確認:** プロジェクトルートに `CLAUDE.md` が存在すること。
|
|
284
|
+
|
|
285
|
+
#### Step 7:検証ツールの実行
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
# メタデータ生成(他のチェックの前に必須)
|
|
289
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
290
|
+
|
|
291
|
+
# 全チェック実行
|
|
292
|
+
node claudeos-core-tools/health-checker/index.js
|
|
293
|
+
|
|
294
|
+
# または個別チェック:
|
|
295
|
+
node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
|
|
296
|
+
node claudeos-core-tools/sync-checker/index.js # Sync status
|
|
297
|
+
node claudeos-core-tools/content-validator/index.js # Content quality
|
|
298
|
+
node claudeos-core-tools/pass-json-validator/index.js # JSON format
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
#### Step 8:結果の確認
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
|
|
305
|
+
head -30 CLAUDE.md
|
|
306
|
+
ls .claude/rules/*/
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
> **ヒント:** 特定のステップで失敗した場合、そのステップだけを再実行できます。Pass 1/2 の結果はキャッシュされます — `pass1-N.json` や `pass2-merged.json` が既に存在する場合、自動パイプラインはスキップします。`npx claudeos-core init --force` を使用すると、以前の結果を削除して最初からやり直します。
|
|
310
|
+
|
|
311
|
+
### 使い始める
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
# Claude Code で自然言語で話しかけるだけ:
|
|
315
|
+
「注文ドメインの CRUD を作成して」
|
|
316
|
+
「ユーザー認証 API を追加して」
|
|
317
|
+
「このコードをプロジェクトのパターンに合わせてリファクタリングして」
|
|
318
|
+
|
|
319
|
+
# Claude Code が生成された Standards、Rules、Skills を自動参照します。
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 仕組み — 3-Pass パイプライン
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
npx claudeos-core init
|
|
328
|
+
│
|
|
329
|
+
├── [1] npm install ← 依存関係インストール(~10秒)
|
|
330
|
+
├── [2] ディレクトリ構造作成 ← フォルダ作成(~1秒)
|
|
331
|
+
├── [3] plan-installer (Node.js) ← プロジェクトスキャン(~5秒)
|
|
332
|
+
│ ├── スタック自動検出(マルチスタック対応)
|
|
333
|
+
│ ├── ドメインリスト抽出(backend/frontend タグ付き)
|
|
334
|
+
│ ├── タイプ別にドメイングループ分割
|
|
335
|
+
│ └── スタック固有のプロンプト選択(タイプ別)
|
|
336
|
+
│
|
|
337
|
+
├── [4] Pass 1 × N (claude -p) ← コードディープ分析(~2-8分)
|
|
338
|
+
│ ├── ⚙️ バックエンドグループ → バックエンド専用分析プロンプト
|
|
339
|
+
│ └── 🎨 フロントエンドグループ → フロントエンド専用分析プロンプト
|
|
340
|
+
│
|
|
341
|
+
├── [5] Pass 2 × 1 (claude -p) ← 分析結果の統合(~1分)
|
|
342
|
+
│ └── すべての Pass 1 結果を統合(バックエンド + フロントエンド)
|
|
343
|
+
│
|
|
344
|
+
├── [6] Pass 3 × 1 (claude -p) ← 全ファイル生成(~3-5分)
|
|
345
|
+
│ └── 統合プロンプト(バックエンド + フロントエンドターゲット)
|
|
346
|
+
│
|
|
347
|
+
└── [7] 検証 ← ヘルスチェッカー自動実行
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### なぜ 3 Pass なのか?
|
|
351
|
+
|
|
352
|
+
**Pass 1** はソースコードを読む唯一のパスです。ドメインごとに代表ファイルを選択し、55–95 の分析カテゴリにわたってパターンを抽出します。大規模プロジェクトでは、Pass 1 はドメイングループごとに複数回実行されます。マルチスタックプロジェクト(例:Java バックエンド + React フロントエンド)では、バックエンドとフロントエンドに**それぞれ専用の分析プロンプト**が使用されます。
|
|
353
|
+
|
|
354
|
+
**Pass 2** はすべての Pass 1 結果を統合分析に統合します:共通パターン(100% 共有)、多数派パターン(50%+ 共有)、ドメイン固有パターン、重大度別アンチパターン、横断的関心事(命名、セキュリティ、DB、テスト、ロギング、パフォーマンス)。
|
|
355
|
+
|
|
356
|
+
**Pass 3** は統合された分析結果を基にファイルエコシステム全体を生成します。ソースコードは一切読みません — 分析 JSON のみを参照します。マルチスタックモードでは、生成プロンプトがバックエンドとフロントエンドのターゲットを統合し、一回のパスで両方の標準ドキュメントを生成します。
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## 生成されるファイル構造
|
|
361
|
+
|
|
362
|
+
```
|
|
363
|
+
your-project/
|
|
364
|
+
│
|
|
365
|
+
├── CLAUDE.md ← Claude Code エントリーポイント
|
|
366
|
+
│
|
|
367
|
+
├── .claude/
|
|
368
|
+
│ └── rules/ ← Glob トリガールール
|
|
369
|
+
│ ├── 00.core/
|
|
370
|
+
│ ├── 10.backend/
|
|
371
|
+
│ ├── 20.frontend/
|
|
372
|
+
│ ├── 30.security-db/
|
|
373
|
+
│ ├── 40.infra/
|
|
374
|
+
│ └── 50.sync/ ← 同期リマインダールール
|
|
375
|
+
│
|
|
376
|
+
├── claudeos-core/ ← メイン出力ディレクトリ
|
|
377
|
+
│ ├── generated/ ← 分析 JSON + 動的プロンプト
|
|
378
|
+
│ ├── standard/ ← コーディング標準(15-19 ファイル)
|
|
379
|
+
│ ├── skills/ ← CRUD スキャフォールディングスキル
|
|
380
|
+
│ ├── guide/ ← オンボーディング、FAQ、トラブルシューティング(9 ファイル)
|
|
381
|
+
│ ├── plan/ ← Master Plans(バックアップ/リストア)
|
|
382
|
+
│ ├── database/ ← DB スキーマ、マイグレーションガイド
|
|
383
|
+
│ └── mcp-guide/ ← MCP サーバー連携ガイド
|
|
384
|
+
│
|
|
385
|
+
└── claudeos-core-tools/ ← 本ツールキット(変更不要)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
すべての標準ファイルに ✅ 正しい例、❌ 誤った例、ルールサマリーテーブルが含まれます — すべてあなたの実際のコードパターンから導出され、汎用テンプレートではありません。
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## プロジェクト規模による自動スケーリング
|
|
393
|
+
|
|
394
|
+
| 規模 | ドメイン数 | Pass 1 回数 | `claude -p` 合計 | 推定時間 |
|
|
395
|
+
|---|---|---|---|---|
|
|
396
|
+
| 小規模 | 1–4 | 1 | 3 | ~5分 |
|
|
397
|
+
| 中規模 | 5–8 | 2 | 4 | ~8分 |
|
|
398
|
+
| 大規模 | 9–16 | 3–4 | 5–6 | ~12分 |
|
|
399
|
+
| 超大規模 | 17+ | 5+ | 7+ | ~18分+ |
|
|
400
|
+
|
|
401
|
+
マルチスタックプロジェクト(例:Java + React)では、バックエンドとフロントエンドのドメインを合算してカウントします。バックエンド 6 + フロントエンド 4 = 合計 10 ドメインで「大規模」としてスケーリングします。
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 検証ツール
|
|
406
|
+
|
|
407
|
+
ClaudeOS-Core には生成後に自動実行される 5 つの組み込み検証ツールがあります:
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
# 全チェックを一括実行(推奨)
|
|
411
|
+
npx claudeos-core health
|
|
412
|
+
|
|
413
|
+
# 個別コマンド
|
|
414
|
+
npx claudeos-core validate # Plan ↔ ディスク比較
|
|
415
|
+
npx claudeos-core refresh # ディスク → Plan 同期
|
|
416
|
+
npx claudeos-core restore # Plan → ディスク復元
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
| ツール | 機能 |
|
|
420
|
+
|---|---|
|
|
421
|
+
| **manifest-generator** | メタデータ JSON を構築(rule-manifest、sync-map、plan-manifest) |
|
|
422
|
+
| **plan-validator** | Master Plan の `<file>` ブロックとディスクを比較 — 3 モード:check、refresh、restore |
|
|
423
|
+
| **sync-checker** | 未登録ファイル(ディスク上にあるがプランにない)と孤立エントリを検出 |
|
|
424
|
+
| **content-validator** | ファイル品質を検証 — 空ファイル、✅/❌ 例の欠落、必須セクション |
|
|
425
|
+
| **pass-json-validator** | Pass 1–3 JSON 構造、必須キー、セクション完全性を検証 |
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## Claude Code がドキュメントを使用する仕組み
|
|
430
|
+
|
|
431
|
+
ClaudeOS-Core が生成したドキュメントを Claude Code が実際に読み取る仕組みです:
|
|
432
|
+
|
|
433
|
+
### 自動的に読み取るファイル
|
|
434
|
+
|
|
435
|
+
| ファイル | タイミング | 保証 |
|
|
436
|
+
|---|---|---|
|
|
437
|
+
| `CLAUDE.md` | 毎回の会話開始時 | 常に |
|
|
438
|
+
| `.claude/rules/00.core/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
|
|
439
|
+
| `.claude/rules/10.backend/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
|
|
440
|
+
| `.claude/rules/30.security-db/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
|
|
441
|
+
| `.claude/rules/40.infra/*` | config/infraファイル編集時のみ(スコープ付きpaths) | 条件付き |
|
|
442
|
+
| `.claude/rules/50.sync/*` | claudeos-coreファイル編集時のみ(スコープ付きpaths) | 条件付き |
|
|
443
|
+
|
|
444
|
+
### ルール参照によるオンデマンド読み取り
|
|
445
|
+
|
|
446
|
+
各ルールファイル末尾の `## Reference` セクションが対応するstandardをリンクします。Claudeは現在のタスクに関連するstandardのみ読み取ります:
|
|
447
|
+
|
|
448
|
+
- `claudeos-core/standard/**` — コーディングパターン、✅/❌ 例、命名規則
|
|
449
|
+
- `claudeos-core/database/**` — DB スキーマ(クエリ、マッパー、マイグレーション用)
|
|
450
|
+
|
|
451
|
+
`00.standard-reference.md` は対応ルールのないstandardを発見するためのディレクトリです。
|
|
452
|
+
|
|
453
|
+
### 読み取らないファイル(コンテキスト節約)
|
|
454
|
+
|
|
455
|
+
standard-reference ルールの `DO NOT Read` セクションで明示的に除外されます:
|
|
456
|
+
|
|
457
|
+
| フォルダ | 除外理由 |
|
|
458
|
+
|---|---|
|
|
459
|
+
| `claudeos-core/plan/` | Master Plan バックアップ(~340KB)。`npx claudeos-core refresh` で同期。 |
|
|
460
|
+
| `claudeos-core/generated/` | ビルドメタデータ JSON。コーディング参照不要。 |
|
|
461
|
+
| `claudeos-core/guide/` | 人間向けオンボーディングガイド。 |
|
|
462
|
+
| `claudeos-core/mcp-guide/` | MCP サーバードキュメント。コーディング参照不要。 |
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
|
|
466
|
+
## 日常ワークフロー
|
|
467
|
+
|
|
468
|
+
### インストール後
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
# 通常通り Claude Code を使うだけ — 標準を自動参照します:
|
|
472
|
+
「注文ドメインの CRUD を作成して」
|
|
473
|
+
「ユーザープロフィール更新 API を追加して」
|
|
474
|
+
「このコードをプロジェクトのパターンに合わせてリファクタリングして」
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### 標準ファイルを手動編集した後
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
# standard や rules ファイルを編集した後:
|
|
481
|
+
npx claudeos-core refresh
|
|
482
|
+
|
|
483
|
+
# 整合性を検証
|
|
484
|
+
npx claudeos-core health
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### ドキュメントが破損した場合
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
# Master Plan からすべて復元
|
|
491
|
+
npx claudeos-core restore
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### CI/CD 統合
|
|
495
|
+
|
|
496
|
+
```yaml
|
|
497
|
+
# GitHub Actions の例
|
|
498
|
+
- run: npx claudeos-core validate
|
|
499
|
+
# 終了コード 1 で PR をブロック
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 何が違うのか?
|
|
505
|
+
|
|
506
|
+
### 他の Claude Code ツールとの比較
|
|
507
|
+
|
|
508
|
+
| | ClaudeOS-Core | Everything Claude Code (50K+ ⭐) | Harness | specs-generator | Claude `/init` |
|
|
509
|
+
|---|---|---|---|---|---|
|
|
510
|
+
| **アプローチ** | コードが先に分析、LLMが生成 | 既製設定プリセット | LLMがエージェントチーム設計 | LLMがスペック文書生成 | LLMがCLAUDE.md作成 |
|
|
511
|
+
| **ソースコード直接分析** | ✅ Deterministic 静的分析 | ❌ | ❌ | ❌ (LLMが読む) | ❌ (LLMが読む) |
|
|
512
|
+
| **スタック検出** | コードが確定 (ORM, DB, ビルドツール, パッケージマネージャー) | N/A (スタック非依存) | LLMが推測 | LLMが推測 | LLMが推測 |
|
|
513
|
+
| **ドメイン検出** | コードが確定 (Java 5パターン, Kotlin CQRS, Next.js FSD) | N/A | LLMが推測 | N/A | N/A |
|
|
514
|
+
| **同じプロジェクト → 同じ結果** | ✅ Deterministic 分析 | ✅ (静的ファイル) | ❌ (LLM結果が変動) | ❌ (LLM結果が変動) | ❌ (LLM結果が変動) |
|
|
515
|
+
| **大規模プロジェクト** | ドメイングループ分割 (4 ドメイン / 40 ファイル) | N/A | 分割なし | 分割なし | コンテキストウィンドウ制限 |
|
|
516
|
+
| **出力** | CLAUDE.md + Rules + Standards + Skills + Guides + Plans (40-50+ ファイル) | Agents + Skills + Commands + Hooks | Agents + Skills | 6 スペック文書 | CLAUDE.md (1 ファイル) |
|
|
517
|
+
| **出力場所** | `.claude/rules/` (Claude Code自動ロード) | `.claude/` 各所 | `.claude/agents/` + `.claude/skills/` | `.claude/steering/` + `specs/` | `CLAUDE.md` |
|
|
518
|
+
| **生成後検証** | ✅ 5 自動検証ツール | ❌ | ❌ | ❌ | ❌ |
|
|
519
|
+
| **多言語出力** | ✅ 10 言語 | ❌ | ❌ | ❌ | ❌ |
|
|
520
|
+
| **マルチスタック** | ✅ バックエンド + フロントエンド同時 | ❌ スタック非依存 | ❌ | ❌ | 部分的 |
|
|
521
|
+
| **エージェントオーケストレーション** | ❌ | ✅ 28 エージェント | ✅ 6 パターン | ❌ | ❌ |
|
|
522
|
+
|
|
523
|
+
### 核心的な違い一言
|
|
524
|
+
|
|
525
|
+
**他のツールは Claude に「一般的に良い指示」を与えます。ClaudeOS-Core は Claude に「実際のコードから抽出した指示」を与えます。**
|
|
526
|
+
|
|
527
|
+
だから Claude Code が MyBatis プロジェクトで JPA コードを生成することがなくなり、
|
|
528
|
+
`success()` の代わりに `ok()` を使うミスがなくなり、
|
|
529
|
+
`controller/user/` 構造なのに `user/controller/` を作ることがなくなります。
|
|
530
|
+
|
|
531
|
+
### 競合ではなく補完
|
|
532
|
+
|
|
533
|
+
ClaudeOS-Core は**プロジェクト固有のルールと標準**に集中します。
|
|
534
|
+
他のツールは**エージェントオーケストレーションとワークフロー**に集中します。
|
|
535
|
+
|
|
536
|
+
ClaudeOS-Core でプロジェクトルールを生成し、その上に ECC や Harness を載せてエージェントチームとワークフロー自動化を構成できます。異なる問題を解決するツールです。
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
## FAQ
|
|
540
|
+
|
|
541
|
+
**Q:ソースコードは変更されますか?**
|
|
542
|
+
いいえ。`CLAUDE.md`、`.claude/rules/`、`claudeos-core/` のみ作成します。既存のコードは一切変更されません。
|
|
543
|
+
|
|
544
|
+
**Q:コストはどのくらいですか?**
|
|
545
|
+
`claude -p` を 3–7 回呼び出します。Claude Code の通常使用範囲内です。
|
|
546
|
+
|
|
547
|
+
**Q:生成されたファイルを Git にコミットすべきですか?**
|
|
548
|
+
推奨します。チームで同じ Claude Code 標準を共有できます。`claudeos-core/generated/` は `.gitignore` に追加することを検討してください(分析 JSON は再生成可能です)。
|
|
549
|
+
|
|
550
|
+
**Q:混合スタックプロジェクト(例:Java バックエンド + React フロントエンド)はどうなりますか?**
|
|
551
|
+
完全対応しています。ClaudeOS-Core は両方のスタックを自動検出し、ドメインを `backend` または `frontend` としてタグ付けし、それぞれにスタック固有の分析プロンプトを使用します。Pass 2 がすべてを統合し、Pass 3 がバックエンドとフロントエンドの標準を一回のパスで生成します。
|
|
552
|
+
|
|
553
|
+
**Q:再実行するとどうなりますか?**
|
|
554
|
+
以前の Pass 1/2 の結果が存在する場合、インタラクティブプロンプトが表示されます:**Continue**(中断した箇所から再開)または **Fresh**(すべて削除して最初からやり直し)。`--force` を使用するとプロンプトをスキップし、常に最初からやり直します。Pass 3 は常に再実行されます。以前のバージョンは Master Plans から復元できます。
|
|
555
|
+
|
|
556
|
+
**Q:NestJSはExpressと同じテンプレートを使用しますか?**
|
|
557
|
+
NestJSは専用の`node-nestjs`テンプレートを使用し、NestJS固有の分析カテゴリ(`@Module`、`@Injectable`、`@Controller`デコレータ、Guards、Pipes、Interceptors、DIコンテナ、CQRSパターン、`Test.createTestingModule`)を含みます。Expressプロジェクトは別の`node-express`テンプレートを使用します。
|
|
558
|
+
|
|
559
|
+
**Q:Vue/Nuxtプロジェクトはどうですか?**
|
|
560
|
+
Vue/Nuxtは専用の`vue-nuxt`テンプレートを使用し、Composition API、`<script setup>`、defineProps/defineEmits、Piniaストア、`useFetch`/`useAsyncData`、Nitroサーバールート、`@nuxt/test-utils`をカバーします。Next.js/Reactプロジェクトは`node-nextjs`テンプレートを使用します。
|
|
561
|
+
|
|
562
|
+
**Q:Turborepo/pnpm workspaces/Lernaモノレポで動作しますか?**
|
|
563
|
+
はい。ClaudeOS-Coreは`turbo.json`、`pnpm-workspace.yaml`、`lerna.json`、または`package.json#workspaces`を検出し、サブパッケージの`package.json`ファイルからフレームワーク/ORM/DB依存関係を自動スキャンします。ドメインスキャンは`apps/*/src/`と`packages/*/src/`パターンに対応します。モノレポルートから実行してください。
|
|
564
|
+
|
|
565
|
+
**Q:Kotlinはサポートしていますか?**
|
|
566
|
+
はい。ClaudeOS-Coreは`build.gradle.kts`またはkotlinプラグインのある`build.gradle`からKotlinを自動検出します。Kotlin専用の`kotlin-spring`テンプレートを使用して、data class、sealed class、コルーチン、拡張関数、MockKなどKotlin固有のパターンを分析します。
|
|
567
|
+
|
|
568
|
+
**Q:CQRS / BFFアーキテクチャは?**
|
|
569
|
+
Kotlinマルチモジュールプロジェクトで完全にサポートされています。`settings.gradle.kts`を読み取り、モジュール名からモジュールタイプ(command、query、bff、integration)を検出し、同じドメインのCommand/Queryモジュールをグループ化します。生成される標準には、commandコントローラーとqueryコントローラーの個別ルール、BFF/Feignパターン、モジュール間通信規約が含まれます。
|
|
570
|
+
|
|
571
|
+
**Q:Gradleマルチモジュールmonorepoは?**
|
|
572
|
+
ClaudeOS-Coreはネストの深さに関係なく、すべてのサブモジュール(`**/src/main/kotlin/**/*.kt`)をスキャンします。モジュールタイプは命名規則から推測されます(例:`reservation-command-server` → ドメイン:`reservation`、タイプ:`command`)。共有ライブラリ(`shared-lib`、`integration-lib`)も検出されます。
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## テンプレート構造
|
|
577
|
+
|
|
578
|
+
```
|
|
579
|
+
pass-prompts/templates/
|
|
580
|
+
├── common/ # 共有ヘッダー/フッター
|
|
581
|
+
├── java-spring/ # Java / Spring Boot
|
|
582
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
583
|
+
├── node-express/ # Node.js / Express
|
|
584
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
585
|
+
├── node-nextjs/ # Next.js / React
|
|
586
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
587
|
+
├── python-django/ # Python / Django (DRF)
|
|
588
|
+
├── node-fastify/ # Node.js / Fastify
|
|
589
|
+
├── angular/ # Angular
|
|
590
|
+
└── python-fastapi/ # Python / FastAPI
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
`plan-installer` がスタックを自動検出し、タイプ固有のプロンプトを組み立てます。NestJSとVue/Nuxtはフレームワーク固有の分析カテゴリを含む専用テンプレートを使用します(例:NestJSの`@Module`/`@Injectable`/Guards、Vueの`<script setup>`/Pinia/useFetch)。マルチスタックプロジェクトでは、`pass1-backend-prompt.md` と `pass1-frontend-prompt.md` が個別に生成され、`pass3-prompt.md` は両方のスタックの生成ターゲットを統合します。
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
## Monorepo サポート
|
|
598
|
+
|
|
599
|
+
ClaudeOS-Core はJS/TSモノレポ構成を自動検出し、サブパッケージの依存関係をスキャンします。
|
|
600
|
+
|
|
601
|
+
**サポートされるモノレポマーカー**(自動検出):
|
|
602
|
+
- `turbo.json`(Turborepo)
|
|
603
|
+
- `pnpm-workspace.yaml`(pnpm workspaces)
|
|
604
|
+
- `lerna.json`(Lerna)
|
|
605
|
+
- `package.json#workspaces`(npm/yarn workspaces)
|
|
606
|
+
|
|
607
|
+
**モノレポルートから実行してください** — ClaudeOS-Core は `apps/*/package.json` と `packages/*/package.json` を読み取り、サブパッケージ全体のフレームワーク/ORM/DB依存関係を検出します:
|
|
608
|
+
|
|
609
|
+
```bash
|
|
610
|
+
cd my-monorepo
|
|
611
|
+
npx claudeos-core init
|
|
612
|
+
```
|
|
613
|
+
|
|
614
|
+
**検出される内容:**
|
|
615
|
+
- `apps/web/package.json` の依存関係(例:`next`、`react`)→ フロントエンドスタック
|
|
616
|
+
- `apps/api/package.json` の依存関係(例:`express`、`prisma`)→ バックエンドスタック
|
|
617
|
+
- `packages/db/package.json` の依存関係(例:`drizzle-orm`)→ ORM/DB
|
|
618
|
+
- `pnpm-workspace.yaml` のカスタムワークスペースパス(例:`services/*`)
|
|
619
|
+
|
|
620
|
+
**ドメインスキャンもモノレポレイアウトに対応:**
|
|
621
|
+
- `apps/api/src/modules/*/` と `apps/api/src/*/` でバックエンドドメインを検出
|
|
622
|
+
- `apps/web/app/*/`、`apps/web/src/app/*/`、`apps/web/pages/*/` でフロントエンドドメインを検出
|
|
623
|
+
- `packages/*/src/*/` で共有パッケージドメインを検出
|
|
624
|
+
|
|
625
|
+
```
|
|
626
|
+
my-monorepo/ ← ここで実行:npx claudeos-core init
|
|
627
|
+
├── turbo.json ← Turborepo として自動検出
|
|
628
|
+
├── apps/
|
|
629
|
+
│ ├── web/ ← apps/web/package.json から Next.js を検出
|
|
630
|
+
│ │ ├── app/dashboard/ ← フロントエンドドメインを検出
|
|
631
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
632
|
+
│ └── api/ ← apps/api/package.json から Express を検出
|
|
633
|
+
│ ├── src/modules/users/ ← バックエンドドメインを検出
|
|
634
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
635
|
+
├── packages/
|
|
636
|
+
│ ├── db/ ← packages/db/package.json から Drizzle を検出
|
|
637
|
+
│ └── ui/
|
|
638
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
> **注意:** Kotlin/Javaモノレポの場合、マルチモジュール検出は `settings.gradle.kts` を使用します(上記の[Kotlin マルチモジュールドメイン検出](#kotlin-マルチモジュールドメイン検出)を参照)。JSモノレポマーカーは不要です。
|
|
642
|
+
|
|
643
|
+
## トラブルシューティング
|
|
644
|
+
|
|
645
|
+
**"claude: command not found"** — Claude Code CLI がインストールされていないか、PATH に含まれていません。[Claude Code ドキュメント](https://code.claude.com/docs/en/overview)を参照してください。
|
|
646
|
+
|
|
647
|
+
**"npm install failed"** — Node.js のバージョンが低い可能性があります。v18+ が必要です。
|
|
648
|
+
|
|
649
|
+
**"0 domains detected"** — プロジェクト構造が非標準の可能性があります。[韓国語ドキュメント](./README.ko.md#트러블슈팅)であなたのスタックの検出パターンを確認してください。
|
|
650
|
+
|
|
651
|
+
**Kotlin プロジェクトで「0 ドメイン検出」** — プロジェクトルートに `build.gradle.kts`(または kotlin プラグインのある `build.gradle`)が存在し、ソースファイルが `**/src/main/kotlin/` 配下にあることを確認してください。マルチモジュールプロジェクトの場合、`settings.gradle.kts` に `include()` 文が含まれている必要があります。単一モジュールの Kotlin プロジェクト(`settings.gradle` なし)もサポートされます — `src/main/kotlin/` 配下のパッケージ/クラス構造からドメインを抽出します。
|
|
652
|
+
|
|
653
|
+
**「言語が kotlin ではなく java として検出される」** — ClaudeOS-Core はまずルートの `build.gradle(.kts)` を確認し、次にサブモジュールのビルドファイルを確認します。少なくとも1つの `build.gradle.kts` に `kotlin("jvm")` または `org.jetbrains.kotlin` が含まれていることを確認してください。
|
|
654
|
+
|
|
655
|
+
**「CQRS が検出されない」** — アーキテクチャ検出はモジュール名に `command` と `query` キーワードが含まれている必要があります。モジュールが異なる命名を使用している場合、plan-installer 実行後に生成されたプロンプトを手動で調整できます。
|
|
656
|
+
|
|
657
|
+
---
|
|
658
|
+
|
|
659
|
+
## コントリビューション
|
|
660
|
+
|
|
661
|
+
コントリビューションを歓迎します!最も支援が必要な領域:
|
|
662
|
+
|
|
663
|
+
- **新しいスタックテンプレート** — Ruby/Rails、Go/Gin、PHP/Laravel、Rust/Axum
|
|
664
|
+
- **Monorepo の深いサポート** — 独立したサブプロジェクトルート、ワークスペース検出
|
|
665
|
+
- **テストカバレッジ** — テストスイート拡大中(現在 269 テスト、全スキャナー、スタック検出、ドメイングルーピング、プラン解析、プロンプト生成、CLIセレクター、モノレポ検出、検証ツール、Vite SPA 検出をカバー)
|
|
666
|
+
|
|
667
|
+
---
|
|
668
|
+
|
|
669
|
+
## 作者
|
|
670
|
+
|
|
671
|
+
**claudeos-core** が作成 — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
|
|
672
|
+
|
|
673
|
+
## ライセンス
|
|
674
|
+
|
|
675
|
+
ISC
|