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.fr.md
CHANGED
|
@@ -1,655 +1,657 @@
|
|
|
1
|
-
# ClaudeOS-Core
|
|
2
|
-
|
|
3
|
-
**Le seul outil qui lit d'abord votre code source, confirme votre stack et vos patterns par une analyse déterministe, puis génère des règles Claude Code adaptées exactement à votre projet.**
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npx claudeos-core init
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
ClaudeOS-Core lit votre codebase, extrait chaque pattern qu'il trouve et génère un ensemble complet de Standards, Rules, Skills et Guides adaptés à _votre_ projet. Ensuite, quand vous dites à Claude Code « Crée un CRUD pour les commandes », il produit du code qui correspond exactement à vos patterns existants.
|
|
10
|
-
|
|
11
|
-
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Pourquoi ClaudeOS-Core ?
|
|
16
|
-
|
|
17
|
-
> L'humain décrit le projet → Le LLM génère la documentation
|
|
18
|
-
|
|
19
|
-
ClaudeOS-Core:
|
|
20
|
-
|
|
21
|
-
> Le code analyse vos sources → Le code construit un prompt personnalisé → Le LLM génère la documentation → Le code vérifie la sortie
|
|
22
|
-
|
|
23
|
-
### Le problème fondamental : les LLMs devinent. Le code confirme.
|
|
24
|
-
|
|
25
|
-
Quand vous demandez à Claude d'« analyser ce projet », il **devine** votre stack, ORM, structure de domaines.
|
|
26
|
-
|
|
27
|
-
**ClaudeOS-Core ne devine pas.** Claude Node.js:
|
|
28
|
-
|
|
29
|
-
- `build.gradle` / `package.json` / `pyproject.toml` → **confirmed**
|
|
30
|
-
- directory scan → **confirmed**
|
|
31
|
-
- Java 5 patterns, Kotlin CQRS/BFF, Next.js App Router/FSD → **classified**
|
|
32
|
-
- domain groups → **split**
|
|
33
|
-
- stack-specific prompt → **assembled**
|
|
34
|
-
|
|
35
|
-
### Le résultat
|
|
36
|
-
|
|
37
|
-
Les autres outils produisent une documentation « généralement bonne ».
|
|
38
|
-
ClaudeOS-Core produit une documentation qui sait que votre projet utilise `ApiResponse.ok()` (pas `ResponseEntity.success()`), que vos mappers MyBatis XML sont dans `src/main/resources/mybatis/mappers/` — parce qu'il a lu votre vrai code.
|
|
39
|
-
|
|
40
|
-
### Before & After
|
|
41
|
-
|
|
42
|
-
**Sans ClaudeOS-Core**:
|
|
43
|
-
```
|
|
44
|
-
❌ JPA repository (MyBatis)
|
|
45
|
-
❌ ResponseEntity.success() (ApiResponse.ok())
|
|
46
|
-
❌ order/controller/ (controller/order/)
|
|
47
|
-
→ 20 min fix per file
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Avec ClaudeOS-Core**:
|
|
51
|
-
```
|
|
52
|
-
✅ MyBatis mapper + XML (build.gradle)
|
|
53
|
-
✅ ApiResponse.ok() (source code)
|
|
54
|
-
✅ controller/order/ (Pattern A)
|
|
55
|
-
→ immediate match
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Cette différence s'accumule. 10 tâches/jour × 20 minutes économisées = **plus de 3 heures/jour**.
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Stacks Supportés
|
|
63
|
-
|
|
64
|
-
| Stack | Détection | Profondeur d'Analyse |
|
|
65
|
-
|---|---|---|
|
|
66
|
-
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patterns de paquets | 10 catégories, 59 sous-éléments |
|
|
67
|
-
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 catégories, 95 sous-éléments |
|
|
68
|
-
| **Node.js / Express** | `package.json` | 9 catégories, 57 sous-éléments |
|
|
69
|
-
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 catégories, 68 sous-éléments |
|
|
70
|
-
| **Next.js / React** | `package.json`, `next.config.*`, support FSD | 9 catégories, 55 sous-éléments |
|
|
71
|
-
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 catégories, 58 sous-éléments |
|
|
72
|
-
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 catégories, 55 sous-éléments |
|
|
73
|
-
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 catégories, 58 sous-éléments |
|
|
74
|
-
| **Node.js / Fastify** | `package.json` | 10 catégories, 62 sous-éléments |
|
|
75
|
-
| **
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
npx claudeos-core init --lang
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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
|
-
node claudeos-core-tools/
|
|
286
|
-
node claudeos-core-tools/
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
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
|
-
**Pass
|
|
343
|
-
|
|
344
|
-
**Pass
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
│
|
|
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
|
-
npx claudeos-core
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
|
410
|
-
|
|
411
|
-
| **
|
|
412
|
-
| **
|
|
413
|
-
| **
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
|
426
|
-
|
|
427
|
-
|
|
|
428
|
-
| `.claude/rules/
|
|
429
|
-
| `.claude/rules/
|
|
430
|
-
| `.claude/rules/
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
`
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
|
448
|
-
|
|
449
|
-
| `claudeos-core/
|
|
450
|
-
| `claudeos-core/
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
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
|
-
├── node-
|
|
566
|
-
├── node-
|
|
567
|
-
├──
|
|
568
|
-
├──
|
|
569
|
-
├──
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
- `
|
|
585
|
-
- `
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
- Dépendances de `
|
|
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
|
-
|
|
1
|
+
# ClaudeOS-Core
|
|
2
|
+
|
|
3
|
+
**Le seul outil qui lit d'abord votre code source, confirme votre stack et vos patterns par une analyse déterministe, puis génère des règles Claude Code adaptées exactement à votre projet.**
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx claudeos-core init
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
ClaudeOS-Core lit votre codebase, extrait chaque pattern qu'il trouve et génère un ensemble complet de Standards, Rules, Skills et Guides adaptés à _votre_ projet. Ensuite, quand vous dites à Claude Code « Crée un CRUD pour les commandes », il produit du code qui correspond exactement à vos patterns existants.
|
|
10
|
+
|
|
11
|
+
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Pourquoi ClaudeOS-Core ?
|
|
16
|
+
|
|
17
|
+
> L'humain décrit le projet → Le LLM génère la documentation
|
|
18
|
+
|
|
19
|
+
ClaudeOS-Core:
|
|
20
|
+
|
|
21
|
+
> Le code analyse vos sources → Le code construit un prompt personnalisé → Le LLM génère la documentation → Le code vérifie la sortie
|
|
22
|
+
|
|
23
|
+
### Le problème fondamental : les LLMs devinent. Le code confirme.
|
|
24
|
+
|
|
25
|
+
Quand vous demandez à Claude d'« analyser ce projet », il **devine** votre stack, ORM, structure de domaines.
|
|
26
|
+
|
|
27
|
+
**ClaudeOS-Core ne devine pas.** Claude Node.js:
|
|
28
|
+
|
|
29
|
+
- `build.gradle` / `package.json` / `pyproject.toml` → **confirmed**
|
|
30
|
+
- directory scan → **confirmed**
|
|
31
|
+
- Java 5 patterns, Kotlin CQRS/BFF, Next.js App Router/FSD → **classified**
|
|
32
|
+
- domain groups → **split**
|
|
33
|
+
- stack-specific prompt → **assembled**
|
|
34
|
+
|
|
35
|
+
### Le résultat
|
|
36
|
+
|
|
37
|
+
Les autres outils produisent une documentation « généralement bonne ».
|
|
38
|
+
ClaudeOS-Core produit une documentation qui sait que votre projet utilise `ApiResponse.ok()` (pas `ResponseEntity.success()`), que vos mappers MyBatis XML sont dans `src/main/resources/mybatis/mappers/` — parce qu'il a lu votre vrai code.
|
|
39
|
+
|
|
40
|
+
### Before & After
|
|
41
|
+
|
|
42
|
+
**Sans ClaudeOS-Core**:
|
|
43
|
+
```
|
|
44
|
+
❌ JPA repository (MyBatis)
|
|
45
|
+
❌ ResponseEntity.success() (ApiResponse.ok())
|
|
46
|
+
❌ order/controller/ (controller/order/)
|
|
47
|
+
→ 20 min fix per file
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Avec ClaudeOS-Core**:
|
|
51
|
+
```
|
|
52
|
+
✅ MyBatis mapper + XML (build.gradle)
|
|
53
|
+
✅ ApiResponse.ok() (source code)
|
|
54
|
+
✅ controller/order/ (Pattern A)
|
|
55
|
+
→ immediate match
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Cette différence s'accumule. 10 tâches/jour × 20 minutes économisées = **plus de 3 heures/jour**.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Stacks Supportés
|
|
63
|
+
|
|
64
|
+
| Stack | Détection | Profondeur d'Analyse |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patterns de paquets | 10 catégories, 59 sous-éléments |
|
|
67
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 catégories, 95 sous-éléments |
|
|
68
|
+
| **Node.js / Express** | `package.json` | 9 catégories, 57 sous-éléments |
|
|
69
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 catégories, 68 sous-éléments |
|
|
70
|
+
| **Next.js / React** | `package.json`, `next.config.*`, support FSD | 9 catégories, 55 sous-éléments |
|
|
71
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 catégories, 58 sous-éléments |
|
|
72
|
+
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 catégories, 55 sous-éléments |
|
|
73
|
+
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 catégories, 58 sous-éléments |
|
|
74
|
+
| **Node.js / Fastify** | `package.json` | 10 catégories, 62 sous-éléments |
|
|
75
|
+
| **Vite / React SPA** | `package.json`, `vite.config.*` | 9 catégories, 55 sous-éléments |
|
|
76
|
+
| **Angular** | `package.json`, `angular.json` | 12 catégories, 78 sous-éléments |
|
|
77
|
+
|
|
78
|
+
Détection automatique : langage et version, framework et version (y compris Vite comme framework SPA), ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, etc.), base de données (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), gestionnaire de paquets (Gradle, Maven, npm, yarn, pnpm, pip, poetry), architecture (CQRS, BFF — détecté à partir des noms de modules), structure multi-module (depuis settings.gradle), monorepo (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces).
|
|
79
|
+
|
|
80
|
+
**Vous n'avez rien à spécifier. Tout est détecté automatiquement.**
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### Détection des Domaines Java (5 patterns avec fallback)
|
|
84
|
+
|
|
85
|
+
| Priorité | Pattern | Structure | Exemple |
|
|
86
|
+
|---|---|---|---|
|
|
87
|
+
| A | Couche d'abord | `controller/{domain}/` | `controller/user/UserController.java` |
|
|
88
|
+
| B | Domaine d'abord | `{domain}/controller/` | `user/controller/UserController.java` |
|
|
89
|
+
| D | Préfixe module | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
|
|
90
|
+
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
91
|
+
| C | Plat | `controller/*.java` | `controller/UserController.java` → extrait `user` du nom de classe |
|
|
92
|
+
|
|
93
|
+
Les domaines sans contrôleurs (service uniquement) sont aussi détectés via les répertoires `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/`. Ignorés : `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2`, etc.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### Détection des domaines Kotlin multi-modules
|
|
97
|
+
|
|
98
|
+
Pour les projets Kotlin avec structure Gradle multi-modules (ex : monorepo CQRS) :
|
|
99
|
+
|
|
100
|
+
| Étape | Action | Exemple |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| 1 | Scanner `settings.gradle.kts` pour les `include()` | 14 modules trouvés |
|
|
103
|
+
| 2 | Détecter le type de module par son nom | `reservation-command-server` → type : `command` |
|
|
104
|
+
| 3 | Extraire le domaine du nom du module | `reservation-command-server` → domaine : `reservation` |
|
|
105
|
+
| 4 | Regrouper le même domaine entre modules | `reservation-command-server` + `common-query-server` → 1 domaine |
|
|
106
|
+
| 5 | Détecter l'architecture | Modules `command` + `query` présents → CQRS |
|
|
107
|
+
|
|
108
|
+
Types de modules supportés : `command`, `query`, `bff`, `integration`, `standalone`, `library`. Les bibliothèques partagées (`shared-lib`, `integration-lib`) sont détectées comme domaines spéciaux.
|
|
109
|
+
|
|
110
|
+
### Détection des Domaines Frontend
|
|
111
|
+
|
|
112
|
+
- **App Router** : `app/{domain}/page.tsx` (Next.js)
|
|
113
|
+
- **Pages Router** : `pages/{domain}/index.tsx`
|
|
114
|
+
- **FSD (Feature-Sliced Design)** : `features/*/`, `widgets/*/`, `entities/*/`
|
|
115
|
+
- **RSC/Client split** : Détecte le pattern `client.tsx`, suit la séparation Server/Client
|
|
116
|
+
- **Chemins imbriqués non standard** : détection des pages, composants et couches FSD sous `src/*/pages/`, `src/*/components/`, `src/*/features/` (ex. `src/admin/pages/dashboard/`)
|
|
117
|
+
- **Fallback config** : Détecte Next.js/Vite/Nuxt depuis les fichiers de config (support monorepo)
|
|
118
|
+
- **Fallback répertoires profonds** : Pour les projets React/CRA/Vite/Vue/RN, scanne `**/components/*/`, `**/views/*/`, `**/screens/*/`, `**/containers/*/`, `**/pages/*/`, `**/routes/*/`, `**/modules/*/`, `**/domains/*/` à toute profondeur
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Démarrage Rapide
|
|
123
|
+
|
|
124
|
+
### Prérequis
|
|
125
|
+
|
|
126
|
+
- **Node.js** v18+
|
|
127
|
+
- **Claude Code CLI** (installé et authentifié)
|
|
128
|
+
|
|
129
|
+
### Installation
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
cd /your/project/root
|
|
133
|
+
|
|
134
|
+
# Option A : npx (recommandé — aucune installation requise)
|
|
135
|
+
npx claudeos-core init
|
|
136
|
+
|
|
137
|
+
# Option B : installation globale
|
|
138
|
+
npm install -g claudeos-core
|
|
139
|
+
claudeos-core init
|
|
140
|
+
|
|
141
|
+
# Option C : devDependency du projet
|
|
142
|
+
npm install --save-dev claudeos-core
|
|
143
|
+
npx claudeos-core init
|
|
144
|
+
|
|
145
|
+
# Option D : git clone (pour développement/contribution)
|
|
146
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
147
|
+
|
|
148
|
+
# Multiplateforme (PowerShell, CMD, Bash, Zsh — tout terminal)
|
|
149
|
+
node claudeos-core-tools/bin/cli.js init
|
|
150
|
+
|
|
151
|
+
# Linux/macOS uniquement (Bash uniquement)
|
|
152
|
+
bash claudeos-core-tools/bootstrap.sh
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Langue de sortie (10 langues)
|
|
156
|
+
|
|
157
|
+
En exécutant `init` sans `--lang`, un sélecteur interactif apparaît (touches fléchées ou touches numériques) :
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
╔══════════════════════════════════════════════════╗
|
|
161
|
+
║ Select generated document language (required) ║
|
|
162
|
+
╚══════════════════════════════════════════════════╝
|
|
163
|
+
|
|
164
|
+
Les fichiers générés (CLAUDE.md, Standards, Rules,
|
|
165
|
+
Skills, Guides) seront rédigés en français.
|
|
166
|
+
|
|
167
|
+
1. en — English
|
|
168
|
+
...
|
|
169
|
+
❯ 9. fr — Français (French)
|
|
170
|
+
...
|
|
171
|
+
|
|
172
|
+
↑↓ Move 1-0 Jump Enter Select ESC Cancel
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
La description change dans la langue correspondante lors de la navigation. Pour passer le sélecteur :
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npx claudeos-core init --lang fr # Français
|
|
179
|
+
npx claudeos-core init --lang en # English
|
|
180
|
+
npx claudeos-core init --lang ko # 한국어
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
> **Note :** Ceci ne change que la langue des fichiers de documentation générés. L'analyse du code (Pass 1–2) s'exécute toujours en anglais ; seul le résultat généré (Pass 3) est écrit dans la langue choisie.
|
|
184
|
+
|
|
185
|
+
C'est tout. Après 5–18 minutes, toute la documentation est générée et prête à l'emploi.
|
|
186
|
+
Le CLI affiche une barre de progression avec pourcentage, temps écoulé et temps restant estimé pour chaque Pass.
|
|
187
|
+
|
|
188
|
+
### Installation Manuelle Étape par Étape
|
|
189
|
+
|
|
190
|
+
Si vous souhaitez un contrôle total sur chaque phase — ou si le pipeline automatisé échoue à une étape — vous pouvez exécuter chaque étape manuellement. C'est également utile pour comprendre le fonctionnement interne de ClaudeOS-Core.
|
|
191
|
+
|
|
192
|
+
#### Step 1 : Cloner et installer les dépendances
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
cd /your/project/root
|
|
196
|
+
|
|
197
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
198
|
+
cd claudeos-core-tools && npm install && cd ..
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
#### Step 2 : Créer la structure des répertoires
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Rules
|
|
205
|
+
mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
|
|
206
|
+
|
|
207
|
+
# Standards
|
|
208
|
+
mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
|
|
209
|
+
|
|
210
|
+
# Skills
|
|
211
|
+
mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
|
|
212
|
+
|
|
213
|
+
# Guide, Plan, Database, MCP, Generated
|
|
214
|
+
mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
|
|
215
|
+
mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### Step 3 : Exécuter plan-installer (analyse du projet)
|
|
219
|
+
|
|
220
|
+
Scanne votre projet, détecte le stack, trouve les domaines, les divise en groupes et génère les prompts.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Sortie (`claudeos-core/generated/`) :**
|
|
227
|
+
- `project-analysis.json` — stack détecté, domaines, info frontend
|
|
228
|
+
- `domain-groups.json` — groupes de domaines pour le Pass 1
|
|
229
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — prompts d'analyse
|
|
230
|
+
- `pass2-prompt.md` — prompt de fusion
|
|
231
|
+
- `pass3-prompt.md` — prompt de génération
|
|
232
|
+
|
|
233
|
+
Vous pouvez inspecter ces fichiers pour vérifier la précision de la détection avant de continuer.
|
|
234
|
+
|
|
235
|
+
#### Step 4 : Pass 1 — Analyse approfondie du code par groupe de domaines
|
|
236
|
+
|
|
237
|
+
Exécutez Pass 1 pour chaque groupe de domaines. Vérifiez `domain-groups.json` pour le nombre de groupes.
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Check groups
|
|
241
|
+
cat claudeos-core/generated/domain-groups.json | node -e "
|
|
242
|
+
const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
|
|
243
|
+
g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
|
|
244
|
+
"
|
|
245
|
+
|
|
246
|
+
# Run Pass 1 for group 1:
|
|
247
|
+
cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
|
|
248
|
+
DOMAIN_LIST="user, order, product" PASS_NUM=1 \
|
|
249
|
+
perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
|
|
250
|
+
cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
|
|
251
|
+
|
|
252
|
+
# Pour les groupes frontend, utilisez pass1-frontend-prompt.md
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Vérifier :** `ls claudeos-core/generated/pass1-*.json` doit afficher un JSON par groupe.
|
|
256
|
+
|
|
257
|
+
#### Step 5 : Pass 2 — Fusion des résultats d'analyse
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
261
|
+
| claude -p --dangerously-skip-permissions
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Vérifier :** `claudeos-core/generated/pass2-merged.json` doit exister avec 9+ clés de niveau supérieur.
|
|
265
|
+
|
|
266
|
+
#### Step 6 : Pass 3 — Générer toute la documentation
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
270
|
+
| claude -p --dangerously-skip-permissions
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Vérifier :** `CLAUDE.md` doit exister à la racine du projet.
|
|
274
|
+
|
|
275
|
+
#### Step 7 : Exécuter les outils de vérification
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Générer les métadonnées (requis avant les autres vérifications)
|
|
279
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
280
|
+
|
|
281
|
+
# Exécuter toutes les vérifications
|
|
282
|
+
node claudeos-core-tools/health-checker/index.js
|
|
283
|
+
|
|
284
|
+
# Ou exécuter les vérifications individuellement :
|
|
285
|
+
node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
|
|
286
|
+
node claudeos-core-tools/sync-checker/index.js # Sync status
|
|
287
|
+
node claudeos-core-tools/content-validator/index.js # Content quality
|
|
288
|
+
node claudeos-core-tools/pass-json-validator/index.js # JSON format
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
#### Step 8 : Vérifier les résultats
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
|
|
295
|
+
head -30 CLAUDE.md
|
|
296
|
+
ls .claude/rules/*/
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
> **Conseil :** Si une étape échoue, vous pouvez relancer uniquement cette étape. Les résultats Pass 1/2 sont mis en cache — si `pass1-N.json` ou `pass2-merged.json` existe déjà, le pipeline automatisé les ignore. Utilisez `npx claudeos-core init --force` pour supprimer les résultats précédents et repartir de zéro.
|
|
300
|
+
|
|
301
|
+
### Commencez à Utiliser
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
# Dans Claude Code — parlez simplement de manière naturelle :
|
|
305
|
+
"Crée un CRUD pour le domaine commandes"
|
|
306
|
+
"Ajoute une API d'authentification utilisateur"
|
|
307
|
+
"Refactorise ce code selon les patterns du projet"
|
|
308
|
+
|
|
309
|
+
# Claude Code référence automatiquement vos Standards, Rules et Skills générés.
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Comment ça Marche — Pipeline 3-Pass
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
npx claudeos-core init
|
|
318
|
+
│
|
|
319
|
+
├── [1] npm install ← Dépendances (~10s)
|
|
320
|
+
├── [2] Structure des répertoires ← Création des dossiers (~1s)
|
|
321
|
+
├── [3] plan-installer (Node.js) ← Scan du projet (~5s)
|
|
322
|
+
│ ├── Auto-détection du stack (multi-stack)
|
|
323
|
+
│ ├── Extraction de la liste des domaines (tags : backend/frontend)
|
|
324
|
+
│ ├── Division en groupes de domaines (par type)
|
|
325
|
+
│ └── Sélection des prompts spécifiques au stack (par type)
|
|
326
|
+
│
|
|
327
|
+
├── [4] Pass 1 × N (claude -p) ← Analyse approfondie du code (~2-8 min)
|
|
328
|
+
│ ├── ⚙️ Groupes backend → prompt d'analyse backend
|
|
329
|
+
│ └── 🎨 Groupes frontend → prompt d'analyse frontend
|
|
330
|
+
│
|
|
331
|
+
├── [5] Pass 2 × 1 (claude -p) ← Fusion de l'analyse (~1 min)
|
|
332
|
+
│ └── Consolidation de TOUS les résultats Pass 1 (backend + frontend)
|
|
333
|
+
│
|
|
334
|
+
├── [6] Pass 3 × 1 (claude -p) ← Génération complète (~3-5 min)
|
|
335
|
+
│ └── Prompt combiné (cibles backend + frontend)
|
|
336
|
+
│
|
|
337
|
+
└── [7] Vérification ← Exécution auto du health checker
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Pourquoi 3 Pass ?
|
|
341
|
+
|
|
342
|
+
**Pass 1** est le seul pass qui lit votre code source. Il sélectionne des fichiers représentatifs par domaine et extrait les patterns sur 55–95 catégories d'analyse (par stack). Pour les grands projets, Pass 1 s'exécute plusieurs fois — une par groupe de domaines. Dans les projets multi-stack (ex : backend Java + frontend React), backend et frontend utilisent **des prompts d'analyse différents** adaptés à chaque stack.
|
|
343
|
+
|
|
344
|
+
**Pass 2** fusionne tous les résultats de Pass 1 en une analyse unifiée : patterns communs (100% partagés), patterns majoritaires (50%+ partagés), patterns spécifiques au domaine, anti-patterns par sévérité et préoccupations transversales (nommage, sécurité, BD, tests, journalisation, performance).
|
|
345
|
+
|
|
346
|
+
**Pass 3** prend l'analyse fusionnée et génère tout l'écosystème de fichiers. Il ne lit jamais le code source — uniquement le JSON d'analyse. En mode multi-stack, le prompt de génération combine les cibles backend et frontend pour générer les deux ensembles de standards en un seul pass.
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Structure des Fichiers Générés
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
your-project/
|
|
354
|
+
│
|
|
355
|
+
├── CLAUDE.md ← Point d'entrée Claude Code
|
|
356
|
+
│
|
|
357
|
+
├── .claude/
|
|
358
|
+
│ └── rules/ ← Règles déclenchées par Glob
|
|
359
|
+
│ ├── 00.core/
|
|
360
|
+
│ ├── 10.backend/
|
|
361
|
+
│ ├── 20.frontend/
|
|
362
|
+
│ ├── 30.security-db/
|
|
363
|
+
│ ├── 40.infra/
|
|
364
|
+
│ └── 50.sync/ ← Règles de rappel de synchronisation
|
|
365
|
+
│
|
|
366
|
+
├── claudeos-core/ ← Répertoire principal de sortie
|
|
367
|
+
│ ├── generated/ ← JSON d'analyse + prompts dynamiques
|
|
368
|
+
│ ├── standard/ ← Standards de code (15-19 fichiers)
|
|
369
|
+
│ ├── skills/ ← Skills de scaffolding CRUD
|
|
370
|
+
│ ├── guide/ ← Onboarding, FAQ, dépannage (9 fichiers)
|
|
371
|
+
│ ├── plan/ ← Master Plans (sauvegarde/restauration)
|
|
372
|
+
│ ├── database/ ← Schéma BD, guide de migration
|
|
373
|
+
│ └── mcp-guide/ ← Guide d'intégration serveur MCP
|
|
374
|
+
│
|
|
375
|
+
└── claudeos-core-tools/ ← Ce toolkit (ne pas modifier)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Chaque fichier de standard inclut des exemples ✅ corrects, des exemples ❌ incorrects et un tableau récapitulatif des règles — le tout dérivé de vos patterns de code réels, pas de templates génériques.
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Auto-dimensionnement par Taille de Projet
|
|
383
|
+
|
|
384
|
+
| Taille | Domaines | Exécutions Pass 1 | Total `claude -p` | Temps Estimé |
|
|
385
|
+
|---|---|---|---|---|
|
|
386
|
+
| Petit | 1–4 | 1 | 3 | ~5 min |
|
|
387
|
+
| Moyen | 5–8 | 2 | 4 | ~8 min |
|
|
388
|
+
| Grand | 9–16 | 3–4 | 5–6 | ~12 min |
|
|
389
|
+
| Très Grand | 17+ | 5+ | 7+ | ~18 min+ |
|
|
390
|
+
|
|
391
|
+
Pour les projets multi-stack (ex : Java + React), les domaines backend et frontend sont comptés ensemble. 6 backend + 4 frontend = 10 domaines, dimensionné comme « Grand ».
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Outils de Vérification
|
|
396
|
+
|
|
397
|
+
ClaudeOS-Core inclut 5 outils de vérification intégrés, exécutés automatiquement après la génération :
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# Exécuter toutes les vérifications (recommandé)
|
|
401
|
+
npx claudeos-core health
|
|
402
|
+
|
|
403
|
+
# Commandes individuelles
|
|
404
|
+
npx claudeos-core validate # Comparaison Plan ↔ disque
|
|
405
|
+
npx claudeos-core refresh # Synchronisation Disque → Plan
|
|
406
|
+
npx claudeos-core restore # Restauration Plan → Disque
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
| Outil | Fonction |
|
|
410
|
+
|---|---|
|
|
411
|
+
| **manifest-generator** | Construit les JSON de métadonnées (rule-manifest, sync-map, plan-manifest) |
|
|
412
|
+
| **plan-validator** | Compare les blocs `<file>` du Master Plan avec le disque — 3 modes : check, refresh, restore |
|
|
413
|
+
| **sync-checker** | Détecte les fichiers non enregistrés (sur disque mais pas dans le plan) et les entrées orphelines |
|
|
414
|
+
| **content-validator** | Valide la qualité des fichiers — fichiers vides, exemples ✅/❌ manquants, sections requises |
|
|
415
|
+
| **pass-json-validator** | Valide la structure JSON des Pass 1–3, clés requises et complétude des sections |
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## Comment Claude Code Utilise Votre Documentation
|
|
420
|
+
|
|
421
|
+
Voici comment Claude Code lit effectivement la documentation générée par ClaudeOS-Core :
|
|
422
|
+
|
|
423
|
+
### Fichiers lus automatiquement
|
|
424
|
+
|
|
425
|
+
| Fichier | Quand | Garanti |
|
|
426
|
+
|---|---|---|
|
|
427
|
+
| `CLAUDE.md` | Au début de chaque conversation | Toujours |
|
|
428
|
+
| `.claude/rules/00.core/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
|
|
429
|
+
| `.claude/rules/10.backend/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
|
|
430
|
+
| `.claude/rules/30.security-db/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
|
|
431
|
+
| `.claude/rules/40.infra/*` | Uniquement pour les fichiers config/infra (paths scopés) | Conditionnel |
|
|
432
|
+
| `.claude/rules/50.sync/*` | Uniquement pour les fichiers claudeos-core (paths scopés) | Conditionnel |
|
|
433
|
+
|
|
434
|
+
### Fichiers lus à la demande via les références des règles
|
|
435
|
+
|
|
436
|
+
Chaque fichier de règle lie son standard correspondant dans la section `## Reference`. Claude ne lit que le standard pertinent pour la tâche en cours :
|
|
437
|
+
|
|
438
|
+
- `claudeos-core/standard/**` — Patterns de code, exemples ✅/❌, conventions de nommage
|
|
439
|
+
- `claudeos-core/database/**` — Schéma DB (pour requêtes, mappers, migrations)
|
|
440
|
+
|
|
441
|
+
`00.standard-reference.md` sert de répertoire pour découvrir les standards sans règle correspondante.
|
|
442
|
+
|
|
443
|
+
### Fichiers NON lus (économie de contexte)
|
|
444
|
+
|
|
445
|
+
Explicitement exclus par la section `DO NOT Read` de la règle standard-reference :
|
|
446
|
+
|
|
447
|
+
| Dossier | Raison d'exclusion |
|
|
448
|
+
|---|---|
|
|
449
|
+
| `claudeos-core/plan/` | Sauvegardes Master Plan (~340Ko). Utilisez `npx claudeos-core refresh` pour synchroniser. |
|
|
450
|
+
| `claudeos-core/generated/` | JSON de métadonnées build. Pas une référence de code. |
|
|
451
|
+
| `claudeos-core/guide/` | Guides d'onboarding pour humains. |
|
|
452
|
+
| `claudeos-core/mcp-guide/` | Docs serveur MCP. Pas une référence de code. |
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Flux de Travail Quotidien
|
|
457
|
+
|
|
458
|
+
### Après l'Installation
|
|
459
|
+
|
|
460
|
+
```
|
|
461
|
+
# Utilisez Claude Code normalement — il référence vos standards automatiquement :
|
|
462
|
+
"Crée un CRUD pour le domaine commandes"
|
|
463
|
+
"Ajoute une API de mise à jour du profil utilisateur"
|
|
464
|
+
"Refactorise ce code selon les patterns du projet"
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Après Modification Manuelle des Standards
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
# Après avoir édité des fichiers standard ou rules :
|
|
471
|
+
npx claudeos-core refresh
|
|
472
|
+
|
|
473
|
+
# Vérifier la cohérence
|
|
474
|
+
npx claudeos-core health
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### Quand les Docs sont Corrompus
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
# Tout restaurer depuis le Master Plan
|
|
481
|
+
npx claudeos-core restore
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Intégration CI/CD
|
|
485
|
+
|
|
486
|
+
```yaml
|
|
487
|
+
# Exemple GitHub Actions
|
|
488
|
+
- run: npx claudeos-core validate
|
|
489
|
+
# Code de sortie 1 bloque la PR
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
## Quelle Différence ?
|
|
495
|
+
|
|
496
|
+
| | ClaudeOS-Core | Everything Claude Code (50K+ ⭐) | Harness | specs-generator | Claude `/init` |
|
|
497
|
+
|---|---|---|---|---|---|
|
|
498
|
+
| **Approach** | Code analyzes first, then LLM generates | Pre-built config presets | LLM designs agent teams | LLM generates spec docs | LLM writes CLAUDE.md |
|
|
499
|
+
| **Reads your source code** | ✅ Deterministic static analysis | ❌ | ❌ | ❌ (LLM reads) | ❌ (LLM reads) |
|
|
500
|
+
| **Stack detection** | Code confirms (ORM, DB, build tool, pkg manager) | N/A (stack-agnostic) | LLM guesses | LLM guesses | LLM guesses |
|
|
501
|
+
| **Domain detection** | Code confirms (Java 5 patterns, Kotlin CQRS, Next.js FSD) | N/A | LLM guesses | N/A | N/A |
|
|
502
|
+
| **Same project → Same result** | ✅ Deterministic analysis | ✅ (static files) | ❌ (LLM varies) | ❌ (LLM varies) | ❌ (LLM varies) |
|
|
503
|
+
| **Large project handling** | Domain group splitting (4 domains / 40 files per group) | N/A | No splitting | No splitting | Context window limit |
|
|
504
|
+
| **Output** | CLAUDE.md + Rules + Standards + Skills + Guides + Plans (40-50+ files) | Agents + Skills + Commands + Hooks | Agents + Skills | 6 spec documents | CLAUDE.md (1 file) |
|
|
505
|
+
| **Output location** | `.claude/rules/` (auto-loaded by Claude Code) | `.claude/` various | `.claude/agents/` + `.claude/skills/` | `.claude/steering/` + `specs/` | `CLAUDE.md` |
|
|
506
|
+
| **Post-generation verification** | ✅ 5 automated validators | ❌ | ❌ | ❌ | ❌ |
|
|
507
|
+
| **Multi-language output** | ✅ 10 languages | ❌ | ❌ | ❌ | ❌ |
|
|
508
|
+
| **Multi-stack** | ✅ Backend + Frontend simultaneous | ❌ Stack-agnostic | ❌ | ❌ | Partial |
|
|
509
|
+
| **Agent orchestration** | ❌ | ✅ 28 agents | ✅ 6 patterns | ❌ | ❌ |
|
|
510
|
+
|
|
511
|
+
### Key difference
|
|
512
|
+
|
|
513
|
+
**Other tools give Claude "generally good instructions." ClaudeOS-Core gives Claude "instructions extracted from your actual code."**
|
|
514
|
+
|
|
515
|
+
### Complementary, not competing
|
|
516
|
+
|
|
517
|
+
ClaudeOS-Core: **project-specific rules**. Other tools: **agent orchestration**.
|
|
518
|
+
Use both together.
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
## FAQ
|
|
522
|
+
|
|
523
|
+
**Q : Est-ce que ça modifie mon code source ?**
|
|
524
|
+
Non. Seuls `CLAUDE.md`, `.claude/rules/` et `claudeos-core/` sont créés. Votre code existant n'est jamais modifié.
|
|
525
|
+
|
|
526
|
+
**Q : Combien ça coûte ?**
|
|
527
|
+
Appelle `claude -p` 3–7 fois. C'est dans les limites d'utilisation normale de Claude Code.
|
|
528
|
+
|
|
529
|
+
**Q : Faut-il commiter les fichiers générés dans Git ?**
|
|
530
|
+
Recommandé. Votre équipe peut partager les mêmes standards Claude Code. Envisagez d'ajouter `claudeos-core/generated/` au `.gitignore` (le JSON d'analyse est regénérable).
|
|
531
|
+
|
|
532
|
+
**Q : Qu'en est-il des projets multi-stack (ex : backend Java + frontend React) ?**
|
|
533
|
+
Entièrement supporté. ClaudeOS-Core auto-détecte les deux stacks, étiquette les domaines comme `backend` ou `frontend`, et utilise des prompts d'analyse spécifiques pour chacun. Pass 2 fusionne tout, et Pass 3 génère les standards backend et frontend en un seul pass.
|
|
534
|
+
|
|
535
|
+
**Q : Fonctionne-t-il avec Turborepo / pnpm workspaces / Lerna ?**
|
|
536
|
+
Oui. ClaudeOS-Core détecte `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` ou `package.json#workspaces` et scanne automatiquement les `package.json` des sous-packages pour les dépendances framework/ORM/BD. Le scan de domaines couvre les patterns `apps/*/src/` et `packages/*/src/`. Exécutez depuis la racine du monorepo.
|
|
537
|
+
|
|
538
|
+
**Q : Que se passe-t-il lors d'une ré-exécution ?**
|
|
539
|
+
Si des résultats Pass 1/2 précédents existent, un prompt interactif vous permet de choisir : **Continue** (reprendre là où ça s'est arrêté) ou **Fresh** (tout supprimer et repartir de zéro). Utilisez `--force` pour ignorer le prompt et toujours repartir de zéro. Pass 3 est toujours ré-exécuté. Les versions précédentes peuvent être restaurées depuis les Master Plans.
|
|
540
|
+
|
|
541
|
+
**Q : NestJS a-t-il son propre template ou utilise-t-il celui d'Express ?**
|
|
542
|
+
NestJS utilise un template dédié `node-nestjs` avec des catégories d'analyse spécifiques à NestJS : décorateurs `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, conteneur DI, patterns CQRS et `Test.createTestingModule`. Les projets Express utilisent le template séparé `node-express`.
|
|
543
|
+
|
|
544
|
+
**Q : Qu'en est-il des projets Vue / Nuxt ?**
|
|
545
|
+
Vue/Nuxt utilise un template dédié `vue-nuxt` couvrant la Composition API, `<script setup>`, defineProps/defineEmits, les stores Pinia, `useFetch`/`useAsyncData`, les routes serveur Nitro et `@nuxt/test-utils`. Les projets Next.js/React utilisent le template `node-nextjs`.
|
|
546
|
+
|
|
547
|
+
**Q : Kotlin est-il supporté ?**
|
|
548
|
+
Oui. ClaudeOS-Core détecte automatiquement Kotlin à partir de `build.gradle.kts` ou du plugin kotlin dans `build.gradle`. Il utilise un template dédié `kotlin-spring` avec une analyse spécifique à Kotlin (data classes, sealed classes, coroutines, fonctions d'extension, MockK, etc.).
|
|
549
|
+
|
|
550
|
+
**Q : Qu'en est-il de l'architecture CQRS / BFF ?**
|
|
551
|
+
Entièrement supporté pour les projets Kotlin multi-modules. ClaudeOS-Core lit `settings.gradle.kts`, détecte les types de modules (command, query, bff, integration) à partir de leurs noms, et regroupe le même domaine à travers les modules Command/Query. Les standards générés incluent des règles séparées pour les command controllers vs query controllers, les patterns BFF/Feign et les conventions de communication inter-modules.
|
|
552
|
+
|
|
553
|
+
**Q : Qu'en est-il des monorepos multi-modules Gradle ?**
|
|
554
|
+
ClaudeOS-Core analyse tous les sous-modules (`**/src/main/kotlin/**/*.kt`) quelle que soit la profondeur d'imbrication. Les types de modules sont déduits des conventions de nommage (ex : `reservation-command-server` → domaine : `reservation`, type : `command`). Les bibliothèques partagées (`shared-lib`, `integration-lib`) sont également détectées.
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
## Structure des Templates
|
|
559
|
+
|
|
560
|
+
```
|
|
561
|
+
pass-prompts/templates/
|
|
562
|
+
├── common/ # En-tête/pied de page partagés
|
|
563
|
+
├── java-spring/ # Java / Spring Boot
|
|
564
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
565
|
+
├── node-express/ # Node.js / Express
|
|
566
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
567
|
+
├── node-fastify/ # Node.js / Fastify
|
|
568
|
+
├── node-nextjs/ # Next.js / React
|
|
569
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
570
|
+
├── angular/ # Angular
|
|
571
|
+
├── python-django/ # Python / Django (DRF)
|
|
572
|
+
└── python-fastapi/ # Python / FastAPI
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
`plan-installer` auto-détecte votre/vos stack(s) puis assemble des prompts spécifiques au type. NestJS et Vue/Nuxt utilisent des templates dédiés avec des catégories d'analyse spécifiques au framework (ex : `@Module`/`@Injectable`/Guards pour NestJS, `<script setup>`/Pinia/useFetch pour Vue). Pour les projets multi-stack, `pass1-backend-prompt.md` et `pass1-frontend-prompt.md` sont générés séparément, tandis que `pass3-prompt.md` combine les cibles de génération des deux stacks.
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Support Monorepo
|
|
580
|
+
|
|
581
|
+
ClaudeOS-Core détecte automatiquement les configurations monorepo JS/TS et scanne les sous-packages pour les dépendances.
|
|
582
|
+
|
|
583
|
+
**Marqueurs monorepo supportés** (auto-détectés) :
|
|
584
|
+
- `turbo.json` (Turborepo)
|
|
585
|
+
- `pnpm-workspace.yaml` (pnpm workspaces)
|
|
586
|
+
- `lerna.json` (Lerna)
|
|
587
|
+
- `package.json#workspaces` (npm/yarn workspaces)
|
|
588
|
+
|
|
589
|
+
**Exécutez depuis la racine du monorepo** — ClaudeOS-Core lit `apps/*/package.json` et `packages/*/package.json` pour découvrir les dépendances framework/ORM/BD dans les sous-packages :
|
|
590
|
+
|
|
591
|
+
```bash
|
|
592
|
+
cd my-monorepo
|
|
593
|
+
npx claudeos-core init
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**Ce qui est détecté :**
|
|
597
|
+
- Dépendances de `apps/web/package.json` (ex : `next`, `react`) → stack frontend
|
|
598
|
+
- Dépendances de `apps/api/package.json` (ex : `express`, `prisma`) → stack backend
|
|
599
|
+
- Dépendances de `packages/db/package.json` (ex : `drizzle-orm`) → ORM/BD
|
|
600
|
+
- Chemins de workspace personnalisés depuis `pnpm-workspace.yaml` (ex : `services/*`)
|
|
601
|
+
|
|
602
|
+
**Le scan de domaines couvre aussi les structures monorepo :**
|
|
603
|
+
- `apps/api/src/modules/*/` et `apps/api/src/*/` pour les domaines backend
|
|
604
|
+
- `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` pour les domaines frontend
|
|
605
|
+
- `packages/*/src/*/` pour les domaines des packages partagés
|
|
606
|
+
|
|
607
|
+
```
|
|
608
|
+
my-monorepo/ ← Exécuter ici : npx claudeos-core init
|
|
609
|
+
├── turbo.json ← Auto-détecté comme Turborepo
|
|
610
|
+
├── apps/
|
|
611
|
+
│ ├── web/ ← Next.js détecté depuis apps/web/package.json
|
|
612
|
+
│ │ ├── app/dashboard/ ← Domaine frontend détecté
|
|
613
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
614
|
+
│ └── api/ ← Express détecté depuis apps/api/package.json
|
|
615
|
+
│ ├── src/modules/users/ ← Domaine backend détecté
|
|
616
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
617
|
+
├── packages/
|
|
618
|
+
│ ├── db/ ← Drizzle détecté depuis packages/db/package.json
|
|
619
|
+
│ └── ui/
|
|
620
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
> **Note :** Pour les monorepos Kotlin/Java, la détection multi-modules utilise `settings.gradle.kts` (voir [Détection des domaines Kotlin multi-modules](#détection-des-domaines-kotlin-multi-modules) ci-dessus) et ne nécessite pas de marqueurs monorepo JS.
|
|
624
|
+
|
|
625
|
+
## Dépannage
|
|
626
|
+
|
|
627
|
+
**"claude: command not found"** — Claude Code CLI n'est pas installé ou pas dans le PATH. Voir la [documentation Claude Code](https://code.claude.com/docs/en/overview).
|
|
628
|
+
|
|
629
|
+
**"npm install failed"** — La version de Node.js peut être trop ancienne. v18+ requis.
|
|
630
|
+
|
|
631
|
+
**"0 domains detected"** — La structure de votre projet peut être non standard. Consultez les patterns de détection dans la [documentation coréenne](./README.ko.md#트러블슈팅) pour votre stack.
|
|
632
|
+
|
|
633
|
+
**« 0 domaines détectés » sur un projet Kotlin** — Vérifiez que `build.gradle.kts` (ou `build.gradle` avec le plugin kotlin) existe à la racine, et que les fichiers source sont sous `**/src/main/kotlin/`. Pour les projets multi-modules, `settings.gradle.kts` doit contenir des instructions `include()`. Les projets Kotlin mono-module (sans `settings.gradle`) sont également pris en charge — les domaines sont extraits de la structure des packages/classes sous `src/main/kotlin/`.
|
|
634
|
+
|
|
635
|
+
**« Langage détecté comme java au lieu de kotlin »** — ClaudeOS-Core vérifie d'abord le `build.gradle(.kts)` racine, puis les fichiers build des sous-modules. Assurez-vous qu'au moins un contient `kotlin("jvm")` ou `org.jetbrains.kotlin`.
|
|
636
|
+
|
|
637
|
+
**« CQRS non détecté »** — La détection d'architecture repose sur la présence des mots-clés `command` et `query` dans les noms de modules. Si vos modules utilisent des noms différents, vous pouvez ajuster manuellement les prompts générés.
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
641
|
+
## Contribuer
|
|
642
|
+
|
|
643
|
+
Les contributions sont les bienvenues ! Domaines où l'aide est la plus nécessaire :
|
|
644
|
+
|
|
645
|
+
- **Nouveaux templates de stack** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
646
|
+
- **Support approfondi monorepo** — Racines de sous-projets séparées, détection de workspaces
|
|
647
|
+
- **Couverture de tests** — Suite de tests en expansion (actuellement 269 tests couvrant tous les scanners, la détection de stack, le groupement de domaines, le parsing de plans, la génération de prompts, les sélecteurs CLI, la détection de monorepos, les outils de vérification et la détection Vite SPA)
|
|
648
|
+
|
|
649
|
+
---
|
|
650
|
+
|
|
651
|
+
## Auteur
|
|
652
|
+
|
|
653
|
+
Créé par **claudeos-core** — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
|
|
654
|
+
|
|
655
|
+
## Licence
|
|
656
|
+
|
|
657
|
+
ISC
|