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/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
- | **Angular** | `package.json`, `angular.json` | 12 categorías, 78 sub-ítems |
76
-
77
- Detección automática: lenguaje y versión, framework y versión, 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).
78
-
79
- **No necesitas especificar nada. Todo se detecta automáticamente.**
80
-
81
-
82
- ### Detección de Dominios Java (5 patrones con fallback)
83
-
84
- | Prioridad | Patrón | Estructura | Ejemplo |
85
- |---|---|---|---|
86
- | A | Capa primero | `controller/{domain}/` | `controller/user/UserController.java` |
87
- | B | Dominio primero | `{domain}/controller/` | `user/controller/UserController.java` |
88
- | D | Prefijo de módulo | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
89
- | E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
90
- | C | Plano | `controller/*.java` | `controller/UserController.java` → extrae `user` del nombre de clase |
91
-
92
- 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.
93
-
94
-
95
- ### Detección de Dominios Kotlin Multi-Módulo
96
-
97
- Para proyectos Kotlin con estructura Gradle multi-módulo (ej: monorepo CQRS):
98
-
99
- | Paso | Acción | Ejemplo |
100
- |---|---|---|
101
- | 1 | Escanear `settings.gradle.kts` buscando `include()` | Encuentra 14 módulos |
102
- | 2 | Detectar tipo de módulo por nombre | `reservation-command-server` tipo: `command` |
103
- | 3 | Extraer dominio del nombre del módulo | `reservation-command-server` → dominio: `reservation` |
104
- | 4 | Agrupar mismo dominio entre módulos | `reservation-command-server` + `common-query-server` → 1 dominio |
105
- | 5 | Detectar arquitectura | Tiene módulos `command` + `query` → CQRS |
106
-
107
- Tipos de módulo soportados: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Las bibliotecas compartidas (`shared-lib`, `integration-lib`) se detectan como dominios especiales.
108
-
109
- ### Detección de Dominios Frontend
110
-
111
- - **App Router**: `app/{domain}/page.tsx` (Next.js)
112
- - **Pages Router**: `pages/{domain}/index.tsx`
113
- - **FSD (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
114
- - **RSC/Client split**: Detecta patrón `client.tsx`, rastrea separación Server/Client
115
- - **Config fallback**: Detecta Next.js/Vite/Nuxt desde archivos de configuración (soporte monorepo)
116
- - **Fallback de directorios profundos**: Para proyectos React/CRA/Vite/Vue/RN, escanea `**/components/*/`, `**/views/*/`, `**/screens/*/`, `**/containers/*/`, `**/pages/*/`, `**/routes/*/`, `**/modules/*/`, `**/domains/*/` a cualquier profundidad
117
-
118
- ---
119
-
120
- ## Inicio Rápido
121
-
122
- ### Requisitos Previos
123
-
124
- - **Node.js** v18+
125
- - **Claude Code CLI** (instalado y autenticado)
126
-
127
- ### Instalación
128
-
129
- ```bash
130
- cd /your/project/root
131
-
132
- # Opción A: npx (recomendado — sin instalación)
133
- npx claudeos-core init
134
-
135
- # Opción B: instalación global
136
- npm install -g claudeos-core
137
- claudeos-core init
138
-
139
- # Opción C: devDependency del proyecto
140
- npm install --save-dev claudeos-core
141
- npx claudeos-core init
142
-
143
- # Opción D: git clone (para desarrollo/contribución)
144
- git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
145
-
146
- # Multiplataforma (PowerShell, CMD, Bash, Zsh — cualquier terminal)
147
- node claudeos-core-tools/bin/cli.js init
148
-
149
- # Solo Linux/macOS (solo Bash)
150
- bash claudeos-core-tools/bootstrap.sh
151
- ```
152
-
153
- ### Idioma de salida (10 idiomas)
154
-
155
- Al ejecutar `init` sin `--lang`, aparece un selector interactivo con teclas de flecha o teclas numéricas:
156
-
157
- ```
158
- ╔══════════════════════════════════════════════════╗
159
- ║ Select generated document language (required) ║
160
- ╚══════════════════════════════════════════════════╝
161
-
162
- Los archivos generados (CLAUDE.md, Standards, Rules,
163
- Skills, Guides) se escribirán en español.
164
-
165
- 1. en English
166
- ...
167
- ❯ 5. esEspañol (Spanish)
168
- ...
169
-
170
- ↑↓ Move 1-0 Jump Enter Select ESC Cancel
171
- ```
172
-
173
- La descripción cambia al idioma seleccionado al navegar. Para saltar el selector:
174
-
175
- ```bash
176
- npx claudeos-core init --lang es # Español
177
- npx claudeos-core init --lang en # English
178
- npx claudeos-core init --lang ko # 한국어
179
- ```
180
-
181
- > **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.
182
-
183
- Eso es todo. Después de 518 minutos, toda la documentación estará generada y lista para usar.
184
- El CLI muestra el tiempo transcurrido por cada Pass y el tiempo total en el banner de finalización.
185
-
186
- ### Instalación Manual Paso a Paso
187
-
188
- 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.
189
-
190
- #### Step 1: Clonar e instalar dependencias
191
-
192
- ```bash
193
- cd /your/project/root
194
-
195
- git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
196
- cd claudeos-core-tools && npm install && cd ..
197
- ```
198
-
199
- #### Step 2: Crear estructura de directorios
200
-
201
- ```bash
202
- # Rules
203
- mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
204
-
205
- # Standards
206
- mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
207
-
208
- # Skills
209
- mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
210
-
211
- # Guide, Plan, Database, MCP, Generated
212
- mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
213
- mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
214
- ```
215
-
216
- #### Step 3: Ejecutar plan-installer (análisis del proyecto)
217
-
218
- Escanea tu proyecto, detecta el stack, encuentra dominios, los divide en grupos y genera prompts.
219
-
220
- ```bash
221
- node claudeos-core-tools/plan-installer/index.js
222
- ```
223
-
224
- **Salida (`claudeos-core/generated/`):**
225
- - `project-analysis.json` — stack detectado, dominios, info de frontend
226
- - `domain-groups.json` — grupos de dominios para Pass 1
227
- - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` prompts de análisis
228
- - `pass2-prompt.md` — prompt de fusión
229
- - `pass3-prompt.md` prompt de generación
230
-
231
- Puedes inspeccionar estos archivos para verificar la precisión de la detección antes de continuar.
232
-
233
- #### Step 4: Pass 1 Análisis profundo de código por grupo de dominio
234
-
235
- Ejecuta Pass 1 para cada grupo de dominio. Revisa `domain-groups.json` para el número de grupos.
236
-
237
- ```bash
238
- # Check groups
239
- cat claudeos-core/generated/domain-groups.json | node -e "
240
- const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
241
- g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
242
- "
243
-
244
- # Run Pass 1 for group 1:
245
- cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
246
- DOMAIN_LIST="user, order, product" PASS_NUM=1 \
247
- perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
248
- cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
249
-
250
- # Para grupos frontend, use pass1-frontend-prompt.md
251
- ```
252
-
253
- **Verificar:** `ls claudeos-core/generated/pass1-*.json` debe mostrar un JSON por grupo.
254
-
255
- #### Step 5: Pass 2 Fusionar resultados de análisis
256
-
257
- ```bash
258
- cat claudeos-core/generated/pass2-prompt.md \
259
- | claude -p --dangerously-skip-permissions
260
- ```
261
-
262
- **Verificar:** `claudeos-core/generated/pass2-merged.json` debe existir con 9+ claves de nivel superior.
263
-
264
- #### Step 6: Pass 3 Generar toda la documentación
265
-
266
- ```bash
267
- cat claudeos-core/generated/pass3-prompt.md \
268
- | claude -p --dangerously-skip-permissions
269
- ```
270
-
271
- **Verificar:** `CLAUDE.md` debe existir en la raíz del proyecto.
272
-
273
- #### Step 7: Ejecutar herramientas de verificación
274
-
275
- ```bash
276
- # Generar metadatos (requerido antes de otras verificaciones)
277
- node claudeos-core-tools/manifest-generator/index.js
278
-
279
- # Ejecutar todas las verificaciones
280
- node claudeos-core-tools/health-checker/index.js
281
-
282
- # O ejecutar verificaciones individuales:
283
- node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
284
- node claudeos-core-tools/sync-checker/index.js # Sync status
285
- node claudeos-core-tools/content-validator/index.js # Content quality
286
- node claudeos-core-tools/pass-json-validator/index.js # JSON format
287
- ```
288
-
289
- #### Step 8: Verificar los resultados
290
-
291
- ```bash
292
- find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
293
- head -30 CLAUDE.md
294
- ls .claude/rules/*/
295
- ```
296
-
297
- > **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.
298
-
299
- ### Empieza a Usar
300
-
301
- ```
302
- # En Claude Code — simplemente habla de forma natural:
303
- "Crea un CRUD para el dominio de pedidos"
304
- "Añade una API de autenticación de usuarios"
305
- "Refactoriza este código según los patrones del proyecto"
306
-
307
- # Claude Code referencia automáticamente tus Standards, Rules y Skills generados.
308
- ```
309
-
310
- ---
311
-
312
- ## Cómo Funciona — Pipeline de 3 Pasadas
313
-
314
- ```
315
- npx claudeos-core init
316
-
317
- ├── [1] npm install ← Dependencias (~10s)
318
- ├── [2] Estructura de directorios ← Crear carpetas (~1s)
319
- ├── [3] plan-installer (Node.js) Escaneo del proyecto (~5s)
320
- ├── Auto-detección de stack (multi-stack)
321
- ├── Extracción de lista de dominios (etiquetados: backend/frontend)
322
- │ ├── División en grupos de dominios (por tipo)
323
- └── Selección de prompts específicos por stack (por tipo)
324
-
325
- ├── [4] Pass 1 × N (claude -p) ← Análisis profundo de código (~2-8min)
326
- ├── ⚙️ Grupos backend → prompt de análisis backend
327
- │ └── 🎨 Grupos frontend prompt de análisis frontend
328
-
329
- ├── [5] Pass 2 × 1 (claude -p) ← Fusión de análisis (~1min)
330
- └── Consolidar TODOS los resultados de Pass 1 (backend + frontend)
331
-
332
- ├── [6] Pass 3 × 1 (claude -p) ← Generar todo (~3-5min)
333
- └── Prompt combinado (objetivos backend + frontend)
334
-
335
- └── [7] Verificación ← Ejecución automática del health checker
336
- ```
337
-
338
- ### ¿Por Qué 3 Pasadas?
339
-
340
- **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.
341
-
342
- **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).
343
-
344
- **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.
345
-
346
- ---
347
-
348
- ## Estructura de Archivos Generados
349
-
350
- ```
351
- your-project/
352
-
353
- ├── CLAUDE.md ← Punto de entrada de Claude Code
354
-
355
- ├── .claude/
356
- └── rules/ ← Reglas activadas por Glob
357
- ├── 00.core/
358
- ├── 10.backend/
359
- │ ├── 20.frontend/
360
- │ ├── 30.security-db/
361
- │ ├── 40.infra/
362
- └── 50.sync/ ← Reglas de recordatorio de sincronización
363
-
364
- ├── claudeos-core/ Directorio principal de salida
365
- ├── generated/ ← JSON de análisis + prompts dinámicos
366
- ├── standard/ Estándares de código (15-19 archivos)
367
- │ ├── skills/ Skills de scaffolding CRUD
368
- │ ├── guide/ Onboarding, FAQ, troubleshooting (9 archivos)
369
- │ ├── plan/ Master Plans (backup/restauración)
370
- │ ├── database/ Esquema BD, guía de migración
371
- └── mcp-guide/ Guía de integración de servidor MCP
372
-
373
- └── claudeos-core-tools/ Este toolkit (no modificar)
374
- ```
375
-
376
- 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.
377
-
378
- ---
379
-
380
- ## Auto-escalado por Tamaño de Proyecto
381
-
382
- | Tamaño | Dominios | Ejecuciones Pass 1 | Total `claude -p` | Tiempo Est. |
383
- |---|---|---|---|---|
384
- | Pequeño | 1–4 | 1 | 3 | ~5min |
385
- | Mediano | 5–8 | 2 | 4 | ~8min |
386
- | Grande | 916 | 3–4 | 5–6 | ~12min |
387
- | Extra Grande | 17+ | 5+ | 7+ | ~18min+ |
388
-
389
- 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".
390
-
391
- ---
392
-
393
- ## Herramientas de Verificación
394
-
395
- ClaudeOS-Core incluye 5 herramientas de verificación integradas que se ejecutan automáticamente después de la generación:
396
-
397
- ```bash
398
- # Ejecutar todas las verificaciones a la vez (recomendado)
399
- npx claudeos-core health
400
-
401
- # Comandos individuales
402
- npx claudeos-core validate # Comparación Plan ↔ disco
403
- npx claudeos-core refresh # Sincronización Disco → Plan
404
- npx claudeos-core restore # Restauración Plan Disco
405
- ```
406
-
407
- | Herramienta | Función |
408
- |---|---|
409
- | **manifest-generator** | Construye JSON de metadatos (rule-manifest, sync-map, plan-manifest) |
410
- | **plan-validator** | Compara bloques `<file>` del Master Plan con el disco — 3 modos: check, refresh, restore |
411
- | **sync-checker** | Detecta archivos no registrados (en disco pero no en plan) y entradas huérfanas |
412
- | **content-validator** | Valida calidad de archivos archivos vacíos, ejemplos ✅/❌ faltantes, secciones requeridas |
413
- | **pass-json-validator** | Valida estructura JSON de Pass 1–3, claves requeridas y completitud de secciones |
414
-
415
- ---
416
-
417
- ## Cómo Claude Code Usa tu Documentación
418
-
419
- Así es como Claude Code lee la documentación generada por ClaudeOS-Core:
420
-
421
- ### Archivos que se leen automáticamente
422
-
423
- | Archivo | Cuándo | Garantizado |
424
- |---|---|---|
425
- | `CLAUDE.md` | Al inicio de cada conversación | Siempre |
426
- | `.claude/rules/00.core/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
427
- | `.claude/rules/10.backend/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
428
- | `.claude/rules/30.security-db/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
429
- | `.claude/rules/40.infra/*` | Solo al editar archivos config/infra (paths con alcance) | Condicional |
430
- | `.claude/rules/50.sync/*` | Solo al editar archivos claudeos-core (paths con alcance) | Condicional |
431
-
432
- ### Archivos leídos bajo demanda vía referencias en reglas
433
-
434
- Cada archivo de regla enlaza a su standard correspondiente en la sección `## Reference`. Claude solo lee el standard relevante para la tarea actual:
435
-
436
- - `claudeos-core/standard/**` Patrones de código, ejemplos ✅/❌, convenciones de nombres
437
- - `claudeos-core/database/**` — Schema DB (para queries, mappers, migraciones)
438
-
439
- `00.standard-reference.md` sirve como directorio para descubrir standards sin regla correspondiente.
440
-
441
- ### Archivos que NO se leen (ahorro de contexto)
442
-
443
- Excluidos explícitamente por la sección `DO NOT Read` de la regla standard-reference:
444
-
445
- | Carpeta | Razón de exclusión |
446
- |---|---|
447
- | `claudeos-core/plan/` | Backups de Master Plan (~340KB). Usa `npx claudeos-core refresh` para sincronizar. |
448
- | `claudeos-core/generated/` | Metadatos JSON de build. No es referencia de código. |
449
- | `claudeos-core/guide/` | Guías de onboarding para humanos. |
450
- | `claudeos-core/mcp-guide/` | Docs de servidor MCP. No es referencia de código. |
451
-
452
- ---
453
-
454
- ## Flujo de Trabajo Diario
455
-
456
- ### Después de la Instalación
457
-
458
- ```
459
- # Usa Claude Code normalmente — referencia tus estándares automáticamente:
460
- "Crea un CRUD para el dominio de pedidos"
461
- "Añade una API de actualización de perfil de usuario"
462
- "Refactoriza este código según los patrones del proyecto"
463
- ```
464
-
465
- ### Después de Editar Estándares Manualmente
466
-
467
- ```bash
468
- # Después de editar archivos standard o rules:
469
- npx claudeos-core refresh
470
-
471
- # Verifica que todo sea consistente
472
- npx claudeos-core health
473
- ```
474
-
475
- ### Cuando los Documentos se Corrompen
476
-
477
- ```bash
478
- # Restaura todo desde el Master Plan
479
- npx claudeos-core restore
480
- ```
481
-
482
- ### Integración CI/CD
483
-
484
- ```yaml
485
- # Ejemplo de GitHub Actions
486
- - run: npx claudeos-core validate
487
- # Código de salida 1 bloquea el PR
488
- ```
489
-
490
- ---
491
-
492
- ## ¿En Qué se Diferencia?
493
-
494
- | | ClaudeOS-Core | Everything Claude Code (50K+ ⭐) | Harness | specs-generator | Claude `/init` |
495
- |---|---|---|---|---|---|
496
- | **Approach** | Code analyzes first, then LLM generates | Pre-built config presets | LLM designs agent teams | LLM generates spec docs | LLM writes CLAUDE.md |
497
- | **Reads your source code** | ✅ Deterministic static analysis | ❌ | ❌ | ❌ (LLM reads) | ❌ (LLM reads) |
498
- | **Stack detection** | Code confirms (ORM, DB, build tool, pkg manager) | N/A (stack-agnostic) | LLM guesses | LLM guesses | LLM guesses |
499
- | **Domain detection** | Code confirms (Java 5 patterns, Kotlin CQRS, Next.js FSD) | N/A | LLM guesses | N/A | N/A |
500
- | **Same project Same result** | Deterministic analysis | (static files) | ❌ (LLM varies) | ❌ (LLM varies) | ❌ (LLM varies) |
501
- | **Large project handling** | Domain group splitting (4 domains / 40 files per group) | N/A | No splitting | No splitting | Context window limit |
502
- | **Output** | CLAUDE.md + Rules + Standards + Skills + Guides + Plans (40-50+ files) | Agents + Skills + Commands + Hooks | Agents + Skills | 6 spec documents | CLAUDE.md (1 file) |
503
- | **Output location** | `.claude/rules/` (auto-loaded by Claude Code) | `.claude/` various | `.claude/agents/` + `.claude/skills/` | `.claude/steering/` + `specs/` | `CLAUDE.md` |
504
- | **Post-generation verification** | 5 automated validators | | | | |
505
- | **Multi-language output** | 10 languages | | | | |
506
- | **Multi-stack** | ✅ Backend + Frontend simultaneous | ❌ Stack-agnostic | ❌ | ❌ | Partial |
507
- | **Agent orchestration** | ❌ | 28 agents | 6 patterns | ❌ | ❌ |
508
-
509
- ### Key difference
510
-
511
- **Other tools give Claude "generally good instructions." ClaudeOS-Core gives Claude "instructions extracted from your actual code."**
512
-
513
- ### Complementary, not competing
514
-
515
- ClaudeOS-Core: **project-specific rules**. Other tools: **agent orchestration**.
516
- Use both together.
517
-
518
- ---
519
- ## FAQ
520
-
521
- **P: ¿Modifica mi código fuente?**
522
- No. Solo crea `CLAUDE.md`, `.claude/rules/` y `claudeos-core/`. Tu código existente nunca se modifica.
523
-
524
- **P: ¿Cuánto cuesta?**
525
- Llama a `claude -p` entre 3–7 veces. Está dentro del uso normal de Claude Code.
526
-
527
- **P: ¿Debería hacer commit de los archivos generados a Git?**
528
- 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).
529
-
530
- **P: ¿Qué pasa con proyectos de stack mixto (ej: backend Java + frontend React)?**
531
- 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.
532
-
533
- **P: ¿Funciona con Turborepo / pnpm workspaces / monorepos Lerna?**
534
- 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.
535
-
536
- **P: ¿Qué pasa al re-ejecutar?**
537
- 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.
538
-
539
- **P: ¿NestJS tiene su propia plantilla o usa la de Express?**
540
- 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`.
541
-
542
- **P: ¿Qué hay de los proyectos Vue / Nuxt?**
543
- 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`.
544
-
545
- **P: ¿Soporta Kotlin?**
546
- 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.).
547
-
548
- **P: ¿Qué hay de la arquitectura CQRS / BFF?**
549
- 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.
550
-
551
- **P: ¿Qué hay de los monorepos multi-módulo de Gradle?**
552
- 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.
553
-
554
- ---
555
-
556
- ## Estructura de Plantillas
557
-
558
- ```
559
- pass-prompts/templates/
560
- ├── common/ # Encabezado/pie compartido
561
- ├── java-spring/ # Java / Spring Boot
562
- ├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
563
- ├── node-express/ # Node.js / Express
564
- ├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
565
- ├── node-fastify/ # Node.js / Fastify
566
- ├── node-nextjs/ # Next.js / React
567
- ├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
568
- ├── angular/ # Angular
569
- ├── python-django/ # Python / Django (DRF)
570
- └── python-fastapi/ # Python / FastAPI
571
- ```
572
-
573
- `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.
574
-
575
- ---
576
-
577
- ## Soporte Monorepo
578
-
579
- ClaudeOS-Core detecta automáticamente configuraciones de monorepo JS/TS y escanea sub-paquetes en busca de dependencias.
580
-
581
- **Marcadores de monorepo soportados** (auto-detectados):
582
- - `turbo.json` (Turborepo)
583
- - `pnpm-workspace.yaml` (pnpm workspaces)
584
- - `lerna.json` (Lerna)
585
- - `package.json#workspaces` (npm/yarn workspaces)
586
-
587
- **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:
588
-
589
- ```bash
590
- cd my-monorepo
591
- npx claudeos-core init
592
- ```
593
-
594
- **Qué se detecta:**
595
- - Dependencias de `apps/web/package.json` (ej: `next`, `react`) → stack frontend
596
- - Dependencias de `apps/api/package.json` (ej: `express`, `prisma`) → stack backend
597
- - Dependencias de `packages/db/package.json` (ej: `drizzle-orm`) → ORM/BD
598
- - Rutas de workspace personalizadas desde `pnpm-workspace.yaml` (ej: `services/*`)
599
-
600
- **El escaneo de dominios también cubre layouts de monorepo:**
601
- - `apps/api/src/modules/*/` y `apps/api/src/*/` para dominios backend
602
- - `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` para dominios frontend
603
- - `packages/*/src/*/` para dominios de paquetes compartidos
604
-
605
- ```
606
- my-monorepo/ ← Ejecuta aquí: npx claudeos-core init
607
- ├── turbo.json ← Auto-detectado como Turborepo
608
- ├── apps/
609
- ├── web/ Next.js detectado desde apps/web/package.json
610
- │ │ ├── app/dashboard/ ← Dominio frontend detectado
611
- │ └── package.json { "dependencies": { "next": "^14" } }
612
- └── api/ Express detectado desde apps/api/package.json
613
- ├── src/modules/users/ Dominio backend detectado
614
- └── package.json { "dependencies": { "express": "^4" } }
615
- ├── packages/
616
- ├── db/ Drizzle detectado desde packages/db/package.json
617
- │ └── ui/
618
- └── package.json { "workspaces": ["apps/*", "packages/*"] }
619
- ```
620
-
621
- > **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.
622
-
623
- ## Solución de Problemas
624
-
625
- **"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).
626
-
627
- **"npm install failed"** — La versión de Node.js puede ser demasiado baja. Se requiere v18+.
628
-
629
- **"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.
630
-
631
- **"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/`.
632
-
633
- **"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`.
634
-
635
- **"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.
636
-
637
- ---
638
-
639
- ## Contribuir
640
-
641
- ¡Las contribuciones son bienvenidas! Áreas donde más se necesita ayuda:
642
-
643
- - **Nuevas plantillas de stack** Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
644
- - **Soporte profundo para monorepos** — Raíces de sub-proyectos separadas, detección de workspaces
645
- - **Cobertura de tests** — Suite de tests en expansión (actualmente 256 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 y herramientas de verificación)
646
-
647
- ---
648
-
649
- ## Autor
650
-
651
- Creado por **claudeos-core** — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
652
-
653
- ## Licencia
654
-
655
- ISC
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. enEnglish
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 12) 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 | 14 | 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