claudeos-core 1.1.0 → 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.
- package/CHANGELOG.md +62 -3
- package/CONTRIBUTING.md +7 -2
- package/README.de.md +164 -9
- package/README.es.md +164 -9
- package/README.fr.md +164 -9
- package/README.hi.md +164 -9
- package/README.ja.md +165 -10
- package/README.ko.md +315 -368
- package/README.md +178 -9
- package/README.ru.md +164 -9
- package/README.vi.md +165 -10
- package/README.zh-CN.md +165 -10
- package/bin/cli.js +183 -61
- package/bootstrap.sh +128 -21
- package/content-validator/index.js +131 -60
- package/health-checker/index.js +29 -23
- package/import-linter/index.js +14 -8
- package/manifest-generator/index.js +26 -20
- package/package.json +84 -75
- package/pass-json-validator/index.js +92 -70
- package/pass-prompts/templates/common/header.md +4 -4
- package/pass-prompts/templates/common/lang-instructions.json +27 -0
- package/pass-prompts/templates/common/pass3-footer.md +2 -3
- package/pass-prompts/templates/java-spring/pass1.md +84 -81
- package/pass-prompts/templates/java-spring/pass2.md +66 -66
- package/pass-prompts/templates/java-spring/pass3.md +60 -60
- package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
- package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
- package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
- package/pass-prompts/templates/node-express/pass1.md +73 -73
- package/pass-prompts/templates/node-express/pass2.md +66 -66
- package/pass-prompts/templates/node-express/pass3.md +53 -53
- package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
- package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
- package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
- package/pass-prompts/templates/python-django/pass1.md +78 -78
- package/pass-prompts/templates/python-django/pass2.md +69 -69
- package/pass-prompts/templates/python-django/pass3.md +45 -45
- package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
- package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
- package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
- package/plan-installer/index.js +623 -97
- package/plan-validator/index.js +54 -23
- package/sync-checker/index.js +25 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,65 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [1.
|
|
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
|
|
4
63
|
|
|
5
64
|
### Added
|
|
6
65
|
- **Java 5-pattern domain detection** (A→B/D→E→C fallback):
|
|
@@ -14,7 +73,7 @@
|
|
|
14
73
|
- **RSC/Client component detection**: Counts `client.tsx` files, tracks RSC+Client split pattern per domain
|
|
15
74
|
- **Config file fallback**: Detect Next.js/Vite/Nuxt from config files when framework not in package.json (monorepo support)
|
|
16
75
|
- **Windows glob compatibility**: Direct file scan fallback for Java and Frontend when glob patterns fail on Windows
|
|
17
|
-
- **
|
|
76
|
+
- **Stdin-based prompt delivery**: Pass prompt via `execSync` `input` option to `claude -p` (no shell pipe, no temp file — secure and cross-platform)
|
|
18
77
|
- **8 language READMEs**: Chinese, Japanese, Spanish, Vietnamese, Hindi, Russian, French, German
|
|
19
78
|
- **Monorepo Support section** in all 10 READMEs (Turborepo, Nx, Lerna, pnpm workspaces)
|
|
20
79
|
- **Cross-language navigation links** in all READMEs (Korean last position)
|
|
@@ -24,7 +83,7 @@
|
|
|
24
83
|
- `frontend` variable reference before initialization (RSC stats)
|
|
25
84
|
- npm bin path warning (`npm pkg fix`)
|
|
26
85
|
|
|
27
|
-
## [1.0.0] — 2025
|
|
86
|
+
## [1.0.0] — 2025-12-01
|
|
28
87
|
|
|
29
88
|
### Added
|
|
30
89
|
- 3-Pass pipeline: Deep analysis → Merge → Generate
|
package/CONTRIBUTING.md
CHANGED
|
@@ -14,6 +14,7 @@ Thank you for your interest in contributing! Here's how you can help.
|
|
|
14
14
|
|
|
15
15
|
- ~~Monorepo deep support~~ — Implemented (Turborepo, Nx, Lerna, pnpm workspaces)
|
|
16
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
|
|
17
18
|
|
|
18
19
|
## How to Contribute
|
|
19
20
|
|
|
@@ -27,11 +28,15 @@ Thank you for your interest in contributing! Here's how you can help.
|
|
|
27
28
|
|
|
28
29
|
## Adding a New Stack Template
|
|
29
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
|
+
|
|
30
33
|
1. Create a new directory under `pass-prompts/templates/your-stack/`
|
|
31
34
|
2. Add `pass1.md`, `pass2.md`, `pass3.md` following the existing template structure
|
|
32
|
-
3. Update `
|
|
35
|
+
3. Update `detectStack()` in `plan-installer/index.js` to detect the new language/framework
|
|
33
36
|
4. Update `scanStructure()` to detect the new stack's domains
|
|
34
|
-
5. Update `
|
|
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
|
|
35
40
|
|
|
36
41
|
## Code Style
|
|
37
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)
|
|
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–
|
|
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.
|
|
@@ -34,12 +34,13 @@ Gesamtzeit: **5–18 Minuten**, abhängig von der Projektgröße. Null manuelle
|
|
|
34
34
|
| Stack | Erkennung | Analysetiefe |
|
|
35
35
|
|---|---|---|
|
|
36
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
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
|
|
|
@@ -56,6 +57,21 @@ Automatisch erkannt: Sprache und Version, Framework und Version, ORM (MyBatis, J
|
|
|
56
57
|
|
|
57
58
|
Domains nur mit Services (ohne Controller) werden ebenfalls erkannt. Übersprungen: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2` usw.
|
|
58
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
|
+
|
|
59
75
|
### Frontend-Domain-Erkennung
|
|
60
76
|
|
|
61
77
|
- **App Router**: `app/{domain}/page.tsx` (Next.js)
|
|
@@ -78,16 +94,138 @@ Domains nur mit Services (ohne Controller) werden ebenfalls erkannt. Übersprung
|
|
|
78
94
|
```bash
|
|
79
95
|
cd /your/project/root
|
|
80
96
|
|
|
81
|
-
# Option A: npx (empfohlen)
|
|
97
|
+
# Option A: npx (empfohlen — keine Installation nötig)
|
|
98
|
+
npx claudeos-core init
|
|
99
|
+
|
|
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
|
|
82
106
|
npx claudeos-core init
|
|
83
107
|
|
|
84
|
-
# Option
|
|
108
|
+
# Option D: git clone (für Entwicklung/Beiträge)
|
|
85
109
|
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
86
110
|
bash claudeos-core-tools/bootstrap.sh
|
|
87
111
|
```
|
|
88
112
|
|
|
89
113
|
Das war's. Nach 5–18 Minuten ist die gesamte Dokumentation generiert und einsatzbereit.
|
|
90
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
|
+
|
|
91
229
|
### Nutzung starten
|
|
92
230
|
|
|
93
231
|
```
|
|
@@ -129,7 +267,7 @@ npx claudeos-core init
|
|
|
129
267
|
|
|
130
268
|
### Warum 3 Passes?
|
|
131
269
|
|
|
132
|
-
**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–
|
|
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.
|
|
133
271
|
|
|
134
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).
|
|
135
273
|
|
|
@@ -155,7 +293,7 @@ your-project/
|
|
|
155
293
|
│
|
|
156
294
|
├── claudeos-core/ ← Hauptausgabeverzeichnis
|
|
157
295
|
│ ├── generated/ ← Analyse-JSON + dynamische Prompts
|
|
158
|
-
│ ├── standard/ ← Code-Standards (15-
|
|
296
|
+
│ ├── standard/ ← Code-Standards (15-19 Dateien)
|
|
159
297
|
│ ├── skills/ ← CRUD-Scaffolding-Skills
|
|
160
298
|
│ ├── guide/ ← Onboarding, FAQ, Fehlerbehebung (9 Dateien)
|
|
161
299
|
│ ├── plan/ ← Master Plans (Backup/Wiederherstellung)
|
|
@@ -249,9 +387,10 @@ npx claudeos-core restore
|
|
|
249
387
|
|
|
250
388
|
| | ClaudeOS-Core | SuperClaude | Manuelle CLAUDE.md | Generische Skills |
|
|
251
389
|
|---|---|---|---|---|
|
|
252
|
-
| **Liest Ihren Code** | ✅ Tiefenanalyse (55–
|
|
390
|
+
| **Liest Ihren Code** | ✅ Tiefenanalyse (55–95 Kategorien) | ❌ Verhaltensinjektion | ❌ Manuelles Schreiben | ❌ Vorgefertigte Vorlagen |
|
|
253
391
|
| **Projektspezifische Ausgabe** | ✅ Jede Datei spiegelt Ihre Muster wider | ❌ Generische Befehle | Teilweise | ❌ Einheitsgröße |
|
|
254
392
|
| **Multi-Stack** | ✅ Auto-Erkennung + separate Analyse | ❌ Stack-agnostisch | Manuell | Variiert |
|
|
393
|
+
| **Kotlin + CQRS/BFF** | ✅ Multi-Modul, Command/Query-Trennung | ❌ | ❌ | ❌ |
|
|
255
394
|
| **Selbstverifizierung** | ✅ 6 Validierungstools | ❌ | ❌ | ❌ |
|
|
256
395
|
| **Backup / Wiederherstellung** | ✅ Master Plan System | ❌ | ❌ | ❌ |
|
|
257
396
|
| **Einrichtungszeit** | ~5–18 Min (automatisch) | ~5 Min (manuelle Konfig) | Stunden–Tage | ~5 Min |
|
|
@@ -275,6 +414,15 @@ Vollständig unterstützt. ClaudeOS-Core erkennt automatisch beide Stacks, taggt
|
|
|
275
414
|
**F: Was passiert bei erneutem Ausführen?**
|
|
276
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.
|
|
277
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
|
+
|
|
278
426
|
---
|
|
279
427
|
|
|
280
428
|
## Template-Struktur
|
|
@@ -283,6 +431,7 @@ Pass 1/2 werden übersprungen, wenn ihr JSON bereits existiert. Pass 3 wird imme
|
|
|
283
431
|
pass-prompts/templates/
|
|
284
432
|
├── common/ # Gemeinsamer Header/Footer
|
|
285
433
|
├── java-spring/ # Java / Spring Boot
|
|
434
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
286
435
|
├── node-express/ # Node.js / Express / NestJS
|
|
287
436
|
├── node-nextjs/ # Next.js / React / Vue
|
|
288
437
|
├── python-django/ # Python / Django (DRF)
|
|
@@ -334,7 +483,13 @@ my-monorepo/ ← Nicht hier ausführen (Root hat keine Framew
|
|
|
334
483
|
|
|
335
484
|
**"npm install failed"** — Node.js-Version könnte zu niedrig sein. v18+ erforderlich.
|
|
336
485
|
|
|
337
|
-
**"0 domains detected"** — Ihre Projektstruktur könnte nicht standardmäßig sein. Siehe die Erkennungsmuster in der [koreanischen Dokumentation](./README.ko.md
|
|
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.
|
|
338
493
|
|
|
339
494
|
---
|
|
340
495
|
|
package/README.es.md
CHANGED
|
@@ -8,7 +8,7 @@ npx claudeos-core init
|
|
|
8
8
|
|
|
9
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
10
|
|
|
11
|
-
[🇺🇸 English](./README.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)
|
|
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
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -22,7 +22,7 @@ ClaudeOS-Core automatiza todo el proceso:
|
|
|
22
22
|
|
|
23
23
|
1. **Escanea** tu proyecto — detecta automáticamente stack, dominios, ORM, base de datos y gestor de paquetes
|
|
24
24
|
2. **Analiza** tu código fuente en profundidad — patrones de controladores, capas de servicio, convenciones de nombrado, manejo de errores, seguridad, testing y más de 50 categorías
|
|
25
|
-
3. **Genera** un ecosistema documental completo — `CLAUDE.md`, Standards (15–
|
|
25
|
+
3. **Genera** un ecosistema documental completo — `CLAUDE.md`, Standards (15–19 archivos), Rules, Skills, Guides (9 archivos), Master Plans, documentación de BD y guía MCP
|
|
26
26
|
4. **Valida** todo — 6 herramientas de verificación integradas garantizan la consistencia
|
|
27
27
|
|
|
28
28
|
Tiempo total: **5–18 minutos**, según el tamaño del proyecto. Cero configuración manual.
|
|
@@ -34,12 +34,13 @@ Tiempo total: **5–18 minutos**, según el tamaño del proyecto. Cero configura
|
|
|
34
34
|
| Stack | Detección | Profundidad de Análisis |
|
|
35
35
|
|---|---|---|
|
|
36
36
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 patrones de paquete | 10 categorías, 59 sub-ítems |
|
|
37
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 categorías, 95 sub-ítems |
|
|
37
38
|
| **Node.js / Express / NestJS** | `package.json` | 9 categorías, 57 sub-ítems |
|
|
38
39
|
| **Next.js / React / Vue** | `package.json`, `next.config.*`, soporte FSD | 9 categorías, 55 sub-ítems |
|
|
39
40
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 categorías, 55 sub-ítems |
|
|
40
41
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 categorías, 58 sub-ítems |
|
|
41
42
|
|
|
42
|
-
Detección automática: lenguaje y versión, framework y versión, ORM (MyBatis, JPA, Prisma, TypeORM, SQLAlchemy, etc.), base de datos (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), gestor de paquetes (Gradle, Maven, npm, yarn, pnpm, pip, poetry).
|
|
43
|
+
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).
|
|
43
44
|
|
|
44
45
|
**No necesitas especificar nada. Todo se detecta automáticamente.**
|
|
45
46
|
|
|
@@ -56,6 +57,21 @@ Detección automática: lenguaje y versión, framework y versión, ORM (MyBatis,
|
|
|
56
57
|
|
|
57
58
|
Los dominios solo con servicios (sin controladores) también se detectan. Se omiten: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2`, etc.
|
|
58
59
|
|
|
60
|
+
|
|
61
|
+
### Detección de Dominios Kotlin Multi-Módulo
|
|
62
|
+
|
|
63
|
+
Para proyectos Kotlin con estructura Gradle multi-módulo (ej: monorepo CQRS):
|
|
64
|
+
|
|
65
|
+
| Paso | Acción | Ejemplo |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| 1 | Escanear `settings.gradle.kts` buscando `include()` | Encuentra 14 módulos |
|
|
68
|
+
| 2 | Detectar tipo de módulo por nombre | `reservation-command-server` → tipo: `command` |
|
|
69
|
+
| 3 | Extraer dominio del nombre del módulo | `reservation-command-server` → dominio: `reservation` |
|
|
70
|
+
| 4 | Agrupar mismo dominio entre módulos | `reservation-command-server` + `common-query-server` → 1 dominio |
|
|
71
|
+
| 5 | Detectar arquitectura | Tiene módulos `command` + `query` → CQRS |
|
|
72
|
+
|
|
73
|
+
Tipos de módulo soportados: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Las bibliotecas compartidas (`shared-lib`, `integration-lib`) se detectan como dominios especiales.
|
|
74
|
+
|
|
59
75
|
### Detección de Dominios Frontend
|
|
60
76
|
|
|
61
77
|
- **App Router**: `app/{domain}/page.tsx` (Next.js)
|
|
@@ -78,16 +94,138 @@ Los dominios solo con servicios (sin controladores) también se detectan. Se omi
|
|
|
78
94
|
```bash
|
|
79
95
|
cd /your/project/root
|
|
80
96
|
|
|
81
|
-
# Opción A: npx (recomendado)
|
|
97
|
+
# Opción A: npx (recomendado — sin instalación)
|
|
98
|
+
npx claudeos-core init
|
|
99
|
+
|
|
100
|
+
# Opción B: instalación global
|
|
101
|
+
npm install -g claudeos-core
|
|
102
|
+
claudeos-core init
|
|
103
|
+
|
|
104
|
+
# Opción C: devDependency del proyecto
|
|
105
|
+
npm install --save-dev claudeos-core
|
|
82
106
|
npx claudeos-core init
|
|
83
107
|
|
|
84
|
-
# Opción
|
|
108
|
+
# Opción D: git clone (para desarrollo/contribución)
|
|
85
109
|
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
86
110
|
bash claudeos-core-tools/bootstrap.sh
|
|
87
111
|
```
|
|
88
112
|
|
|
89
113
|
Eso es todo. Después de 5–18 minutos, toda la documentación estará generada y lista para usar.
|
|
90
114
|
|
|
115
|
+
### Instalación Manual Paso a Paso
|
|
116
|
+
|
|
117
|
+
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.
|
|
118
|
+
|
|
119
|
+
#### Step 1: Clonar e instalar dependencias
|
|
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: Crear estructura de directorios
|
|
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: Ejecutar plan-installer (análisis del proyecto)
|
|
146
|
+
|
|
147
|
+
Escanea tu proyecto, detecta el stack, encuentra dominios, los divide en grupos y genera prompts.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Salida (`claudeos-core/generated/`):**
|
|
154
|
+
- `project-analysis.json` — stack detectado, dominios, info de frontend
|
|
155
|
+
- `domain-groups.json` — grupos de dominios para Pass 1
|
|
156
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — prompts de análisis
|
|
157
|
+
- `pass2-prompt.md` — prompt de fusión
|
|
158
|
+
- `pass3-prompt.md` — prompt de generación
|
|
159
|
+
|
|
160
|
+
Puedes inspeccionar estos archivos para verificar la precisión de la detección antes de continuar.
|
|
161
|
+
|
|
162
|
+
#### Step 4: Pass 1 — Análisis profundo de código por grupo de dominio
|
|
163
|
+
|
|
164
|
+
Ejecuta Pass 1 para cada grupo de dominio. Revisa `domain-groups.json` para el número de grupos.
|
|
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
|
+
**Verificar:** `ls claudeos-core/generated/pass1-*.json` debe mostrar un JSON por grupo.
|
|
183
|
+
|
|
184
|
+
#### Step 5: Pass 2 — Fusionar resultados de análisis
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
188
|
+
| claude -p --dangerously-skip-permissions
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Verificar:** `claudeos-core/generated/pass2-merged.json` debe existir con 9+ claves de nivel superior.
|
|
192
|
+
|
|
193
|
+
#### Step 6: Pass 3 — Generar toda la documentación
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
197
|
+
| claude -p --dangerously-skip-permissions
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Verificar:** `CLAUDE.md` debe existir en la raíz del proyecto.
|
|
201
|
+
|
|
202
|
+
#### Step 7: Ejecutar herramientas de verificación
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Generar metadatos (requerido antes de otras verificaciones)
|
|
206
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
207
|
+
|
|
208
|
+
# Ejecutar todas las verificaciones
|
|
209
|
+
node claudeos-core-tools/health-checker/index.js
|
|
210
|
+
|
|
211
|
+
# O ejecutar verificaciones individuales:
|
|
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: Verificar los resultados
|
|
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
|
+
> **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. Elimina el archivo para forzar la re-ejecución.
|
|
228
|
+
|
|
91
229
|
### Empieza a Usar
|
|
92
230
|
|
|
93
231
|
```
|
|
@@ -129,7 +267,7 @@ npx claudeos-core init
|
|
|
129
267
|
|
|
130
268
|
### ¿Por Qué 3 Pasadas?
|
|
131
269
|
|
|
132
|
-
**Pass 1** es la única pasada que lee tu código fuente. Selecciona archivos representativos por dominio y extrae patrones en 55–
|
|
270
|
+
**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.
|
|
133
271
|
|
|
134
272
|
**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).
|
|
135
273
|
|
|
@@ -155,7 +293,7 @@ your-project/
|
|
|
155
293
|
│
|
|
156
294
|
├── claudeos-core/ ← Directorio principal de salida
|
|
157
295
|
│ ├── generated/ ← JSON de análisis + prompts dinámicos
|
|
158
|
-
│ ├── standard/ ← Estándares de código (15-
|
|
296
|
+
│ ├── standard/ ← Estándares de código (15-19 archivos)
|
|
159
297
|
│ ├── skills/ ← Skills de scaffolding CRUD
|
|
160
298
|
│ ├── guide/ ← Onboarding, FAQ, troubleshooting (9 archivos)
|
|
161
299
|
│ ├── plan/ ← Master Plans (backup/restauración)
|
|
@@ -249,9 +387,10 @@ npx claudeos-core restore
|
|
|
249
387
|
|
|
250
388
|
| | ClaudeOS-Core | SuperClaude | CLAUDE.md Manual | Skills Genéricos |
|
|
251
389
|
|---|---|---|---|---|
|
|
252
|
-
| **Lee tu código** | ✅ Análisis profundo (55–
|
|
390
|
+
| **Lee tu código** | ✅ Análisis profundo (55–95 categorías) | ❌ Inyección de comportamiento | ❌ Escritura manual | ❌ Plantillas predefinidas |
|
|
253
391
|
| **Salida específica del proyecto** | ✅ Cada archivo refleja tus patrones | ❌ Comandos genéricos | Parcial | ❌ Talla única |
|
|
254
392
|
| **Multi-stack** | ✅ Auto-detección + análisis separado | ❌ Agnóstico al stack | Manual | Variable |
|
|
393
|
+
| **Kotlin + CQRS/BFF** | ✅ Multi-module, Command/Query split | ❌ | ❌ | ❌ |
|
|
255
394
|
| **Auto-verificación** | ✅ 6 herramientas de validación | ❌ | ❌ | ❌ |
|
|
256
395
|
| **Backup / Restauración** | ✅ Sistema Master Plan | ❌ | ❌ | ❌ |
|
|
257
396
|
| **Tiempo de configuración** | ~5–18min (automático) | ~5min (config manual) | Horas–Días | ~5min |
|
|
@@ -275,6 +414,15 @@ Totalmente soportado. ClaudeOS-Core auto-detecta ambos stacks, etiqueta dominios
|
|
|
275
414
|
**P: ¿Qué pasa al re-ejecutar?**
|
|
276
415
|
Pass 1/2 se omiten si su JSON ya existe. Pass 3 siempre se re-ejecuta. Las versiones anteriores pueden restaurarse desde los Master Plans.
|
|
277
416
|
|
|
417
|
+
**P: ¿Soporta Kotlin?**
|
|
418
|
+
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.).
|
|
419
|
+
|
|
420
|
+
**P: ¿Qué hay de la arquitectura CQRS / BFF?**
|
|
421
|
+
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.
|
|
422
|
+
|
|
423
|
+
**P: ¿Qué hay de los monorepos multi-módulo de Gradle?**
|
|
424
|
+
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.
|
|
425
|
+
|
|
278
426
|
---
|
|
279
427
|
|
|
280
428
|
## Estructura de Plantillas
|
|
@@ -283,6 +431,7 @@ Pass 1/2 se omiten si su JSON ya existe. Pass 3 siempre se re-ejecuta. Las versi
|
|
|
283
431
|
pass-prompts/templates/
|
|
284
432
|
├── common/ # Encabezado/pie compartido
|
|
285
433
|
├── java-spring/ # Java / Spring Boot
|
|
434
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
286
435
|
├── node-express/ # Node.js / Express / NestJS
|
|
287
436
|
├── node-nextjs/ # Next.js / React / Vue
|
|
288
437
|
├── python-django/ # Python / Django (DRF)
|
|
@@ -334,7 +483,13 @@ my-monorepo/ ← No ejecutes aquí (la raíz no tiene deps de
|
|
|
334
483
|
|
|
335
484
|
**"npm install failed"** — La versión de Node.js puede ser demasiado baja. Se requiere v18+.
|
|
336
485
|
|
|
337
|
-
**"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
|
|
486
|
+
**"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.
|
|
487
|
+
|
|
488
|
+
**"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/`.
|
|
489
|
+
|
|
490
|
+
**"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`.
|
|
491
|
+
|
|
492
|
+
**"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.
|
|
338
493
|
|
|
339
494
|
---
|
|
340
495
|
|