claudeos-core 1.0.7 → 1.2.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +84 -1
  2. package/CONTRIBUTING.md +15 -4
  3. package/README.de.md +187 -11
  4. package/README.es.md +187 -11
  5. package/README.fr.md +187 -11
  6. package/README.hi.md +187 -11
  7. package/README.ja.md +186 -10
  8. package/README.ko.md +331 -364
  9. package/README.md +200 -11
  10. package/README.ru.md +187 -11
  11. package/README.vi.md +188 -12
  12. package/README.zh-CN.md +186 -10
  13. package/bin/cli.js +183 -61
  14. package/bootstrap.sh +128 -21
  15. package/content-validator/index.js +131 -60
  16. package/health-checker/index.js +29 -23
  17. package/import-linter/index.js +14 -8
  18. package/manifest-generator/index.js +26 -20
  19. package/package.json +84 -75
  20. package/pass-json-validator/index.js +92 -70
  21. package/pass-prompts/templates/common/header.md +4 -4
  22. package/pass-prompts/templates/common/lang-instructions.json +27 -0
  23. package/pass-prompts/templates/common/pass3-footer.md +2 -3
  24. package/pass-prompts/templates/java-spring/pass1.md +84 -81
  25. package/pass-prompts/templates/java-spring/pass2.md +66 -66
  26. package/pass-prompts/templates/java-spring/pass3.md +60 -60
  27. package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
  28. package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
  29. package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
  30. package/pass-prompts/templates/node-express/pass1.md +73 -73
  31. package/pass-prompts/templates/node-express/pass2.md +66 -66
  32. package/pass-prompts/templates/node-express/pass3.md +53 -53
  33. package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
  34. package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
  35. package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
  36. package/pass-prompts/templates/python-django/pass1.md +78 -78
  37. package/pass-prompts/templates/python-django/pass2.md +69 -69
  38. package/pass-prompts/templates/python-django/pass3.md +45 -45
  39. package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
  40. package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
  41. package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
  42. package/plan-installer/index.js +623 -97
  43. package/plan-validator/index.js +54 -23
  44. package/sync-checker/index.js +25 -14
package/CHANGELOG.md CHANGED
@@ -1,6 +1,89 @@
1
1
  # Changelog
2
2
 
3
- ## [1.0.0] — 2025
3
+ ## [1.2.0] — 2026-04-01
4
+
5
+ ### Added
6
+ - **Multi-language output (i18n)** — `--lang` parameter selects output language for all generated files
7
+ - 10 languages supported: en, ko, zh-CN, ja, es, vi, hi, ru, fr, de
8
+ - Analysis (Pass 1-2) remains in English; generated files (Pass 3) are in selected language
9
+ - Interactive language selection when `--lang` is omitted
10
+ - Language instruction injected into Pass 3 prompt via `lang-instructions.json` template
11
+ - Code syntax, JSON keys, frontmatter keys stay in English; only documentation text is localized
12
+ - `project-analysis.json` now includes `lang` field
13
+ - `content-validator` updated with language-aware section keyword validation (10 languages)
14
+ - `pass-json-validator` now validates and displays `lang` field
15
+ - `bootstrap.sh` supports `--lang` parameter with interactive fallback
16
+ - **Kotlin / Spring Boot support** — Dedicated `kotlin-spring` template (pass1/pass2/pass3)
17
+ - Kotlin-specific analysis: data class, sealed class, coroutines, extension functions, MockK, Kotest, kotlin-logging
18
+ - 12 analysis categories, 95 sub-items in Pass 1 (vs Java's 10/59)
19
+ - 14 merge categories in Pass 2 (vs Java's 12)
20
+ - 14 CRUD scaffold sub-skills in Pass 3 (vs Java's 8)
21
+ - **CQRS architecture auto-detection** — Detects `command`/`query`/`bff`/`integration` from module names in `settings.gradle(.kts)`
22
+ - **BFF (Backend For Frontend) analysis** — Feign Client patterns, response composition, error propagation, inter-module communication
23
+ - **Gradle multi-module monorepo scanning** — `**/src/main/kotlin/**/*.kt` across all submodules, regardless of nesting depth
24
+ - **Module type classification** — command, query, bff, integration, standalone, library
25
+ - **Domain grouping across modules** — Same domain in Command + Query modules merged into single domain for analysis
26
+ - **Shared query module resolution** — `common-query-server` and similar shared query modules are redistributed to actual domains (Pattern A: package-based, Pattern B: class-name-based extraction)
27
+ - **VO (Value Object) pattern support** — DTO vs VO distinction, value class VO, immutability rules, VO location analysis
28
+ - **Aggregate / Aggregate Root pattern support** — DDD aggregate boundary definition, Aggregate Root identification, repository-per-aggregate, domain event publishing, inter-aggregate references
29
+ - **Aggregator service pattern support** — Aggregator vs BFF distinction, internal service aggregation analysis
30
+ - **Shared library detection** — `shared-lib`, `integration-lib`, `*-lib` detected as special domains
31
+ - **`build.gradle.kts` support** — Kotlin DSL build files detected alongside Groovy DSL
32
+ - **Submodule Kotlin fallback** — If root build file doesn't have Kotlin plugin, checks up to 5 submodule build files
33
+ - **Installation options expanded** — Added `npm install -g` and `npm install --save-dev` options in all 10 READMEs
34
+ - **Manual step-by-step installation** — 8-step guide added to all 10 READMEs
35
+ - **Full English localization** — All JS comments, console messages, pass prompts, and bootstrap.sh translated to English
36
+
37
+ ### Changed
38
+ - `detectStack()` refactored: unified `build.gradle` / `build.gradle.kts` detection path
39
+ - `selectTemplates()` now routes `kotlin` → `kotlin-spring` before Java fallback
40
+ - `plan-validator` output file renamed `plan-manifest.json` → `plan-sync-status.json` (avoids overwriting manifest-generator output)
41
+ - `sync-checker` exit code: now exits 1 only for orphaned files (actual breakage), exits 0 for unregistered files (informational)
42
+ - `import-linter` now scans `database/` and `mcp-guide/` directories (aligned with other tools)
43
+ - `import-graph.json` now includes imports from all 6 directories (was rules/ only)
44
+ - Java `DTO/Entity` analysis category renamed to `DTO/VO/Entity` with VO pattern support added
45
+
46
+ ### Fixed
47
+ - **Security**: Eliminated shell pipe command injection in `cli.js` (`runClaudePrompt` now uses stdin `input` option)
48
+ - **Security**: Fixed Perl code injection in `bootstrap.sh` (domain list now passed via `$ENV{}`)
49
+ - **Security**: Added Bash version guard in `bootstrap.sh` (prevents silent failure when run with `sh`)
50
+ - **Security**: Windows `escapeShellArg` now handles `%`, `^`, `&`, `|`, `<`, `>`, `!` metacharacters
51
+ - **Kotlin single-module fallback**: Projects without `settings.gradle` or `servers/` directory now detect domains from `src/main/kotlin/` (previously returned 0 domains)
52
+ - **plan-validator `--execute`**: Now creates `.bak` backup before overwriting files
53
+ - **Spring Boot version detection**: Added 3 regex patterns for modern Gradle DSL (`plugins {}`, `platform()`)
54
+ - **Port detection**: Now matches only `server.port` (was matching any `port:` including database/Redis ports)
55
+ - **Nested code fence handling**: `plan-validator` now tracks nesting depth to avoid false closing fence detection
56
+ - **stale-report.json crash**: All 4 tools now wrap `JSON.parse` in try/catch (prevents cascade crash on corrupted file)
57
+ - **package.json parse error**: `detectStack()` now catches malformed `package.json` instead of crashing
58
+ - **Module path prefix overlap**: Kotlin module scan appends `/` to prevent `reservation` matching `reservation-ext`
59
+ - **Acronym class names**: `resolveSharedQueryDomains` now handles `IAM`, `BFF` style names
60
+ - `.gitignore`: Added `.env*` pattern, removed redundant entry
61
+
62
+ ## [1.1.0] — 2026-04-01
63
+
64
+ ### Added
65
+ - **Java 5-pattern domain detection** (A→B/D→E→C fallback):
66
+ - A: `controller/{domain}/` (layer-first)
67
+ - B: `{domain}/controller/` (domain-first)
68
+ - C: `controller/*.java` (flat, extract from class name)
69
+ - D: `{module}/{domain}/controller/` (module prefix, auto-upgrade on name conflict)
70
+ - E: `{domain}/adapter/in/web/` (DDD/hexagonal)
71
+ - **Service-only domain detection**: Domains without controllers (e.g., `core/delivery/service/`) are now detected
72
+ - **Frontend FSD support**: `features/*/`, `widgets/*/`, `entities/*/` (Feature-Sliced Design)
73
+ - **RSC/Client component detection**: Counts `client.tsx` files, tracks RSC+Client split pattern per domain
74
+ - **Config file fallback**: Detect Next.js/Vite/Nuxt from config files when framework not in package.json (monorepo support)
75
+ - **Windows glob compatibility**: Direct file scan fallback for Java and Frontend when glob patterns fail on Windows
76
+ - **Stdin-based prompt delivery**: Pass prompt via `execSync` `input` option to `claude -p` (no shell pipe, no temp file — secure and cross-platform)
77
+ - **8 language READMEs**: Chinese, Japanese, Spanish, Vietnamese, Hindi, Russian, French, German
78
+ - **Monorepo Support section** in all 10 READMEs (Turborepo, Nx, Lerna, pnpm workspaces)
79
+ - **Cross-language navigation links** in all READMEs (Korean last position)
80
+ - **Skip filters**: API version paths (`v1`, `v2`), module prefixes (`front`, `admin`, `back`) excluded from domain detection
81
+
82
+ ### Fixed
83
+ - `frontend` variable reference before initialization (RSC stats)
84
+ - npm bin path warning (`npm pkg fix`)
85
+
86
+ ## [1.0.0] — 2025-12-01
4
87
 
5
88
  ### Added
6
89
  - 3-Pass pipeline: Deep analysis → Merge → Generate
package/CONTRIBUTING.md CHANGED
@@ -5,9 +5,16 @@ Thank you for your interest in contributing! Here's how you can help.
5
5
  ## Areas Where Help Is Needed
6
6
 
7
7
  - **New stack templates** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
8
- - **Monorepo deep support** — Separate sub-project roots, workspace detection
8
+ - **IDE integration** — VS Code extension, IntelliJ plugin
9
9
  - **Test coverage** — Unit tests for verification tools
10
- - **Localization** — README translations (Chinese, Japanese, Spanish, etc.)
10
+ - **CI/CD templates** — GitHub Actions, GitLab CI integration examples
11
+ - **Custom template authoring** — User-defined pass1/pass2/pass3 templates
12
+
13
+ ## What's Already Done (no longer needed)
14
+
15
+ - ~~Monorepo deep support~~ — Implemented (Turborepo, Nx, Lerna, pnpm workspaces)
16
+ - ~~Localization~~ — 10 languages available (EN, KO, ZH-CN, JA, ES, VI, HI, RU, FR, DE)
17
+ - ~~Kotlin / Spring Boot~~ — Implemented with CQRS, BFF, and multi-module monorepo support
11
18
 
12
19
  ## How to Contribute
13
20
 
@@ -21,11 +28,15 @@ Thank you for your interest in contributing! Here's how you can help.
21
28
 
22
29
  ## Adding a New Stack Template
23
30
 
31
+ See `kotlin-spring/` as a reference implementation — it shows how to add CQRS/multi-module awareness on top of the standard 3-pass structure.
32
+
24
33
  1. Create a new directory under `pass-prompts/templates/your-stack/`
25
34
  2. Add `pass1.md`, `pass2.md`, `pass3.md` following the existing template structure
26
- 3. Update `selectTemplates()` in `plan-installer/index.js`
35
+ 3. Update `detectStack()` in `plan-installer/index.js` to detect the new language/framework
27
36
  4. Update `scanStructure()` to detect the new stack's domains
28
- 5. Update `README.md` Supported Stacks table
37
+ 5. Update `selectTemplates()` in `plan-installer/index.js` to route to the new template
38
+ 6. Update `README.md` Supported Stacks table
39
+ 7. Add FAQ and Troubleshooting entries for the new stack
29
40
 
30
41
  ## Code Style
31
42
 
package/README.de.md CHANGED
@@ -8,7 +8,7 @@ npx claudeos-core init
8
8
 
9
9
  ClaudeOS-Core liest Ihre Codebasis, extrahiert jedes Muster und generiert einen vollständigen Satz von Standards, Rules, Skills und Guides, die auf _Ihr_ Projekt zugeschnitten sind. Danach, wenn Sie Claude Code sagen „Erstelle ein CRUD für Bestellungen", erzeugt es Code, der exakt Ihren bestehenden Mustern entspricht.
10
10
 
11
- [🇺🇸 English](./README.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇰🇷 한국어](./README.ko.md)
11
+ [🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md)
12
12
 
13
13
  ---
14
14
 
@@ -22,7 +22,7 @@ ClaudeOS-Core automatisiert den gesamten Prozess:
22
22
 
23
23
  1. **Scannt** Ihr Projekt — erkennt automatisch Stack, Domänen, ORM, Datenbank, Paketmanager
24
24
  2. **Analysiert** Ihren Quellcode tiefgehend — Controller-Muster, Service-Schichten, Namenskonventionen, Fehlerbehandlung, Sicherheit, Tests und 50+ Kategorien
25
- 3. **Generiert** ein vollständiges Dokumentationsökosystem — `CLAUDE.md`, Standards (15–17 Dateien), Rules, Skills, Guides (9 Dateien), Master Plans, DB-Dokumentation und MCP-Leitfaden
25
+ 3. **Generiert** ein vollständiges Dokumentationsökosystem — `CLAUDE.md`, Standards (15–19 Dateien), Rules, Skills, Guides (9 Dateien), Master Plans, DB-Dokumentation und MCP-Leitfaden
26
26
  4. **Validiert** alles — 6 integrierte Verifizierungstools gewährleisten Konsistenz
27
27
 
28
28
  Gesamtzeit: **5–18 Minuten**, abhängig von der Projektgröße. Null manuelle Konfiguration.
@@ -33,16 +33,53 @@ Gesamtzeit: **5–18 Minuten**, abhängig von der Projektgröße. Null manuelle
33
33
 
34
34
  | Stack | Erkennung | Analysetiefe |
35
35
  |---|---|---|
36
- | **Java / Spring Boot** | `build.gradle`, `pom.xml` | 10 Kategorien, 59 Unterpunkte |
36
+ | **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 Paketmuster | 10 Kategorien, 59 Unterpunkte |
37
+ | **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 Kategorien, 95 Unterpunkte |
37
38
  | **Node.js / Express / NestJS** | `package.json` | 9 Kategorien, 57 Unterpunkte |
38
- | **Next.js / React / Vue** | `package.json` (next, react, vue) | 9 Kategorien, 55 Unterpunkte |
39
+ | **Next.js / React / Vue** | `package.json`, `next.config.*`, FSD-Unterstützung | 9 Kategorien, 55 Unterpunkte |
39
40
  | **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 Kategorien, 55 Unterpunkte |
40
41
  | **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 Kategorien, 58 Unterpunkte |
41
42
 
42
- Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, JPA, Prisma, TypeORM, SQLAlchemy usw.), Datenbank (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), Paketmanager (Gradle, Maven, npm, yarn, pnpm, pip, poetry).
43
+ 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).
43
44
 
44
45
  **Sie müssen nichts angeben. Alles wird automatisch erkannt.**
45
46
 
47
+
48
+ ### Java-Domain-Erkennung (5 Muster mit Fallback)
49
+
50
+ | Priorität | Muster | Struktur | Beispiel |
51
+ |---|---|---|---|
52
+ | A | Layer-first | `controller/{domain}/` | `controller/user/UserController.java` |
53
+ | B | Domain-first | `{domain}/controller/` | `user/controller/UserController.java` |
54
+ | D | Modul-Präfix | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
55
+ | E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
56
+ | C | Flach | `controller/*.java` | `controller/UserController.java` → extrahiert `user` aus Klassenname |
57
+
58
+ Domains nur mit Services (ohne Controller) werden ebenfalls erkannt. Übersprungen: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2` usw.
59
+
60
+
61
+ ### Kotlin Multi-Modul Domain-Erkennung
62
+
63
+ Für Kotlin-Projekte mit Gradle-Multi-Modul-Struktur (z.B. CQRS-Monorepo):
64
+
65
+ | Schritt | Aktion | Beispiel |
66
+ |---|---|---|
67
+ | 1 | `settings.gradle.kts` nach `include()` scannen | 14 Module gefunden |
68
+ | 2 | Modultyp aus Name erkennen | `reservation-command-server` → Typ: `command` |
69
+ | 3 | Domain aus Modulname extrahieren | `reservation-command-server` → Domain: `reservation` |
70
+ | 4 | Gleiche Domain über Module gruppieren | `reservation-command-server` + `common-query-server` → 1 Domain |
71
+ | 5 | Architektur erkennen | Hat `command` + `query` Module → CQRS |
72
+
73
+ Unterstützte Modultypen: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Gemeinsame Bibliotheken (`shared-lib`, `integration-lib`) werden als spezielle Domains erkannt.
74
+
75
+ ### Frontend-Domain-Erkennung
76
+
77
+ - **App Router**: `app/{domain}/page.tsx` (Next.js)
78
+ - **Pages Router**: `pages/{domain}/index.tsx`
79
+ - **FSD (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
80
+ - **RSC/Client-Split**: Erkennt `client.tsx`-Muster, verfolgt Server/Client-Trennung
81
+ - **Config-Fallback**: Erkennt Next.js/Vite/Nuxt aus Config-Dateien (Monorepo-Unterstützung)
82
+
46
83
  ---
47
84
 
48
85
  ## Schnellstart
@@ -57,16 +94,138 @@ Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, J
57
94
  ```bash
58
95
  cd /your/project/root
59
96
 
60
- # Option A: npx (empfohlen)
97
+ # Option A: npx (empfohlen — keine Installation nötig)
61
98
  npx claudeos-core init
62
99
 
63
- # Option B: git clone (für Entwicklung/Beiträge)
100
+ # Option B: globale Installation
101
+ npm install -g claudeos-core
102
+ claudeos-core init
103
+
104
+ # Option C: Projekt devDependency
105
+ npm install --save-dev claudeos-core
106
+ npx claudeos-core init
107
+
108
+ # Option D: git clone (für Entwicklung/Beiträge)
64
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
65
110
  bash claudeos-core-tools/bootstrap.sh
66
111
  ```
67
112
 
68
113
  Das war's. Nach 5–18 Minuten ist die gesamte Dokumentation generiert und einsatzbereit.
69
114
 
115
+ ### Manuelle Schritt-für-Schritt-Installation
116
+
117
+ Wenn Sie volle Kontrolle über jede Phase wünschen — oder wenn die automatisierte Pipeline bei einem Schritt fehlschlägt — können Sie jede Stufe manuell ausführen. Dies ist auch nützlich, um die interne Funktionsweise von ClaudeOS-Core zu verstehen.
118
+
119
+ #### Step 1: Klonen und Abhängigkeiten installieren
120
+
121
+ ```bash
122
+ cd /your/project/root
123
+
124
+ git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
125
+ cd claudeos-core-tools && npm install && cd ..
126
+ ```
127
+
128
+ #### Step 2: Verzeichnisstruktur erstellen
129
+
130
+ ```bash
131
+ # Rules
132
+ mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
133
+
134
+ # Standards
135
+ mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
136
+
137
+ # Skills
138
+ mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
139
+
140
+ # Guide, Plan, Database, MCP, Generated
141
+ mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
142
+ mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
143
+ ```
144
+
145
+ #### Step 3: plan-installer ausführen (Projektanalyse)
146
+
147
+ Scannt Ihr Projekt, erkennt den Stack, findet Domains, teilt sie in Gruppen auf und generiert Prompts.
148
+
149
+ ```bash
150
+ node claudeos-core-tools/plan-installer/index.js
151
+ ```
152
+
153
+ **Ausgabe (`claudeos-core/generated/`):**
154
+ - `project-analysis.json` — erkannter Stack, Domains, Frontend-Info
155
+ - `domain-groups.json` — Domain-Gruppen für Pass 1
156
+ - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — Analyse-Prompts
157
+ - `pass2-prompt.md` — Merge-Prompt
158
+ - `pass3-prompt.md` — Generierungs-Prompt
159
+
160
+ Sie können diese Dateien inspizieren, um die Erkennungsgenauigkeit zu überprüfen, bevor Sie fortfahren.
161
+
162
+ #### Step 4: Pass 1 — Tiefgehende Code-Analyse pro Domain-Gruppe
163
+
164
+ Führen Sie Pass 1 für jede Domain-Gruppe aus. Prüfen Sie `domain-groups.json` für die Anzahl der Gruppen.
165
+
166
+ ```bash
167
+ # Check groups
168
+ cat claudeos-core/generated/domain-groups.json | node -e "
169
+ const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
170
+ g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
171
+ "
172
+
173
+ # Run Pass 1 for group 1:
174
+ cat claudeos-core/generated/pass1-backend-prompt.md \
175
+ | sed "s/{{DOMAIN_GROUP}}/user, order, product/g" \
176
+ | sed "s/{{PASS_NUM}}/1/g" \
177
+ | claude -p --dangerously-skip-permissions
178
+
179
+ # For frontend groups, use pass1-frontend-prompt.md instead
180
+ ```
181
+
182
+ **Prüfen:** `ls claudeos-core/generated/pass1-*.json` sollte pro Gruppe eine JSON zeigen.
183
+
184
+ #### Step 5: Pass 2 — Analyseergebnisse zusammenführen
185
+
186
+ ```bash
187
+ cat claudeos-core/generated/pass2-prompt.md \
188
+ | claude -p --dangerously-skip-permissions
189
+ ```
190
+
191
+ **Prüfen:** `claudeos-core/generated/pass2-merged.json` sollte existieren mit 9+ Top-Level-Schlüsseln.
192
+
193
+ #### Step 6: Pass 3 — Gesamte Dokumentation generieren
194
+
195
+ ```bash
196
+ cat claudeos-core/generated/pass3-prompt.md \
197
+ | claude -p --dangerously-skip-permissions
198
+ ```
199
+
200
+ **Prüfen:** `CLAUDE.md` sollte im Projekt-Root existieren.
201
+
202
+ #### Step 7: Verifizierungstools ausführen
203
+
204
+ ```bash
205
+ # Metadaten generieren (vor anderen Prüfungen erforderlich)
206
+ node claudeos-core-tools/manifest-generator/index.js
207
+
208
+ # Alle Prüfungen ausführen
209
+ node claudeos-core-tools/health-checker/index.js
210
+
211
+ # Oder einzelne Prüfungen ausführen:
212
+ node claudeos-core-tools/import-linter/index.js # @import validation
213
+ node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
214
+ node claudeos-core-tools/sync-checker/index.js # Sync status
215
+ node claudeos-core-tools/content-validator/index.js # Content quality
216
+ node claudeos-core-tools/pass-json-validator/index.js # JSON format
217
+ ```
218
+
219
+ #### Step 8: Ergebnisse überprüfen
220
+
221
+ ```bash
222
+ find .claude claudeos-core -type f | grep -v node_modules | wc -l
223
+ head -30 CLAUDE.md
224
+ ls .claude/rules/*/
225
+ ```
226
+
227
+ > **Tipp:** Wenn ein Schritt fehlschlägt, können Sie nur diesen Schritt erneut ausführen. Pass 1/2-Ergebnisse werden gecacht — wenn `pass1-N.json` oder `pass2-merged.json` bereits existiert, überspringt die automatisierte Pipeline sie. Löschen Sie die Datei, um eine erneute Ausführung zu erzwingen.
228
+
70
229
  ### Nutzung starten
71
230
 
72
231
  ```
@@ -108,7 +267,7 @@ npx claudeos-core init
108
267
 
109
268
  ### Warum 3 Passes?
110
269
 
111
- **Pass 1** ist der einzige Pass, der Ihren Quellcode liest. Er wählt repräsentative Dateien pro Domäne aus und extrahiert Muster über 55–59 Analysekategorien (pro Stack). Bei großen Projekten wird Pass 1 mehrfach ausgeführt — einmal pro Domänengruppe. In Multi-Stack-Projekten (z.B. Java-Backend + React-Frontend) verwenden Backend und Frontend **unterschiedliche Analyse-Prompts**, die auf jeden Stack zugeschnitten sind.
270
+ **Pass 1** ist der einzige Pass, der Ihren Quellcode liest. Er wählt repräsentative Dateien pro Domäne aus und extrahiert Muster über 55–95 Analysekategorien (pro Stack). Bei großen Projekten wird Pass 1 mehrfach ausgeführt — einmal pro Domänengruppe. In Multi-Stack-Projekten (z.B. Java-Backend + React-Frontend) verwenden Backend und Frontend **unterschiedliche Analyse-Prompts**, die auf jeden Stack zugeschnitten sind.
112
271
 
113
272
  **Pass 2** führt alle Pass-1-Ergebnisse zu einer einheitlichen Analyse zusammen: gemeinsame Muster (100% geteilt), Mehrheitsmuster (50%+ geteilt), domänenspezifische Muster, Anti-Muster nach Schweregrad und Querschnittsthemen (Benennung, Sicherheit, DB, Tests, Logging, Performance).
114
273
 
@@ -134,7 +293,7 @@ your-project/
134
293
 
135
294
  ├── claudeos-core/ ← Hauptausgabeverzeichnis
136
295
  │ ├── generated/ ← Analyse-JSON + dynamische Prompts
137
- │ ├── standard/ ← Code-Standards (15-17 Dateien)
296
+ │ ├── standard/ ← Code-Standards (15-19 Dateien)
138
297
  │ ├── skills/ ← CRUD-Scaffolding-Skills
139
298
  │ ├── guide/ ← Onboarding, FAQ, Fehlerbehebung (9 Dateien)
140
299
  │ ├── plan/ ← Master Plans (Backup/Wiederherstellung)
@@ -228,9 +387,10 @@ npx claudeos-core restore
228
387
 
229
388
  | | ClaudeOS-Core | SuperClaude | Manuelle CLAUDE.md | Generische Skills |
230
389
  |---|---|---|---|---|
231
- | **Liest Ihren Code** | ✅ Tiefenanalyse (55–59 Kategorien) | ❌ Verhaltensinjektion | ❌ Manuelles Schreiben | ❌ Vorgefertigte Vorlagen |
390
+ | **Liest Ihren Code** | ✅ Tiefenanalyse (55–95 Kategorien) | ❌ Verhaltensinjektion | ❌ Manuelles Schreiben | ❌ Vorgefertigte Vorlagen |
232
391
  | **Projektspezifische Ausgabe** | ✅ Jede Datei spiegelt Ihre Muster wider | ❌ Generische Befehle | Teilweise | ❌ Einheitsgröße |
233
392
  | **Multi-Stack** | ✅ Auto-Erkennung + separate Analyse | ❌ Stack-agnostisch | Manuell | Variiert |
393
+ | **Kotlin + CQRS/BFF** | ✅ Multi-Modul, Command/Query-Trennung | ❌ | ❌ | ❌ |
234
394
  | **Selbstverifizierung** | ✅ 6 Validierungstools | ❌ | ❌ | ❌ |
235
395
  | **Backup / Wiederherstellung** | ✅ Master Plan System | ❌ | ❌ | ❌ |
236
396
  | **Einrichtungszeit** | ~5–18 Min (automatisch) | ~5 Min (manuelle Konfig) | Stunden–Tage | ~5 Min |
@@ -254,6 +414,15 @@ Vollständig unterstützt. ClaudeOS-Core erkennt automatisch beide Stacks, taggt
254
414
  **F: Was passiert bei erneutem Ausführen?**
255
415
  Pass 1/2 werden übersprungen, wenn ihr JSON bereits existiert. Pass 3 wird immer erneut ausgeführt. Frühere Versionen können aus Master Plans wiederhergestellt werden.
256
416
 
417
+ **F: Wird Kotlin unterstützt?**
418
+ 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.).
419
+
420
+ **F: Was ist mit CQRS / BFF-Architektur?**
421
+ Vollständig unterstützt für Kotlin-Multi-Modul-Projekte. ClaudeOS-Core liest `settings.gradle.kts`, erkennt Modultypen (command, query, bff, integration) aus den Modulnamen und gruppiert dieselbe Domäne über Command/Query-Module. Die generierten Standards enthalten separate Regeln für Command-Controller vs. Query-Controller, BFF/Feign-Patterns und Inter-Modul-Kommunikationskonventionen.
422
+
423
+ **F: Was ist mit Gradle-Multi-Modul-Monorepos?**
424
+ ClaudeOS-Core scannt alle Submodule (`**/src/main/kotlin/**/*.kt`) unabhängig von der Verschachtelungstiefe. Modultypen werden aus Namenskonventionen abgeleitet (z.B. `reservation-command-server` → Domäne: `reservation`, Typ: `command`). Gemeinsame Bibliotheken (`shared-lib`, `integration-lib`) werden ebenfalls erkannt.
425
+
257
426
  ---
258
427
 
259
428
  ## Template-Struktur
@@ -262,6 +431,7 @@ Pass 1/2 werden übersprungen, wenn ihr JSON bereits existiert. Pass 3 wird imme
262
431
  pass-prompts/templates/
263
432
  ├── common/ # Gemeinsamer Header/Footer
264
433
  ├── java-spring/ # Java / Spring Boot
434
+ ├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
265
435
  ├── node-express/ # Node.js / Express / NestJS
266
436
  ├── node-nextjs/ # Next.js / React / Vue
267
437
  ├── python-django/ # Python / Django (DRF)
@@ -313,7 +483,13 @@ my-monorepo/ ← Nicht hier ausführen (Root hat keine Framew
313
483
 
314
484
  **"npm install failed"** — Node.js-Version könnte zu niedrig sein. v18+ erforderlich.
315
485
 
316
- **"0 domains detected"** — Ihre Projektstruktur könnte nicht standardmäßig sein. Siehe die Erkennungsmuster in der [koreanischen Dokumentation](./README.ko.md#-문제-해결--troubleshooting) für Ihren Stack.
486
+ **"0 domains detected"** — Ihre Projektstruktur könnte nicht standardmäßig sein. Siehe die Erkennungsmuster in der [koreanischen Dokumentation](./README.ko.md#트러블슈팅) für Ihren Stack.
487
+
488
+ **„0 Domains erkannt" bei Kotlin-Projekt** — Stellen Sie sicher, dass `build.gradle.kts` (oder `build.gradle` mit Kotlin-Plugin) im Projektstamm existiert und Quelldateien unter `**/src/main/kotlin/` liegen. Bei Multi-Modul-Projekten muss `settings.gradle.kts` `include()`-Anweisungen enthalten. Einzelmodul-Kotlin-Projekte (ohne `settings.gradle`) werden ebenfalls unterstützt — Domänen werden aus der Paket-/Klassenstruktur unter `src/main/kotlin/` extrahiert.
489
+
490
+ **„Sprache als java statt kotlin erkannt"** — ClaudeOS-Core prüft zuerst die Root-`build.gradle(.kts)`, dann Submodul-Build-Dateien. Stellen Sie sicher, dass mindestens eine `kotlin("jvm")` oder `org.jetbrains.kotlin` enthält.
491
+
492
+ **„CQRS nicht erkannt"** — Die Architekturerkennung basiert auf den Schlüsselwörtern `command` und `query` in Modulnamen. Wenn Ihre Module andere Bezeichnungen verwenden, können Sie die generierten Prompts nach dem plan-installer manuell anpassen.
317
493
 
318
494
  ---
319
495