claudeos-core 1.5.1 → 1.6.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 +54 -27
- package/README.es.md +54 -26
- package/README.fr.md +54 -26
- package/README.hi.md +54 -27
- package/README.ja.md +53 -26
- package/README.ko.md +56 -29
- package/README.md +53 -26
- package/README.ru.md +54 -27
- package/README.vi.md +54 -27
- package/README.zh-CN.md +54 -27
- package/bin/cli.js +6 -2
- package/bin/commands/init.js +47 -45
- package/bin/lib/cli-utils.js +5 -9
- package/bin/lib/lang-selector.js +10 -8
- package/bin/lib/resume-selector.js +10 -8
- package/content-validator/index.js +6 -11
- package/health-checker/index.js +7 -17
- package/lib/plan-parser.js +149 -0
- package/lib/stale-report.js +36 -0
- package/manifest-generator/index.js +12 -35
- package/package.json +1 -1
- package/pass-json-validator/index.js +6 -11
- package/pass-prompts/templates/node-nestjs/pass1.md +132 -0
- package/pass-prompts/templates/node-nestjs/pass2.md +97 -0
- package/pass-prompts/templates/node-nestjs/pass3.md +121 -0
- package/pass-prompts/templates/vue-nuxt/pass1.md +119 -0
- package/pass-prompts/templates/vue-nuxt/pass2.md +83 -0
- package/pass-prompts/templates/vue-nuxt/pass3.md +100 -0
- package/plan-installer/domain-grouper.js +5 -2
- package/plan-installer/prompt-generator.js +1 -4
- package/plan-installer/scanners/scan-frontend.js +10 -3
- package/plan-installer/scanners/scan-java.js +12 -12
- package/plan-installer/scanners/scan-kotlin.js +47 -23
- package/plan-installer/scanners/scan-node.js +16 -2
- package/plan-installer/stack-detector.js +40 -1
- package/plan-validator/index.js +11 -121
- package/sync-checker/index.js +6 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.6.0] — 2026-04-08
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **JS/TS monorepo support** — Auto-detect `turbo.json`, `pnpm-workspace.yaml`, `lerna.json`, `package.json#workspaces`; scan sub-package `package.json` for framework/ORM/DB dependencies; domain scanning covers `apps/*/src/` and `packages/*/src/` patterns
|
|
8
|
+
- **NestJS dedicated template (`node-nestjs`)** — Separate analysis prompts for `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, DI container, CQRS, `Test.createTestingModule`; previously shared `node-express` template
|
|
9
|
+
- **Vue/Nuxt dedicated template (`vue-nuxt`)** — Separate analysis prompts for Composition API, `<script setup>`, Pinia, `useFetch`/`useAsyncData`, Nitro server routes, `@nuxt/test-utils`; previously shared `node-nextjs` template
|
|
10
|
+
- **Elapsed time tracking** — CLI shows per-pass elapsed time and total time in completion banner
|
|
11
|
+
- **169 new tests** (87 → 256) — Full coverage for `scan-frontend.js` (4-stage fallback), `scan-kotlin.js` (CQRS, shared query resolution), `scan-node.js`, `scan-python.js`, `prompt-generator.js` (multi-stack), `lang-selector.js`, `resume-selector.js`, `init.js`, `plan-parser.js`, monorepo detection
|
|
12
|
+
- **README updates (10 languages)** — Updated all README files (en, ko, zh-CN, ja, es, vi, hi, ru, fr, de) to reflect new stacks table (NestJS/Vue split), monorepo root execution, facade/usecase/orchestrator detection, template structure, 3 new FAQ entries, 256 test count
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- **Windows backslash glob in `scan-kotlin.js`** — glob returns backslash paths on Windows, causing multi-module detection to silently fail; added `norm()` normalization (no-op on Unix)
|
|
17
|
+
- **Kotlin module key collision** — When same module name exists under different parents (e.g., `servers/command/api-server` + `servers/query/api-server`), both entries now upgrade to full key; `domainMap` merges counts instead of overwriting
|
|
18
|
+
- **Java facade/usecase/orchestrator detection** — `scan-java.js` now detects `facade/`, `usecase/`, `orchestrator/` directories as service-layer (previously only `aggregator/`)
|
|
19
|
+
- **Verification tools exit code** — 4 tools (`content-validator`, `plan-validator`, `sync-checker`, `pass-json-validator`) now exit(1) on unexpected errors instead of exit(0); `health-checker` wrapped in try/catch
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **`lib/plan-parser.js`** (new) — Extracted shared `parseFileBlocks`, `parseCodeBlocks`, `replaceFileBlock`, `replaceCodeBlock`, `CODE_BLOCK_PLANS` from `manifest-generator` and `plan-validator`; eliminates duplicate code across 2 files
|
|
24
|
+
- **`lib/stale-report.js`** (new) — Extracted shared `updateStaleReport()` from 6 verification tools; eliminates copy-paste pattern
|
|
25
|
+
- **`cli-utils.js`** — `ensureDir` and `fileExists` now delegate to `lib/safe-fs.js` (single source of truth)
|
|
26
|
+
- **`prompt-generator.js`** — Removed dead strip regex (no template matched these patterns)
|
|
27
|
+
- **`init.js` process.exit refactoring** — `process.exit(1)` replaced with `throw InitError`; `lang-selector.js` and `resume-selector.js` return `null` instead of calling `process.exit()`; all errors handled centrally in `cli.js`
|
|
28
|
+
|
|
3
29
|
## [1.5.1] — 2026-04-06
|
|
4
30
|
|
|
5
31
|
### Fixed
|
package/README.de.md
CHANGED
|
@@ -65,14 +65,16 @@ Dieser Unterschied summiert sich. 10 Aufgaben/Tag × 20 Minuten gespart = **übe
|
|
|
65
65
|
|---|---|---|
|
|
66
66
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 Paketmuster | 10 Kategorien, 59 Unterpunkte |
|
|
67
67
|
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 Kategorien, 95 Unterpunkte |
|
|
68
|
-
| **Node.js / Express
|
|
69
|
-
| **
|
|
68
|
+
| **Node.js / Express** | `package.json` | 9 Kategorien, 57 Unterpunkte |
|
|
69
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 Kategorien, 68 Unterpunkte |
|
|
70
|
+
| **Next.js / React** | `package.json`, `next.config.*`, FSD-Unterstützung | 9 Kategorien, 55 Unterpunkte |
|
|
71
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 Kategorien, 58 Unterpunkte |
|
|
70
72
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 Kategorien, 55 Unterpunkte |
|
|
71
73
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 Kategorien, 58 Unterpunkte |
|
|
72
74
|
| **Node.js / Fastify** | `package.json` | 10 Kategorien, 62 Unterpunkte |
|
|
73
75
|
| **Angular** | `package.json`, `angular.json` | 12 Kategorien, 78 Unterpunkte |
|
|
74
76
|
|
|
75
|
-
Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy usw.), Datenbank (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), Paketmanager (Gradle, Maven, npm, yarn, pnpm, pip, poetry), Architektur (CQRS, BFF — aus Modulnamen erkannt), Multi-Modul-Struktur (aus settings.gradle).
|
|
77
|
+
Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy usw.), Datenbank (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), Paketmanager (Gradle, Maven, npm, yarn, pnpm, pip, poetry), Architektur (CQRS, BFF — aus Modulnamen erkannt), Multi-Modul-Struktur (aus settings.gradle), Monorepo (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces).
|
|
76
78
|
|
|
77
79
|
**Sie müssen nichts angeben. Alles wird automatisch erkannt.**
|
|
78
80
|
|
|
@@ -87,7 +89,7 @@ Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, J
|
|
|
87
89
|
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
88
90
|
| C | Flach | `controller/*.java` | `controller/UserController.java` → extrahiert `user` aus Klassenname |
|
|
89
91
|
|
|
90
|
-
Domains nur mit Services (ohne Controller) werden ebenfalls über die Verzeichnisse `service/`, `dao/`, `aggregator/`, `mapper/`, `repository/` erkannt. Übersprungen: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` usw.
|
|
92
|
+
Domains nur mit Services (ohne Controller) werden ebenfalls über die Verzeichnisse `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/` erkannt. Übersprungen: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` usw.
|
|
91
93
|
|
|
92
94
|
|
|
93
95
|
### Kotlin Multi-Modul Domain-Erkennung
|
|
@@ -177,7 +179,7 @@ npx claudeos-core init --lang ko # 한국어
|
|
|
177
179
|
|
|
178
180
|
> **Hinweis:** Dies ändert nur die Sprache der generierten Dokumentationsdateien. Die Codeanalyse (Pass 1–2) läuft immer auf Englisch; nur das generierte Ergebnis (Pass 3) wird in der gewählten Sprache geschrieben.
|
|
179
181
|
|
|
180
|
-
Das war's. Nach 5–18 Minuten ist die gesamte Dokumentation generiert und einsatzbereit.
|
|
182
|
+
Das war's. Nach 5–18 Minuten ist die gesamte Dokumentation generiert und einsatzbereit. Die CLI zeigt die verstrichene Zeit pro Pass und die Gesamtzeit im Abschlussbanner an.
|
|
181
183
|
|
|
182
184
|
### Manuelle Schritt-für-Schritt-Installation
|
|
183
185
|
|
|
@@ -529,6 +531,15 @@ Vollständig unterstützt. ClaudeOS-Core erkennt automatisch beide Stacks, taggt
|
|
|
529
531
|
**F: Was passiert bei erneutem Ausführen?**
|
|
530
532
|
Wenn vorherige Pass 1/2-Ergebnisse existieren, können Sie über einen interaktiven Prompt wählen: **Continue** (dort fortfahren, wo es aufgehört hat) oder **Fresh** (alles löschen und neu starten). Verwenden Sie `--force`, um den Prompt zu überspringen und immer neu zu starten. Pass 3 wird immer erneut ausgeführt. Frühere Versionen können aus Master Plans wiederhergestellt werden.
|
|
531
533
|
|
|
534
|
+
**F: Funktioniert es mit Turborepo / pnpm Workspaces / Lerna Monorepos?**
|
|
535
|
+
Ja. ClaudeOS-Core erkennt `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` oder `package.json#workspaces` und scannt automatisch die `package.json`-Dateien der Unterpakete nach Framework-/ORM-/DB-Abhängigkeiten. Domain-Scanning deckt `apps/*/src/`- und `packages/*/src/`-Muster ab. Führen Sie es vom Monorepo-Root aus.
|
|
536
|
+
|
|
537
|
+
**F: Bekommt NestJS ein eigenes Template oder nutzt es das Express-Template?**
|
|
538
|
+
NestJS verwendet ein dediziertes `node-nestjs`-Template mit NestJS-spezifischen Analysekategorien: `@Module`, `@Injectable`, `@Controller`-Dekoratoren, Guards, Pipes, Interceptors, DI-Container, CQRS-Patterns und `Test.createTestingModule`. Express-Projekte verwenden das separate `node-express`-Template.
|
|
539
|
+
|
|
540
|
+
**F: Was ist mit Vue / Nuxt-Projekten?**
|
|
541
|
+
Vue/Nuxt verwendet ein dediziertes `vue-nuxt`-Template, das Composition API, `<script setup>`, defineProps/defineEmits, Pinia Stores, `useFetch`/`useAsyncData`, Nitro Server Routes und `@nuxt/test-utils` abdeckt. Next.js/React-Projekte verwenden das `node-nextjs`-Template.
|
|
542
|
+
|
|
532
543
|
**F: Wird Kotlin unterstützt?**
|
|
533
544
|
Ja. ClaudeOS-Core erkennt Kotlin automatisch aus `build.gradle.kts` oder dem Kotlin-Plugin in `build.gradle`. Es verwendet ein dediziertes `kotlin-spring`-Template mit Kotlin-spezifischer Analyse (Data Classes, Sealed Classes, Coroutines, Extension Functions, MockK usw.).
|
|
534
545
|
|
|
@@ -547,50 +558,66 @@ pass-prompts/templates/
|
|
|
547
558
|
├── common/ # Gemeinsamer Header/Footer
|
|
548
559
|
├── java-spring/ # Java / Spring Boot
|
|
549
560
|
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
550
|
-
├── node-express/ # Node.js / Express
|
|
551
|
-
├── node-
|
|
552
|
-
├── python-django/ # Python / Django (DRF)
|
|
561
|
+
├── node-express/ # Node.js / Express
|
|
562
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
553
563
|
├── node-fastify/ # Node.js / Fastify
|
|
564
|
+
├── node-nextjs/ # Next.js / React
|
|
565
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
554
566
|
├── angular/ # Angular
|
|
567
|
+
├── python-django/ # Python / Django (DRF)
|
|
555
568
|
└── python-fastapi/ # Python / FastAPI
|
|
556
569
|
```
|
|
557
570
|
|
|
558
|
-
`plan-installer` erkennt automatisch Ihren Stack / Ihre Stacks und stellt typspezifische Prompts zusammen. Für Multi-Stack-Projekte werden `pass1-backend-prompt.md` und `pass1-frontend-prompt.md` separat generiert, während `pass3-prompt.md` die Generierungsziele beider Stacks kombiniert.
|
|
571
|
+
`plan-installer` erkennt automatisch Ihren Stack / Ihre Stacks und stellt typspezifische Prompts zusammen. NestJS und Vue/Nuxt verwenden dedizierte Templates mit frameworkspezifischen Analysekategorien (z.B. `@Module`/`@Injectable`/Guards für NestJS, `<script setup>`/Pinia/useFetch für Vue). Für Multi-Stack-Projekte werden `pass1-backend-prompt.md` und `pass1-frontend-prompt.md` separat generiert, während `pass3-prompt.md` die Generierungsziele beider Stacks kombiniert.
|
|
559
572
|
|
|
560
573
|
---
|
|
561
574
|
|
|
562
575
|
## Monorepo-Unterstützung
|
|
563
576
|
|
|
564
|
-
ClaudeOS-Core
|
|
577
|
+
ClaudeOS-Core erkennt automatisch JS/TS-Monorepo-Setups und scannt Unterpakete nach Abhängigkeiten.
|
|
565
578
|
|
|
566
|
-
**
|
|
579
|
+
**Unterstützte Monorepo-Marker** (automatisch erkannt):
|
|
580
|
+
- `turbo.json` (Turborepo)
|
|
581
|
+
- `pnpm-workspace.yaml` (pnpm Workspaces)
|
|
582
|
+
- `lerna.json` (Lerna)
|
|
583
|
+
- `package.json#workspaces` (npm/yarn Workspaces)
|
|
567
584
|
|
|
568
|
-
|
|
569
|
-
# Beispiel: Turborepo mit apps/my-app
|
|
570
|
-
cd apps/my-app
|
|
571
|
-
npx claudeos-core init
|
|
585
|
+
**Führen Sie ClaudeOS-Core vom Monorepo-Root aus** — ClaudeOS-Core liest `apps/*/package.json` und `packages/*/package.json`, um Framework-/ORM-/DB-Abhängigkeiten über Unterpakete hinweg zu erkennen:
|
|
572
586
|
|
|
573
|
-
|
|
574
|
-
cd
|
|
587
|
+
```bash
|
|
588
|
+
cd my-monorepo
|
|
575
589
|
npx claudeos-core init
|
|
576
590
|
```
|
|
577
591
|
|
|
578
|
-
|
|
592
|
+
**Was erkannt wird:**
|
|
593
|
+
- Abhängigkeiten aus `apps/web/package.json` (z.B. `next`, `react`) → Frontend-Stack
|
|
594
|
+
- Abhängigkeiten aus `apps/api/package.json` (z.B. `express`, `prisma`) → Backend-Stack
|
|
595
|
+
- Abhängigkeiten aus `packages/db/package.json` (z.B. `drizzle-orm`) → ORM/DB
|
|
596
|
+
- Benutzerdefinierte Workspace-Pfade aus `pnpm-workspace.yaml` (z.B. `services/*`)
|
|
579
597
|
|
|
580
|
-
**
|
|
598
|
+
**Domain-Scanning deckt auch Monorepo-Layouts ab:**
|
|
599
|
+
- `apps/api/src/modules/*/` und `apps/api/src/*/` für Backend-Domains
|
|
600
|
+
- `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` für Frontend-Domains
|
|
601
|
+
- `packages/*/src/*/` für gemeinsame Paket-Domains
|
|
581
602
|
|
|
582
603
|
```
|
|
583
|
-
my-monorepo/ ←
|
|
604
|
+
my-monorepo/ ← Hier ausführen: npx claudeos-core init
|
|
605
|
+
├── turbo.json ← Automatisch als Turborepo erkannt
|
|
584
606
|
├── apps/
|
|
585
|
-
│ ├── web/ ←
|
|
586
|
-
│ ├──
|
|
587
|
-
│ └──
|
|
607
|
+
│ ├── web/ ← Next.js erkannt aus apps/web/package.json
|
|
608
|
+
│ │ ├── app/dashboard/ ← Frontend-Domain erkannt
|
|
609
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
610
|
+
│ └── api/ ← Express erkannt aus apps/api/package.json
|
|
611
|
+
│ ├── src/modules/users/ ← Backend-Domain erkannt
|
|
612
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
588
613
|
├── packages/
|
|
589
|
-
│ ├──
|
|
590
|
-
│ └──
|
|
591
|
-
└── package.json ←
|
|
614
|
+
│ ├── db/ ← Drizzle erkannt aus packages/db/package.json
|
|
615
|
+
│ └── ui/
|
|
616
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
592
617
|
```
|
|
593
618
|
|
|
619
|
+
> **Hinweis:** Für Kotlin/Java-Monorepos verwendet die Multi-Modul-Erkennung `settings.gradle.kts` (siehe [Kotlin Multi-Modul Domain-Erkennung](#kotlin-multi-modul-domain-erkennung) oben) und erfordert keine JS-Monorepo-Marker.
|
|
620
|
+
|
|
594
621
|
## Fehlerbehebung
|
|
595
622
|
|
|
596
623
|
**"claude: command not found"** — Claude Code CLI ist nicht installiert oder nicht im PATH. Siehe [Claude Code Dokumentation](https://code.claude.com/docs/en/overview).
|
|
@@ -613,7 +640,7 @@ Beiträge sind willkommen! Bereiche, in denen am meisten Hilfe benötigt wird:
|
|
|
613
640
|
|
|
614
641
|
- **Neue Stack-Templates** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
615
642
|
- **Tiefe Monorepo-Unterstützung** — Separate Unterprojekt-Roots, Workspace-Erkennung
|
|
616
|
-
- **Testabdeckung** — Wachsende Testsuite (derzeit
|
|
643
|
+
- **Testabdeckung** — Wachsende Testsuite (derzeit 256 Tests für alle Scanner, Stack-Erkennung, Domain-Gruppierung, Plan-Parsing, Prompt-Generierung, CLI-Selektoren, Monorepo-Erkennung und Verifizierungstools)
|
|
617
644
|
|
|
618
645
|
---
|
|
619
646
|
|
package/README.es.md
CHANGED
|
@@ -65,14 +65,16 @@ Esta diferencia se acumula. 10 tareas/día × 20 minutos ahorrados = **más de 3
|
|
|
65
65
|
|---|---|---|
|
|
66
66
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patrones de paquete | 10 categorías, 59 sub-ítems |
|
|
67
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
|
|
69
|
-
| **
|
|
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 |
|
|
70
72
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 categorías, 55 sub-ítems |
|
|
71
73
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 categorías, 58 sub-ítems |
|
|
72
74
|
| **Node.js / Fastify** | `package.json` | 10 categorías, 62 sub-ítems |
|
|
73
75
|
| **Angular** | `package.json`, `angular.json` | 12 categorías, 78 sub-ítems |
|
|
74
76
|
|
|
75
|
-
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).
|
|
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).
|
|
76
78
|
|
|
77
79
|
**No necesitas especificar nada. Todo se detecta automáticamente.**
|
|
78
80
|
|
|
@@ -87,7 +89,7 @@ Detección automática: lenguaje y versión, framework y versión, ORM (MyBatis,
|
|
|
87
89
|
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
88
90
|
| C | Plano | `controller/*.java` | `controller/UserController.java` → extrae `user` del nombre de clase |
|
|
89
91
|
|
|
90
|
-
Los dominios solo con servicios (sin controladores) también se detectan mediante directorios `service/`, `dao/`, `aggregator/`, `mapper/`, `repository/`. Se omiten: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2`, etc.
|
|
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.
|
|
91
93
|
|
|
92
94
|
|
|
93
95
|
### Detección de Dominios Kotlin Multi-Módulo
|
|
@@ -179,6 +181,7 @@ npx claudeos-core init --lang ko # 한국어
|
|
|
179
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.
|
|
180
182
|
|
|
181
183
|
Eso es todo. Después de 5–18 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.
|
|
182
185
|
|
|
183
186
|
### Instalación Manual Paso a Paso
|
|
184
187
|
|
|
@@ -527,9 +530,18 @@ Sí, recomendado. Tu equipo puede compartir los mismos estándares de Claude Cod
|
|
|
527
530
|
**P: ¿Qué pasa con proyectos de stack mixto (ej: backend Java + frontend React)?**
|
|
528
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.
|
|
529
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
|
+
|
|
530
536
|
**P: ¿Qué pasa al re-ejecutar?**
|
|
531
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.
|
|
532
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
|
+
|
|
533
545
|
**P: ¿Soporta Kotlin?**
|
|
534
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.).
|
|
535
547
|
|
|
@@ -548,50 +560,66 @@ pass-prompts/templates/
|
|
|
548
560
|
├── common/ # Encabezado/pie compartido
|
|
549
561
|
├── java-spring/ # Java / Spring Boot
|
|
550
562
|
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
551
|
-
├── node-express/ # Node.js / Express
|
|
552
|
-
├── node-
|
|
553
|
-
├── python-django/ # Python / Django (DRF)
|
|
563
|
+
├── node-express/ # Node.js / Express
|
|
564
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
554
565
|
├── node-fastify/ # Node.js / Fastify
|
|
566
|
+
├── node-nextjs/ # Next.js / React
|
|
567
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
555
568
|
├── angular/ # Angular
|
|
569
|
+
├── python-django/ # Python / Django (DRF)
|
|
556
570
|
└── python-fastapi/ # Python / FastAPI
|
|
557
571
|
```
|
|
558
572
|
|
|
559
|
-
`plan-installer` auto-detecta tu(s) stack(s) y ensambla prompts específicos por tipo. 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.
|
|
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.
|
|
560
574
|
|
|
561
575
|
---
|
|
562
576
|
|
|
563
577
|
## Soporte Monorepo
|
|
564
578
|
|
|
565
|
-
ClaudeOS-Core
|
|
579
|
+
ClaudeOS-Core detecta automáticamente configuraciones de monorepo JS/TS y escanea sub-paquetes en busca de dependencias.
|
|
566
580
|
|
|
567
|
-
**
|
|
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)
|
|
568
586
|
|
|
569
|
-
|
|
570
|
-
# Ejemplo: Turborepo con apps/my-app
|
|
571
|
-
cd apps/my-app
|
|
572
|
-
npx claudeos-core init
|
|
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:
|
|
573
588
|
|
|
574
|
-
|
|
575
|
-
cd
|
|
589
|
+
```bash
|
|
590
|
+
cd my-monorepo
|
|
576
591
|
npx claudeos-core init
|
|
577
592
|
```
|
|
578
593
|
|
|
579
|
-
|
|
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/*`)
|
|
580
599
|
|
|
581
|
-
**
|
|
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
|
|
582
604
|
|
|
583
605
|
```
|
|
584
|
-
my-monorepo/ ←
|
|
606
|
+
my-monorepo/ ← Ejecuta aquí: npx claudeos-core init
|
|
607
|
+
├── turbo.json ← Auto-detectado como Turborepo
|
|
585
608
|
├── apps/
|
|
586
|
-
│ ├── web/ ←
|
|
587
|
-
│ ├──
|
|
588
|
-
│ └──
|
|
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" } }
|
|
589
615
|
├── packages/
|
|
590
|
-
│ ├──
|
|
591
|
-
│ └──
|
|
592
|
-
└── package.json ←
|
|
616
|
+
│ ├── db/ ← Drizzle detectado desde packages/db/package.json
|
|
617
|
+
│ └── ui/
|
|
618
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
593
619
|
```
|
|
594
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
|
+
|
|
595
623
|
## Solución de Problemas
|
|
596
624
|
|
|
597
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).
|
|
@@ -614,7 +642,7 @@ my-monorepo/ ← No ejecutes aquí (la raíz no tiene deps de
|
|
|
614
642
|
|
|
615
643
|
- **Nuevas plantillas de stack** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
616
644
|
- **Soporte profundo para monorepos** — Raíces de sub-proyectos separadas, detección de workspaces
|
|
617
|
-
- **Cobertura de tests** — Suite de tests en expansión (actualmente
|
|
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)
|
|
618
646
|
|
|
619
647
|
---
|
|
620
648
|
|
package/README.fr.md
CHANGED
|
@@ -65,14 +65,16 @@ Cette différence s'accumule. 10 tâches/jour × 20 minutes économisées = **pl
|
|
|
65
65
|
|---|---|---|
|
|
66
66
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patterns de paquets | 10 catégories, 59 sous-éléments |
|
|
67
67
|
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 catégories, 95 sous-éléments |
|
|
68
|
-
| **Node.js / Express
|
|
69
|
-
| **
|
|
68
|
+
| **Node.js / Express** | `package.json` | 9 catégories, 57 sous-éléments |
|
|
69
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 catégories, 68 sous-éléments |
|
|
70
|
+
| **Next.js / React** | `package.json`, `next.config.*`, support FSD | 9 catégories, 55 sous-éléments |
|
|
71
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 catégories, 58 sous-éléments |
|
|
70
72
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 catégories, 55 sous-éléments |
|
|
71
73
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 catégories, 58 sous-éléments |
|
|
72
74
|
| **Node.js / Fastify** | `package.json` | 10 catégories, 62 sous-éléments |
|
|
73
75
|
| **Angular** | `package.json`, `angular.json` | 12 catégories, 78 sous-éléments |
|
|
74
76
|
|
|
75
|
-
Détection automatique : langage et version, framework et version, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, etc.), base de données (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), gestionnaire de paquets (Gradle, Maven, npm, yarn, pnpm, pip, poetry), architecture (CQRS, BFF — détecté à partir des noms de modules), structure multi-module (depuis settings.gradle).
|
|
77
|
+
Détection automatique : langage et version, framework et version, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, etc.), base de données (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), gestionnaire de paquets (Gradle, Maven, npm, yarn, pnpm, pip, poetry), architecture (CQRS, BFF — détecté à partir des noms de modules), structure multi-module (depuis settings.gradle), monorepo (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces).
|
|
76
78
|
|
|
77
79
|
**Vous n'avez rien à spécifier. Tout est détecté automatiquement.**
|
|
78
80
|
|
|
@@ -87,7 +89,7 @@ Détection automatique : langage et version, framework et version, ORM (MyBatis,
|
|
|
87
89
|
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
88
90
|
| C | Plat | `controller/*.java` | `controller/UserController.java` → extrait `user` du nom de classe |
|
|
89
91
|
|
|
90
|
-
Les domaines sans contrôleurs (service uniquement) sont aussi détectés via les répertoires `service/`, `dao/`, `aggregator/`, `mapper/`, `repository/`. Ignorés : `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2`, etc.
|
|
92
|
+
Les domaines sans contrôleurs (service uniquement) sont aussi détectés via les répertoires `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/`. Ignorés : `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2`, etc.
|
|
91
93
|
|
|
92
94
|
|
|
93
95
|
### Détection des domaines Kotlin multi-modules
|
|
@@ -179,6 +181,7 @@ npx claudeos-core init --lang ko # 한국어
|
|
|
179
181
|
> **Note :** Ceci ne change que la langue des fichiers de documentation générés. L'analyse du code (Pass 1–2) s'exécute toujours en anglais ; seul le résultat généré (Pass 3) est écrit dans la langue choisie.
|
|
180
182
|
|
|
181
183
|
C'est tout. Après 5–18 minutes, toute la documentation est générée et prête à l'emploi.
|
|
184
|
+
Le CLI affiche le temps écoulé par Pass et le temps total dans la bannière de fin.
|
|
182
185
|
|
|
183
186
|
### Installation Manuelle Étape par Étape
|
|
184
187
|
|
|
@@ -527,9 +530,18 @@ Recommandé. Votre équipe peut partager les mêmes standards Claude Code. Envis
|
|
|
527
530
|
**Q : Qu'en est-il des projets multi-stack (ex : backend Java + frontend React) ?**
|
|
528
531
|
Entièrement supporté. ClaudeOS-Core auto-détecte les deux stacks, étiquette les domaines comme `backend` ou `frontend`, et utilise des prompts d'analyse spécifiques pour chacun. Pass 2 fusionne tout, et Pass 3 génère les standards backend et frontend en un seul pass.
|
|
529
532
|
|
|
533
|
+
**Q : Fonctionne-t-il avec Turborepo / pnpm workspaces / Lerna ?**
|
|
534
|
+
Oui. ClaudeOS-Core détecte `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` ou `package.json#workspaces` et scanne automatiquement les `package.json` des sous-packages pour les dépendances framework/ORM/BD. Le scan de domaines couvre les patterns `apps/*/src/` et `packages/*/src/`. Exécutez depuis la racine du monorepo.
|
|
535
|
+
|
|
530
536
|
**Q : Que se passe-t-il lors d'une ré-exécution ?**
|
|
531
537
|
Si des résultats Pass 1/2 précédents existent, un prompt interactif vous permet de choisir : **Continue** (reprendre là où ça s'est arrêté) ou **Fresh** (tout supprimer et repartir de zéro). Utilisez `--force` pour ignorer le prompt et toujours repartir de zéro. Pass 3 est toujours ré-exécuté. Les versions précédentes peuvent être restaurées depuis les Master Plans.
|
|
532
538
|
|
|
539
|
+
**Q : NestJS a-t-il son propre template ou utilise-t-il celui d'Express ?**
|
|
540
|
+
NestJS utilise un template dédié `node-nestjs` avec des catégories d'analyse spécifiques à NestJS : décorateurs `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, conteneur DI, patterns CQRS et `Test.createTestingModule`. Les projets Express utilisent le template séparé `node-express`.
|
|
541
|
+
|
|
542
|
+
**Q : Qu'en est-il des projets Vue / Nuxt ?**
|
|
543
|
+
Vue/Nuxt utilise un template dédié `vue-nuxt` couvrant la Composition API, `<script setup>`, defineProps/defineEmits, les stores Pinia, `useFetch`/`useAsyncData`, les routes serveur Nitro et `@nuxt/test-utils`. Les projets Next.js/React utilisent le template `node-nextjs`.
|
|
544
|
+
|
|
533
545
|
**Q : Kotlin est-il supporté ?**
|
|
534
546
|
Oui. ClaudeOS-Core détecte automatiquement Kotlin à partir de `build.gradle.kts` ou du plugin kotlin dans `build.gradle`. Il utilise un template dédié `kotlin-spring` avec une analyse spécifique à Kotlin (data classes, sealed classes, coroutines, fonctions d'extension, MockK, etc.).
|
|
535
547
|
|
|
@@ -548,50 +560,66 @@ pass-prompts/templates/
|
|
|
548
560
|
├── common/ # En-tête/pied de page partagés
|
|
549
561
|
├── java-spring/ # Java / Spring Boot
|
|
550
562
|
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
551
|
-
├── node-express/ # Node.js / Express
|
|
552
|
-
├── node-
|
|
553
|
-
├── python-django/ # Python / Django (DRF)
|
|
563
|
+
├── node-express/ # Node.js / Express
|
|
564
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
554
565
|
├── node-fastify/ # Node.js / Fastify
|
|
566
|
+
├── node-nextjs/ # Next.js / React
|
|
567
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
555
568
|
├── angular/ # Angular
|
|
569
|
+
├── python-django/ # Python / Django (DRF)
|
|
556
570
|
└── python-fastapi/ # Python / FastAPI
|
|
557
571
|
```
|
|
558
572
|
|
|
559
|
-
`plan-installer` auto-détecte votre/vos stack(s) puis assemble des prompts spécifiques au type. Pour les projets multi-stack, `pass1-backend-prompt.md` et `pass1-frontend-prompt.md` sont générés séparément, tandis que `pass3-prompt.md` combine les cibles de génération des deux stacks.
|
|
573
|
+
`plan-installer` auto-détecte votre/vos stack(s) puis assemble des prompts spécifiques au type. NestJS et Vue/Nuxt utilisent des templates dédiés avec des catégories d'analyse spécifiques au framework (ex : `@Module`/`@Injectable`/Guards pour NestJS, `<script setup>`/Pinia/useFetch pour Vue). Pour les projets multi-stack, `pass1-backend-prompt.md` et `pass1-frontend-prompt.md` sont générés séparément, tandis que `pass3-prompt.md` combine les cibles de génération des deux stacks.
|
|
560
574
|
|
|
561
575
|
---
|
|
562
576
|
|
|
563
577
|
## Support Monorepo
|
|
564
578
|
|
|
565
|
-
ClaudeOS-Core
|
|
579
|
+
ClaudeOS-Core détecte automatiquement les configurations monorepo JS/TS et scanne les sous-packages pour les dépendances.
|
|
566
580
|
|
|
567
|
-
**
|
|
581
|
+
**Marqueurs monorepo supportés** (auto-détectés) :
|
|
582
|
+
- `turbo.json` (Turborepo)
|
|
583
|
+
- `pnpm-workspace.yaml` (pnpm workspaces)
|
|
584
|
+
- `lerna.json` (Lerna)
|
|
585
|
+
- `package.json#workspaces` (npm/yarn workspaces)
|
|
568
586
|
|
|
569
|
-
|
|
570
|
-
# Exemple : Turborepo avec apps/my-app
|
|
571
|
-
cd apps/my-app
|
|
572
|
-
npx claudeos-core init
|
|
587
|
+
**Exécutez depuis la racine du monorepo** — ClaudeOS-Core lit `apps/*/package.json` et `packages/*/package.json` pour découvrir les dépendances framework/ORM/BD dans les sous-packages :
|
|
573
588
|
|
|
574
|
-
|
|
575
|
-
cd
|
|
589
|
+
```bash
|
|
590
|
+
cd my-monorepo
|
|
576
591
|
npx claudeos-core init
|
|
577
592
|
```
|
|
578
593
|
|
|
579
|
-
|
|
594
|
+
**Ce qui est détecté :**
|
|
595
|
+
- Dépendances de `apps/web/package.json` (ex : `next`, `react`) → stack frontend
|
|
596
|
+
- Dépendances de `apps/api/package.json` (ex : `express`, `prisma`) → stack backend
|
|
597
|
+
- Dépendances de `packages/db/package.json` (ex : `drizzle-orm`) → ORM/BD
|
|
598
|
+
- Chemins de workspace personnalisés depuis `pnpm-workspace.yaml` (ex : `services/*`)
|
|
580
599
|
|
|
581
|
-
**
|
|
600
|
+
**Le scan de domaines couvre aussi les structures monorepo :**
|
|
601
|
+
- `apps/api/src/modules/*/` et `apps/api/src/*/` pour les domaines backend
|
|
602
|
+
- `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` pour les domaines frontend
|
|
603
|
+
- `packages/*/src/*/` pour les domaines des packages partagés
|
|
582
604
|
|
|
583
605
|
```
|
|
584
|
-
my-monorepo/ ←
|
|
606
|
+
my-monorepo/ ← Exécuter ici : npx claudeos-core init
|
|
607
|
+
├── turbo.json ← Auto-détecté comme Turborepo
|
|
585
608
|
├── apps/
|
|
586
|
-
│ ├── web/ ←
|
|
587
|
-
│ ├──
|
|
588
|
-
│ └──
|
|
609
|
+
│ ├── web/ ← Next.js détecté depuis apps/web/package.json
|
|
610
|
+
│ │ ├── app/dashboard/ ← Domaine frontend détecté
|
|
611
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
612
|
+
│ └── api/ ← Express détecté depuis apps/api/package.json
|
|
613
|
+
│ ├── src/modules/users/ ← Domaine backend détecté
|
|
614
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
589
615
|
├── packages/
|
|
590
|
-
│ ├──
|
|
591
|
-
│ └──
|
|
592
|
-
└── package.json ←
|
|
616
|
+
│ ├── db/ ← Drizzle détecté depuis packages/db/package.json
|
|
617
|
+
│ └── ui/
|
|
618
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
593
619
|
```
|
|
594
620
|
|
|
621
|
+
> **Note :** Pour les monorepos Kotlin/Java, la détection multi-modules utilise `settings.gradle.kts` (voir [Détection des domaines Kotlin multi-modules](#détection-des-domaines-kotlin-multi-modules) ci-dessus) et ne nécessite pas de marqueurs monorepo JS.
|
|
622
|
+
|
|
595
623
|
## Dépannage
|
|
596
624
|
|
|
597
625
|
**"claude: command not found"** — Claude Code CLI n'est pas installé ou pas dans le PATH. Voir la [documentation Claude Code](https://code.claude.com/docs/en/overview).
|
|
@@ -614,7 +642,7 @@ Les contributions sont les bienvenues ! Domaines où l'aide est la plus nécessa
|
|
|
614
642
|
|
|
615
643
|
- **Nouveaux templates de stack** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
616
644
|
- **Support approfondi monorepo** — Racines de sous-projets séparées, détection de workspaces
|
|
617
|
-
- **Couverture de tests** — Suite de tests en expansion (actuellement
|
|
645
|
+
- **Couverture de tests** — Suite de tests en expansion (actuellement 256 tests couvrant tous les scanners, la détection de stack, le groupement de domaines, le parsing de plans, la génération de prompts, les sélecteurs CLI, la détection de monorepos et les outils de vérification)
|
|
618
646
|
|
|
619
647
|
---
|
|
620
648
|
|