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.es.md
CHANGED
|
@@ -1,655 +1,657 @@
|
|
|
1
|
-
# ClaudeOS-Core
|
|
2
|
-
|
|
3
|
-
**La única herramienta que lee tu código fuente primero, confirma tu stack y patrones con análisis determinístico, y genera reglas de Claude Code adaptadas exactamente a tu proyecto.**
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npx claudeos-core init
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
ClaudeOS-Core lee tu código fuente, extrae cada patrón que encuentra y genera un conjunto completo de Standards, Rules, Skills y Guides adaptados a _tu_ proyecto. Después, cuando le digas a Claude Code "Crea un CRUD para pedidos", generará código que coincide exactamente con tus patrones existentes.
|
|
10
|
-
|
|
11
|
-
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.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
|
-
## ¿Por qué ClaudeOS-Core?
|
|
16
|
-
|
|
17
|
-
> Humano describe el proyecto → LLM genera documentación
|
|
18
|
-
|
|
19
|
-
ClaudeOS-Core:
|
|
20
|
-
|
|
21
|
-
> Código analiza tu fuente → Código construye prompt personalizado → LLM genera documentación → Código verifica la salida
|
|
22
|
-
|
|
23
|
-
### El problema central: Los LLMs adivinan. El código confirma.
|
|
24
|
-
|
|
25
|
-
Cuando le pides a Claude "analiza este proyecto", **adivina** tu stack, ORM y estructura de dominios.
|
|
26
|
-
|
|
27
|
-
**ClaudeOS-Core no adivina.** 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
|
-
### El resultado
|
|
36
|
-
|
|
37
|
-
Otras herramientas producen documentación "generalmente buena".
|
|
38
|
-
ClaudeOS-Core produce documentación que sabe que tu proyecto usa `ApiResponse.ok()` (no `ResponseEntity.success()`), que tus mappers MyBatis XML están en `src/main/resources/mybatis/mappers/` — porque leyó tu código real.
|
|
39
|
-
|
|
40
|
-
### Before & After
|
|
41
|
-
|
|
42
|
-
**Sin 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
|
-
**Con 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
|
-
Esta diferencia se acumula. 10 tareas/día × 20 minutos ahorrados = **más de 3 horas/día**.
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Stacks Soportados
|
|
63
|
-
|
|
64
|
-
| Stack | Detección | Profundidad de Análisis |
|
|
65
|
-
|---|---|---|
|
|
66
|
-
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patrones de paquete | 10 categorías, 59 sub-ítems |
|
|
67
|
-
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 categorías, 95 sub-ítems |
|
|
68
|
-
| **Node.js / Express** | `package.json` | 9 categorías, 57 sub-ítems |
|
|
69
|
-
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 categorías, 68 sub-ítems |
|
|
70
|
-
| **Next.js / React** | `package.json`, `next.config.*`, soporte FSD | 9 categorías, 55 sub-ítems |
|
|
71
|
-
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 categorías, 58 sub-ítems |
|
|
72
|
-
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 categorías, 55 sub-ítems |
|
|
73
|
-
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 categorías, 58 sub-ítems |
|
|
74
|
-
| **Node.js / Fastify** | `package.json` | 10 categorías, 62 sub-ítems |
|
|
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
|
-
- Dependencias 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
|
-
**"0
|
|
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
|
+
**La única herramienta que lee tu código fuente primero, confirma tu stack y patrones con análisis determinístico, y genera reglas de Claude Code adaptadas exactamente a tu proyecto.**
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx claudeos-core init
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
ClaudeOS-Core lee tu código fuente, extrae cada patrón que encuentra y genera un conjunto completo de Standards, Rules, Skills y Guides adaptados a _tu_ proyecto. Después, cuando le digas a Claude Code "Crea un CRUD para pedidos", generará código que coincide exactamente con tus patrones existentes.
|
|
10
|
+
|
|
11
|
+
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.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
|
+
## ¿Por qué ClaudeOS-Core?
|
|
16
|
+
|
|
17
|
+
> Humano describe el proyecto → LLM genera documentación
|
|
18
|
+
|
|
19
|
+
ClaudeOS-Core:
|
|
20
|
+
|
|
21
|
+
> Código analiza tu fuente → Código construye prompt personalizado → LLM genera documentación → Código verifica la salida
|
|
22
|
+
|
|
23
|
+
### El problema central: Los LLMs adivinan. El código confirma.
|
|
24
|
+
|
|
25
|
+
Cuando le pides a Claude "analiza este proyecto", **adivina** tu stack, ORM y estructura de dominios.
|
|
26
|
+
|
|
27
|
+
**ClaudeOS-Core no adivina.** 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
|
+
### El resultado
|
|
36
|
+
|
|
37
|
+
Otras herramientas producen documentación "generalmente buena".
|
|
38
|
+
ClaudeOS-Core produce documentación que sabe que tu proyecto usa `ApiResponse.ok()` (no `ResponseEntity.success()`), que tus mappers MyBatis XML están en `src/main/resources/mybatis/mappers/` — porque leyó tu código real.
|
|
39
|
+
|
|
40
|
+
### Before & After
|
|
41
|
+
|
|
42
|
+
**Sin 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
|
+
**Con 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
|
+
Esta diferencia se acumula. 10 tareas/día × 20 minutos ahorrados = **más de 3 horas/día**.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Stacks Soportados
|
|
63
|
+
|
|
64
|
+
| Stack | Detección | Profundidad de Análisis |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patrones de paquete | 10 categorías, 59 sub-ítems |
|
|
67
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 categorías, 95 sub-ítems |
|
|
68
|
+
| **Node.js / Express** | `package.json` | 9 categorías, 57 sub-ítems |
|
|
69
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 categorías, 68 sub-ítems |
|
|
70
|
+
| **Next.js / React** | `package.json`, `next.config.*`, soporte FSD | 9 categorías, 55 sub-ítems |
|
|
71
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 categorías, 58 sub-ítems |
|
|
72
|
+
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 categorías, 55 sub-ítems |
|
|
73
|
+
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 categorías, 58 sub-ítems |
|
|
74
|
+
| **Node.js / Fastify** | `package.json` | 10 categorías, 62 sub-ítems |
|
|
75
|
+
| **Vite / React SPA** | `package.json`, `vite.config.*` | 9 categorías, 55 sub-ítems |
|
|
76
|
+
| **Angular** | `package.json`, `angular.json` | 12 categorías, 78 sub-ítems |
|
|
77
|
+
|
|
78
|
+
Detección automática: lenguaje y versión, framework y versión (incluyendo Vite como framework SPA), ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, etc.), base de datos (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), gestor de paquetes (Gradle, Maven, npm, yarn, pnpm, pip, poetry), arquitectura (CQRS, BFF — detectado de nombres de módulos), estructura multi-módulo (desde settings.gradle), monorepo (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces).
|
|
79
|
+
|
|
80
|
+
**No necesitas especificar nada. Todo se detecta automáticamente.**
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### Detección de Dominios Java (5 patrones con fallback)
|
|
84
|
+
|
|
85
|
+
| Prioridad | Patrón | Estructura | Ejemplo |
|
|
86
|
+
|---|---|---|---|
|
|
87
|
+
| A | Capa primero | `controller/{domain}/` | `controller/user/UserController.java` |
|
|
88
|
+
| B | Dominio primero | `{domain}/controller/` | `user/controller/UserController.java` |
|
|
89
|
+
| D | Prefijo de módulo | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
|
|
90
|
+
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
91
|
+
| C | Plano | `controller/*.java` | `controller/UserController.java` → extrae `user` del nombre de clase |
|
|
92
|
+
|
|
93
|
+
Los dominios solo con servicios (sin controladores) también se detectan mediante directorios `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/`. Se omiten: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2`, etc.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### Detección de Dominios Kotlin Multi-Módulo
|
|
97
|
+
|
|
98
|
+
Para proyectos Kotlin con estructura Gradle multi-módulo (ej: monorepo CQRS):
|
|
99
|
+
|
|
100
|
+
| Paso | Acción | Ejemplo |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| 1 | Escanear `settings.gradle.kts` buscando `include()` | Encuentra 14 módulos |
|
|
103
|
+
| 2 | Detectar tipo de módulo por nombre | `reservation-command-server` → tipo: `command` |
|
|
104
|
+
| 3 | Extraer dominio del nombre del módulo | `reservation-command-server` → dominio: `reservation` |
|
|
105
|
+
| 4 | Agrupar mismo dominio entre módulos | `reservation-command-server` + `common-query-server` → 1 dominio |
|
|
106
|
+
| 5 | Detectar arquitectura | Tiene módulos `command` + `query` → CQRS |
|
|
107
|
+
|
|
108
|
+
Tipos de módulo soportados: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Las bibliotecas compartidas (`shared-lib`, `integration-lib`) se detectan como dominios especiales.
|
|
109
|
+
|
|
110
|
+
### Detección de Dominios 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**: Detecta patrón `client.tsx`, rastrea separación Server/Client
|
|
116
|
+
- **Rutas anidadas no estándar**: Detecta páginas, componentes y capas FSD bajo `src/*/pages/`, `src/*/components/`, `src/*/features/` (ej. `src/admin/pages/dashboard/`)
|
|
117
|
+
- **Config fallback**: Detecta Next.js/Vite/Nuxt desde archivos de configuración (soporte monorepo)
|
|
118
|
+
- **Fallback de directorios profundos**: Para proyectos React/CRA/Vite/Vue/RN, escanea `**/components/*/`, `**/views/*/`, `**/screens/*/`, `**/containers/*/`, `**/pages/*/`, `**/routes/*/`, `**/modules/*/`, `**/domains/*/` a cualquier profundidad
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Inicio Rápido
|
|
123
|
+
|
|
124
|
+
### Requisitos Previos
|
|
125
|
+
|
|
126
|
+
- **Node.js** v18+
|
|
127
|
+
- **Claude Code CLI** (instalado y autenticado)
|
|
128
|
+
|
|
129
|
+
### Instalación
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
cd /your/project/root
|
|
133
|
+
|
|
134
|
+
# Opción A: npx (recomendado — sin instalación)
|
|
135
|
+
npx claudeos-core init
|
|
136
|
+
|
|
137
|
+
# Opción B: instalación global
|
|
138
|
+
npm install -g claudeos-core
|
|
139
|
+
claudeos-core init
|
|
140
|
+
|
|
141
|
+
# Opción C: devDependency del proyecto
|
|
142
|
+
npm install --save-dev claudeos-core
|
|
143
|
+
npx claudeos-core init
|
|
144
|
+
|
|
145
|
+
# Opción D: git clone (para desarrollo/contribución)
|
|
146
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
147
|
+
|
|
148
|
+
# Multiplataforma (PowerShell, CMD, Bash, Zsh — cualquier terminal)
|
|
149
|
+
node claudeos-core-tools/bin/cli.js init
|
|
150
|
+
|
|
151
|
+
# Solo Linux/macOS (solo Bash)
|
|
152
|
+
bash claudeos-core-tools/bootstrap.sh
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Idioma de salida (10 idiomas)
|
|
156
|
+
|
|
157
|
+
Al ejecutar `init` sin `--lang`, aparece un selector interactivo con teclas de flecha o teclas numéricas:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
╔══════════════════════════════════════════════════╗
|
|
161
|
+
║ Select generated document language (required) ║
|
|
162
|
+
╚══════════════════════════════════════════════════╝
|
|
163
|
+
|
|
164
|
+
Los archivos generados (CLAUDE.md, Standards, Rules,
|
|
165
|
+
Skills, Guides) se escribirán en español.
|
|
166
|
+
|
|
167
|
+
1. en — English
|
|
168
|
+
...
|
|
169
|
+
❯ 5. es — Español (Spanish)
|
|
170
|
+
...
|
|
171
|
+
|
|
172
|
+
↑↓ Move 1-0 Jump Enter Select ESC Cancel
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
La descripción cambia al idioma seleccionado al navegar. Para saltar el selector:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npx claudeos-core init --lang es # Español
|
|
179
|
+
npx claudeos-core init --lang en # English
|
|
180
|
+
npx claudeos-core init --lang ko # 한국어
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
> **Nota:** Solo cambia el idioma de los archivos de documentación generados. El análisis de código (Pass 1–2) siempre se ejecuta en inglés; solo la salida generada (Pass 3) se escribe en el idioma elegido.
|
|
184
|
+
|
|
185
|
+
Eso es todo. Después de 5–18 minutos, toda la documentación estará generada y lista para usar.
|
|
186
|
+
El CLI muestra una barra de progreso con porcentaje, tiempo transcurrido y tiempo estimado restante para cada Pass.
|
|
187
|
+
|
|
188
|
+
### Instalación Manual Paso a Paso
|
|
189
|
+
|
|
190
|
+
Si deseas control total sobre cada fase, o si el pipeline automatizado falla en algún paso, puedes ejecutar cada etapa manualmente. También es útil para entender cómo funciona ClaudeOS-Core internamente.
|
|
191
|
+
|
|
192
|
+
#### Step 1: Clonar e instalar dependencias
|
|
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: Crear estructura de directorios
|
|
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: Ejecutar plan-installer (análisis del proyecto)
|
|
219
|
+
|
|
220
|
+
Escanea tu proyecto, detecta el stack, encuentra dominios, los divide en grupos y genera prompts.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Salida (`claudeos-core/generated/`):**
|
|
227
|
+
- `project-analysis.json` — stack detectado, dominios, info de frontend
|
|
228
|
+
- `domain-groups.json` — grupos de dominios para Pass 1
|
|
229
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — prompts de análisis
|
|
230
|
+
- `pass2-prompt.md` — prompt de fusión
|
|
231
|
+
- `pass3-prompt.md` — prompt de generación
|
|
232
|
+
|
|
233
|
+
Puedes inspeccionar estos archivos para verificar la precisión de la detección antes de continuar.
|
|
234
|
+
|
|
235
|
+
#### Step 4: Pass 1 — Análisis profundo de código por grupo de dominio
|
|
236
|
+
|
|
237
|
+
Ejecuta Pass 1 para cada grupo de dominio. Revisa `domain-groups.json` para el número de grupos.
|
|
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
|
+
# Para grupos frontend, use pass1-frontend-prompt.md
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Verificar:** `ls claudeos-core/generated/pass1-*.json` debe mostrar un JSON por grupo.
|
|
256
|
+
|
|
257
|
+
#### Step 5: Pass 2 — Fusionar resultados de análisis
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
261
|
+
| claude -p --dangerously-skip-permissions
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Verificar:** `claudeos-core/generated/pass2-merged.json` debe existir con 9+ claves de nivel superior.
|
|
265
|
+
|
|
266
|
+
#### Step 6: Pass 3 — Generar toda la documentación
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
270
|
+
| claude -p --dangerously-skip-permissions
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Verificar:** `CLAUDE.md` debe existir en la raíz del proyecto.
|
|
274
|
+
|
|
275
|
+
#### Step 7: Ejecutar herramientas de verificación
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Generar metadatos (requerido antes de otras verificaciones)
|
|
279
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
280
|
+
|
|
281
|
+
# Ejecutar todas las verificaciones
|
|
282
|
+
node claudeos-core-tools/health-checker/index.js
|
|
283
|
+
|
|
284
|
+
# O ejecutar verificaciones individuales:
|
|
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: Verificar los resultados
|
|
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
|
+
> **Consejo:** Si un paso falla, puedes volver a ejecutar solo ese paso. Los resultados de Pass 1/2 se cachean — si `pass1-N.json` o `pass2-merged.json` ya existen, el pipeline automatizado los omite. Usa `npx claudeos-core init --force` para eliminar resultados anteriores y empezar de nuevo.
|
|
300
|
+
|
|
301
|
+
### Empieza a Usar
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
# En Claude Code — simplemente habla de forma natural:
|
|
305
|
+
"Crea un CRUD para el dominio de pedidos"
|
|
306
|
+
"Añade una API de autenticación de usuarios"
|
|
307
|
+
"Refactoriza este código según los patrones del proyecto"
|
|
308
|
+
|
|
309
|
+
# Claude Code referencia automáticamente tus Standards, Rules y Skills generados.
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Cómo Funciona — Pipeline de 3 Pasadas
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
npx claudeos-core init
|
|
318
|
+
│
|
|
319
|
+
├── [1] npm install ← Dependencias (~10s)
|
|
320
|
+
├── [2] Estructura de directorios ← Crear carpetas (~1s)
|
|
321
|
+
├── [3] plan-installer (Node.js) ← Escaneo del proyecto (~5s)
|
|
322
|
+
│ ├── Auto-detección de stack (multi-stack)
|
|
323
|
+
│ ├── Extracción de lista de dominios (etiquetados: backend/frontend)
|
|
324
|
+
│ ├── División en grupos de dominios (por tipo)
|
|
325
|
+
│ └── Selección de prompts específicos por stack (por tipo)
|
|
326
|
+
│
|
|
327
|
+
├── [4] Pass 1 × N (claude -p) ← Análisis profundo de código (~2-8min)
|
|
328
|
+
│ ├── ⚙️ Grupos backend → prompt de análisis backend
|
|
329
|
+
│ └── 🎨 Grupos frontend → prompt de análisis frontend
|
|
330
|
+
│
|
|
331
|
+
├── [5] Pass 2 × 1 (claude -p) ← Fusión de análisis (~1min)
|
|
332
|
+
│ └── Consolidar TODOS los resultados de Pass 1 (backend + frontend)
|
|
333
|
+
│
|
|
334
|
+
├── [6] Pass 3 × 1 (claude -p) ← Generar todo (~3-5min)
|
|
335
|
+
│ └── Prompt combinado (objetivos backend + frontend)
|
|
336
|
+
│
|
|
337
|
+
└── [7] Verificación ← Ejecución automática del health checker
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### ¿Por Qué 3 Pasadas?
|
|
341
|
+
|
|
342
|
+
**Pass 1** es la única pasada que lee tu código fuente. Selecciona archivos representativos por dominio y extrae patrones en 55–95 categorías de análisis (por stack). Para proyectos grandes, Pass 1 se ejecuta múltiples veces — una por grupo de dominios. En proyectos multi-stack (ej: backend Java + frontend React), backend y frontend usan **prompts de análisis diferentes** adaptados a cada stack.
|
|
343
|
+
|
|
344
|
+
**Pass 2** fusiona todos los resultados de Pass 1 en un análisis unificado: patrones comunes (100% compartidos), patrones mayoritarios (50%+ compartidos), patrones específicos de dominio, anti-patrones por severidad y preocupaciones transversales (nombrado, seguridad, BD, testing, logging, rendimiento).
|
|
345
|
+
|
|
346
|
+
**Pass 3** toma el análisis fusionado y genera todo el ecosistema de archivos. Nunca lee código fuente — solo el JSON de análisis. En modo multi-stack, el prompt de generación combina los objetivos de backend y frontend para generar ambos conjuntos de estándares en una sola pasada.
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Estructura de Archivos Generados
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
your-project/
|
|
354
|
+
│
|
|
355
|
+
├── CLAUDE.md ← Punto de entrada de Claude Code
|
|
356
|
+
│
|
|
357
|
+
├── .claude/
|
|
358
|
+
│ └── rules/ ← Reglas activadas por Glob
|
|
359
|
+
│ ├── 00.core/
|
|
360
|
+
│ ├── 10.backend/
|
|
361
|
+
│ ├── 20.frontend/
|
|
362
|
+
│ ├── 30.security-db/
|
|
363
|
+
│ ├── 40.infra/
|
|
364
|
+
│ └── 50.sync/ ← Reglas de recordatorio de sincronización
|
|
365
|
+
│
|
|
366
|
+
├── claudeos-core/ ← Directorio principal de salida
|
|
367
|
+
│ ├── generated/ ← JSON de análisis + prompts dinámicos
|
|
368
|
+
│ ├── standard/ ← Estándares de código (15-19 archivos)
|
|
369
|
+
│ ├── skills/ ← Skills de scaffolding CRUD
|
|
370
|
+
│ ├── guide/ ← Onboarding, FAQ, troubleshooting (9 archivos)
|
|
371
|
+
│ ├── plan/ ← Master Plans (backup/restauración)
|
|
372
|
+
│ ├── database/ ← Esquema BD, guía de migración
|
|
373
|
+
│ └── mcp-guide/ ← Guía de integración de servidor MCP
|
|
374
|
+
│
|
|
375
|
+
└── claudeos-core-tools/ ← Este toolkit (no modificar)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Cada archivo de estándar incluye ejemplos ✅ correctos, ejemplos ❌ incorrectos y una tabla resumen de reglas — todo derivado de tus patrones de código reales, no de plantillas genéricas.
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Auto-escalado por Tamaño de Proyecto
|
|
383
|
+
|
|
384
|
+
| Tamaño | Dominios | Ejecuciones Pass 1 | Total `claude -p` | Tiempo Est. |
|
|
385
|
+
|---|---|---|---|---|
|
|
386
|
+
| Pequeño | 1–4 | 1 | 3 | ~5min |
|
|
387
|
+
| Mediano | 5–8 | 2 | 4 | ~8min |
|
|
388
|
+
| Grande | 9–16 | 3–4 | 5–6 | ~12min |
|
|
389
|
+
| Extra Grande | 17+ | 5+ | 7+ | ~18min+ |
|
|
390
|
+
|
|
391
|
+
Para proyectos multi-stack (ej: Java + React), los dominios de backend y frontend se cuentan juntos. Un proyecto con 6 dominios backend + 4 frontend = 10 total, escalando como "Grande".
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Herramientas de Verificación
|
|
396
|
+
|
|
397
|
+
ClaudeOS-Core incluye 5 herramientas de verificación integradas que se ejecutan automáticamente después de la generación:
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# Ejecutar todas las verificaciones a la vez (recomendado)
|
|
401
|
+
npx claudeos-core health
|
|
402
|
+
|
|
403
|
+
# Comandos individuales
|
|
404
|
+
npx claudeos-core validate # Comparación Plan ↔ disco
|
|
405
|
+
npx claudeos-core refresh # Sincronización Disco → Plan
|
|
406
|
+
npx claudeos-core restore # Restauración Plan → Disco
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
| Herramienta | Función |
|
|
410
|
+
|---|---|
|
|
411
|
+
| **manifest-generator** | Construye JSON de metadatos (rule-manifest, sync-map, plan-manifest) |
|
|
412
|
+
| **plan-validator** | Compara bloques `<file>` del Master Plan con el disco — 3 modos: check, refresh, restore |
|
|
413
|
+
| **sync-checker** | Detecta archivos no registrados (en disco pero no en plan) y entradas huérfanas |
|
|
414
|
+
| **content-validator** | Valida calidad de archivos — archivos vacíos, ejemplos ✅/❌ faltantes, secciones requeridas |
|
|
415
|
+
| **pass-json-validator** | Valida estructura JSON de Pass 1–3, claves requeridas y completitud de secciones |
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## Cómo Claude Code Usa tu Documentación
|
|
420
|
+
|
|
421
|
+
Así es como Claude Code lee la documentación generada por ClaudeOS-Core:
|
|
422
|
+
|
|
423
|
+
### Archivos que se leen automáticamente
|
|
424
|
+
|
|
425
|
+
| Archivo | Cuándo | Garantizado |
|
|
426
|
+
|---|---|---|
|
|
427
|
+
| `CLAUDE.md` | Al inicio de cada conversación | Siempre |
|
|
428
|
+
| `.claude/rules/00.core/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
|
|
429
|
+
| `.claude/rules/10.backend/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
|
|
430
|
+
| `.claude/rules/30.security-db/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
|
|
431
|
+
| `.claude/rules/40.infra/*` | Solo al editar archivos config/infra (paths con alcance) | Condicional |
|
|
432
|
+
| `.claude/rules/50.sync/*` | Solo al editar archivos claudeos-core (paths con alcance) | Condicional |
|
|
433
|
+
|
|
434
|
+
### Archivos leídos bajo demanda vía referencias en reglas
|
|
435
|
+
|
|
436
|
+
Cada archivo de regla enlaza a su standard correspondiente en la sección `## Reference`. Claude solo lee el standard relevante para la tarea actual:
|
|
437
|
+
|
|
438
|
+
- `claudeos-core/standard/**` — Patrones de código, ejemplos ✅/❌, convenciones de nombres
|
|
439
|
+
- `claudeos-core/database/**` — Schema DB (para queries, mappers, migraciones)
|
|
440
|
+
|
|
441
|
+
`00.standard-reference.md` sirve como directorio para descubrir standards sin regla correspondiente.
|
|
442
|
+
|
|
443
|
+
### Archivos que NO se leen (ahorro de contexto)
|
|
444
|
+
|
|
445
|
+
Excluidos explícitamente por la sección `DO NOT Read` de la regla standard-reference:
|
|
446
|
+
|
|
447
|
+
| Carpeta | Razón de exclusión |
|
|
448
|
+
|---|---|
|
|
449
|
+
| `claudeos-core/plan/` | Backups de Master Plan (~340KB). Usa `npx claudeos-core refresh` para sincronizar. |
|
|
450
|
+
| `claudeos-core/generated/` | Metadatos JSON de build. No es referencia de código. |
|
|
451
|
+
| `claudeos-core/guide/` | Guías de onboarding para humanos. |
|
|
452
|
+
| `claudeos-core/mcp-guide/` | Docs de servidor MCP. No es referencia de código. |
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Flujo de Trabajo Diario
|
|
457
|
+
|
|
458
|
+
### Después de la Instalación
|
|
459
|
+
|
|
460
|
+
```
|
|
461
|
+
# Usa Claude Code normalmente — referencia tus estándares automáticamente:
|
|
462
|
+
"Crea un CRUD para el dominio de pedidos"
|
|
463
|
+
"Añade una API de actualización de perfil de usuario"
|
|
464
|
+
"Refactoriza este código según los patrones del proyecto"
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Después de Editar Estándares Manualmente
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
# Después de editar archivos standard o rules:
|
|
471
|
+
npx claudeos-core refresh
|
|
472
|
+
|
|
473
|
+
# Verifica que todo sea consistente
|
|
474
|
+
npx claudeos-core health
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### Cuando los Documentos se Corrompen
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
# Restaura todo desde el Master Plan
|
|
481
|
+
npx claudeos-core restore
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Integración CI/CD
|
|
485
|
+
|
|
486
|
+
```yaml
|
|
487
|
+
# Ejemplo de GitHub Actions
|
|
488
|
+
- run: npx claudeos-core validate
|
|
489
|
+
# Código de salida 1 bloquea el PR
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
## ¿En Qué se Diferencia?
|
|
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
|
+
**P: ¿Modifica mi código fuente?**
|
|
524
|
+
No. Solo crea `CLAUDE.md`, `.claude/rules/` y `claudeos-core/`. Tu código existente nunca se modifica.
|
|
525
|
+
|
|
526
|
+
**P: ¿Cuánto cuesta?**
|
|
527
|
+
Llama a `claude -p` entre 3–7 veces. Está dentro del uso normal de Claude Code.
|
|
528
|
+
|
|
529
|
+
**P: ¿Debería hacer commit de los archivos generados a Git?**
|
|
530
|
+
Sí, recomendado. Tu equipo puede compartir los mismos estándares de Claude Code. Considera añadir `claudeos-core/generated/` a `.gitignore` (el JSON de análisis es regenerable).
|
|
531
|
+
|
|
532
|
+
**P: ¿Qué pasa con proyectos de stack mixto (ej: backend Java + frontend React)?**
|
|
533
|
+
Totalmente soportado. ClaudeOS-Core auto-detecta ambos stacks, etiqueta dominios como `backend` o `frontend`, y usa prompts de análisis específicos para cada uno. Pass 2 fusiona todo, y Pass 3 genera los estándares de backend y frontend en una sola pasada.
|
|
534
|
+
|
|
535
|
+
**P: ¿Funciona con Turborepo / pnpm workspaces / monorepos Lerna?**
|
|
536
|
+
Sí. ClaudeOS-Core detecta `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` o `package.json#workspaces` y escanea automáticamente los `package.json` de sub-paquetes en busca de dependencias de framework/ORM/BD. El escaneo de dominios cubre patrones `apps/*/src/` y `packages/*/src/`. Ejecuta desde la raíz del monorepo.
|
|
537
|
+
|
|
538
|
+
**P: ¿Qué pasa al re-ejecutar?**
|
|
539
|
+
Si existen resultados previos de Pass 1/2, un prompt interactivo te permite elegir: **Continue** (reanudar desde donde se detuvo) o **Fresh** (eliminar todo y empezar de nuevo). Usa `--force` para omitir el prompt y siempre empezar de nuevo. Pass 3 siempre se re-ejecuta. Las versiones anteriores pueden restaurarse desde los Master Plans.
|
|
540
|
+
|
|
541
|
+
**P: ¿NestJS tiene su propia plantilla o usa la de Express?**
|
|
542
|
+
NestJS usa una plantilla dedicada `node-nestjs` con categorías de análisis específicas de NestJS: decoradores `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, contenedor DI, patrones CQRS y `Test.createTestingModule`. Los proyectos Express usan la plantilla separada `node-express`.
|
|
543
|
+
|
|
544
|
+
**P: ¿Qué hay de los proyectos Vue / Nuxt?**
|
|
545
|
+
Vue/Nuxt usa una plantilla dedicada `vue-nuxt` que cubre Composition API, `<script setup>`, defineProps/defineEmits, stores Pinia, `useFetch`/`useAsyncData`, rutas de servidor Nitro y `@nuxt/test-utils`. Los proyectos Next.js/React usan la plantilla `node-nextjs`.
|
|
546
|
+
|
|
547
|
+
**P: ¿Soporta Kotlin?**
|
|
548
|
+
Sí. ClaudeOS-Core detecta automáticamente Kotlin desde `build.gradle.kts` o el plugin kotlin en `build.gradle`. Utiliza una plantilla dedicada `kotlin-spring` con análisis específico de Kotlin (data classes, sealed classes, coroutines, extension functions, MockK, etc.).
|
|
549
|
+
|
|
550
|
+
**P: ¿Qué hay de la arquitectura CQRS / BFF?**
|
|
551
|
+
Totalmente soportado para proyectos multi-módulo de Kotlin. ClaudeOS-Core lee `settings.gradle.kts`, detecta tipos de módulos (command, query, bff, integration) de los nombres, y agrupa el mismo dominio entre módulos Command/Query. Los estándares generados incluyen reglas separadas para command controllers vs query controllers, patrones BFF/Feign y convenciones de comunicación entre módulos.
|
|
552
|
+
|
|
553
|
+
**P: ¿Qué hay de los monorepos multi-módulo de Gradle?**
|
|
554
|
+
ClaudeOS-Core escanea todos los submódulos (`**/src/main/kotlin/**/*.kt`) sin importar la profundidad de anidamiento. Los tipos de módulos se infieren de las convenciones de nombres (ej: `reservation-command-server` → dominio: `reservation`, tipo: `command`). Las bibliotecas compartidas (`shared-lib`, `integration-lib`) también se detectan.
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
## Estructura de Plantillas
|
|
559
|
+
|
|
560
|
+
```
|
|
561
|
+
pass-prompts/templates/
|
|
562
|
+
├── common/ # Encabezado/pie compartido
|
|
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-detecta tu(s) stack(s) y ensambla prompts específicos por tipo. NestJS y Vue/Nuxt usan plantillas dedicadas con categorías de análisis específicas del framework (ej: `@Module`/`@Injectable`/Guards para NestJS, `<script setup>`/Pinia/useFetch para Vue). Para proyectos multi-stack, se generan `pass1-backend-prompt.md` y `pass1-frontend-prompt.md` por separado, mientras que `pass3-prompt.md` combina los objetivos de generación de ambos stacks.
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Soporte Monorepo
|
|
580
|
+
|
|
581
|
+
ClaudeOS-Core detecta automáticamente configuraciones de monorepo JS/TS y escanea sub-paquetes en busca de dependencias.
|
|
582
|
+
|
|
583
|
+
**Marcadores de monorepo soportados** (auto-detectados):
|
|
584
|
+
- `turbo.json` (Turborepo)
|
|
585
|
+
- `pnpm-workspace.yaml` (pnpm workspaces)
|
|
586
|
+
- `lerna.json` (Lerna)
|
|
587
|
+
- `package.json#workspaces` (npm/yarn workspaces)
|
|
588
|
+
|
|
589
|
+
**Ejecuta desde la raíz del monorepo** — ClaudeOS-Core lee `apps/*/package.json` y `packages/*/package.json` para descubrir dependencias de framework/ORM/BD en los sub-paquetes:
|
|
590
|
+
|
|
591
|
+
```bash
|
|
592
|
+
cd my-monorepo
|
|
593
|
+
npx claudeos-core init
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**Qué se detecta:**
|
|
597
|
+
- Dependencias de `apps/web/package.json` (ej: `next`, `react`) → stack frontend
|
|
598
|
+
- Dependencias de `apps/api/package.json` (ej: `express`, `prisma`) → stack backend
|
|
599
|
+
- Dependencias de `packages/db/package.json` (ej: `drizzle-orm`) → ORM/BD
|
|
600
|
+
- Rutas de workspace personalizadas desde `pnpm-workspace.yaml` (ej: `services/*`)
|
|
601
|
+
|
|
602
|
+
**El escaneo de dominios también cubre layouts de monorepo:**
|
|
603
|
+
- `apps/api/src/modules/*/` y `apps/api/src/*/` para dominios backend
|
|
604
|
+
- `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` para dominios frontend
|
|
605
|
+
- `packages/*/src/*/` para dominios de paquetes compartidos
|
|
606
|
+
|
|
607
|
+
```
|
|
608
|
+
my-monorepo/ ← Ejecuta aquí: npx claudeos-core init
|
|
609
|
+
├── turbo.json ← Auto-detectado como Turborepo
|
|
610
|
+
├── apps/
|
|
611
|
+
│ ├── web/ ← Next.js detectado desde apps/web/package.json
|
|
612
|
+
│ │ ├── app/dashboard/ ← Dominio frontend detectado
|
|
613
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
614
|
+
│ └── api/ ← Express detectado desde apps/api/package.json
|
|
615
|
+
│ ├── src/modules/users/ ← Dominio backend detectado
|
|
616
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
617
|
+
├── packages/
|
|
618
|
+
│ ├── db/ ← Drizzle detectado desde packages/db/package.json
|
|
619
|
+
│ └── ui/
|
|
620
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
> **Nota:** Para monorepos Kotlin/Java, la detección multi-módulo usa `settings.gradle.kts` (ver [Detección de Dominios Kotlin Multi-Módulo](#detección-de-dominios-kotlin-multi-módulo) arriba) y no requiere marcadores de monorepo JS.
|
|
624
|
+
|
|
625
|
+
## Solución de Problemas
|
|
626
|
+
|
|
627
|
+
**"claude: command not found"** — Claude Code CLI no está instalado o no está en el PATH. Consulta la [documentación de Claude Code](https://code.claude.com/docs/en/overview).
|
|
628
|
+
|
|
629
|
+
**"npm install failed"** — La versión de Node.js puede ser demasiado baja. Se requiere v18+.
|
|
630
|
+
|
|
631
|
+
**"0 domains detected"** — La estructura de tu proyecto puede ser no estándar. Consulta los patrones de detección en la [documentación en coreano](./README.ko.md#트러블슈팅) para tu stack.
|
|
632
|
+
|
|
633
|
+
**"0 dominios detectados" en proyecto Kotlin** — Asegúrate de que `build.gradle.kts` (o `build.gradle` con plugin kotlin) exista en la raíz, y los archivos fuente estén bajo `**/src/main/kotlin/`. Para proyectos multi-módulo, `settings.gradle.kts` debe contener sentencias `include()`. Los proyectos Kotlin de módulo único (sin `settings.gradle`) también son compatibles — los dominios se extraen de la estructura de paquetes/clases bajo `src/main/kotlin/`.
|
|
634
|
+
|
|
635
|
+
**"Lenguaje detectado como java en vez de kotlin"** — ClaudeOS-Core primero verifica el `build.gradle(.kts)` raíz, luego los archivos build de submódulos. Asegúrate de que al menos uno contenga `kotlin("jvm")` o `org.jetbrains.kotlin`.
|
|
636
|
+
|
|
637
|
+
**"CQRS no detectado"** — La detección de arquitectura depende de que los nombres de módulos contengan las palabras `command` y `query`. Si tus módulos usan nombres diferentes, puedes ajustar manualmente los prompts generados.
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
641
|
+
## Contribuir
|
|
642
|
+
|
|
643
|
+
¡Las contribuciones son bienvenidas! Áreas donde más se necesita ayuda:
|
|
644
|
+
|
|
645
|
+
- **Nuevas plantillas de stack** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
646
|
+
- **Soporte profundo para monorepos** — Raíces de sub-proyectos separadas, detección de workspaces
|
|
647
|
+
- **Cobertura de tests** — Suite de tests en expansión (actualmente 269 tests cubriendo todos los scanners, detección de stack, agrupación de dominios, parsing de planes, generación de prompts, selectores CLI, detección de monorepos, herramientas de verificación y detección de Vite SPA)
|
|
648
|
+
|
|
649
|
+
---
|
|
650
|
+
|
|
651
|
+
## Autor
|
|
652
|
+
|
|
653
|
+
Creado por **claudeos-core** — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
|
|
654
|
+
|
|
655
|
+
## Licencia
|
|
656
|
+
|
|
657
|
+
ISC
|