claudeos-core 1.2.4 → 1.3.1

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 +76 -0
  2. package/README.de.md +50 -10
  3. package/README.es.md +51 -10
  4. package/README.fr.md +51 -10
  5. package/README.hi.md +51 -10
  6. package/README.ja.md +52 -10
  7. package/README.ko.md +51 -10
  8. package/README.md +62 -15
  9. package/README.ru.md +51 -10
  10. package/README.vi.md +51 -10
  11. package/README.zh-CN.md +51 -10
  12. package/bin/cli.js +171 -36
  13. package/bootstrap.sh +71 -23
  14. package/content-validator/index.js +16 -13
  15. package/health-checker/index.js +4 -3
  16. package/lib/safe-fs.js +110 -0
  17. package/manifest-generator/index.js +13 -7
  18. package/package.json +4 -2
  19. package/pass-json-validator/index.js +3 -5
  20. package/pass-prompts/templates/java-spring/pass1.md +4 -1
  21. package/pass-prompts/templates/java-spring/pass2.md +3 -3
  22. package/pass-prompts/templates/java-spring/pass3.md +42 -5
  23. package/pass-prompts/templates/kotlin-spring/pass1.md +4 -1
  24. package/pass-prompts/templates/kotlin-spring/pass2.md +5 -5
  25. package/pass-prompts/templates/kotlin-spring/pass3.md +42 -5
  26. package/pass-prompts/templates/node-express/pass1.md +4 -1
  27. package/pass-prompts/templates/node-express/pass2.md +4 -1
  28. package/pass-prompts/templates/node-express/pass3.md +44 -6
  29. package/pass-prompts/templates/node-nextjs/pass1.md +14 -4
  30. package/pass-prompts/templates/node-nextjs/pass2.md +6 -4
  31. package/pass-prompts/templates/node-nextjs/pass3.md +45 -6
  32. package/pass-prompts/templates/python-django/pass1.md +4 -2
  33. package/pass-prompts/templates/python-django/pass2.md +4 -4
  34. package/pass-prompts/templates/python-django/pass3.md +42 -5
  35. package/pass-prompts/templates/python-fastapi/pass1.md +4 -1
  36. package/pass-prompts/templates/python-fastapi/pass2.md +4 -4
  37. package/pass-prompts/templates/python-fastapi/pass3.md +42 -5
  38. package/plan-installer/domain-grouper.js +74 -0
  39. package/plan-installer/index.js +35 -1305
  40. package/plan-installer/prompt-generator.js +94 -0
  41. package/plan-installer/stack-detector.js +326 -0
  42. package/plan-installer/structure-scanner.js +783 -0
  43. package/plan-validator/index.js +84 -20
  44. package/sync-checker/index.js +7 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,81 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.1] — 2026-04-03
4
+
5
+ ### Changed
6
+ - **Context efficiency: rules paths scoping** — `40.infra/*` and `50.sync/*` rules now use scoped `paths:` frontmatter instead of `["**/*"]`; infra rules load only for config/infra files, sync rules load only for claudeos-core files (5 stacks; python-django infra keeps `["**/*"]` due to .py settings)
7
+ - **Context efficiency: standard reference distribution** — `00.standard-reference.md` changed from "MUST Read ALL" to "Standard Documents Directory — Read ONLY relevant"; each rule file now ends with `## Reference` section linking to its corresponding standard
8
+ - **content-validator** — Removed `50.sync` exemption from frontmatter validation; all rules now checked equally; updated comment and warning message to reflect scoped paths
9
+ - **prompt-generator** — Removed duplicate `pass1-prompt.md` generation (backward-compat fallback no longer needed; `pass1-{type}-prompt.md` is always generated)
10
+ - **Pass 1 templates** (all 6 stacks) — "Do not create files" → "Do not create or modify source files" (clarifies that saving analysis JSON is allowed)
11
+ - **All 10 READMEs** — "How Claude Code Uses Your Documentation" section updated: auto-load table now shows per-category paths, standard reading explained as on-demand via `## Reference` links
12
+ - **Pass 3 CRITICAL directive: Code Example Accuracy** (all 6 stacks) — Rules/standards code examples must use EXACT method names from pass2-merged.json; prevents hallucination of API names (e.g., `ok()` instead of `success()`)
13
+
14
+ ## [1.3.0] — 2026-04-03
15
+
16
+ ### Added
17
+ - **`lib/safe-fs.js`** — Shared safe filesystem utilities (readFileSafe, readJsonSafe, existsSafe, ensureDir, writeFileSafe, statSafe)
18
+ - **plan-installer modularization** — Split into 4 sub-modules: stack-detector, structure-scanner, domain-grouper, prompt-generator
19
+ - **57 unit tests** across 4 test files: stack-detector (16), domain-grouper (12), plan-validator (11), structure-scanner (4)
20
+ - **Pass 3 CRITICAL directives** (all 6 stacks) — Package Manager/Build Tool Consistency, Cross-file Consistency (rules vs standards), CLAUDE.md Reference Table Completeness
21
+ - **Pass 1/2 EXACT capture** (all 6 stacks) — Exact import paths, component entry file patterns, styling utility imports, UI library package names, custom response wrapper method signatures
22
+ - **bootstrap.sh prerequisite checks** — Node.js v18+, Claude CLI, perl existence validation before execution
23
+ - **bootstrap.sh EXIT trap** — Automatic temp file cleanup on Ctrl+C, errors, or normal exit
24
+ - **plan-validator mode validation** — Rejects unknown modes (only --check/--refresh/--execute)
25
+ - **plan-validator stale-report.json integration** — Results now included in consolidated health report
26
+ - **sync-checker mappings guard** — Validates `sm.mappings` array exists before processing
27
+
28
+ ### Changed
29
+ - **`plan-validator` extractCodeBlocks** — Rewritten from regex to indexOf-based parser with nested code fence depth tracking (fixes false drift reports on files containing ``` blocks)
30
+ - **`plan-validator` replaceCodeBlock** — Rewritten fence detection: `[a-zA-Z]` language tag check instead of heuristic `trim().length > 0`; fixed off-by-one in searchPos that missed consecutive fences
31
+ - **`plan-validator` module.exports** — Now exports functions for testing; uses `require.main === module` guard
32
+ - **`plan-validator` content comparison** — `trimEnd()` → `replace(/\n+$/, "")` (normalize trailing newlines only, preserve trailing spaces)
33
+ - **Path traversal checks** — `startsWith(ROOT)` → `startsWith(ROOT + path.sep)` in plan-validator and sync-checker (prevents sibling directory bypass)
34
+ - **`stack-detector` h2 detection** — `includes("h2")` → `/\bh2\b/` word boundary in Gradle, Maven, and YAML (prevents oauth2/http2/cache2k false positives)
35
+ - **`stack-detector` regex fix** — `[^'")\\s]` → `[^'")\s]` in spring-boot-dependencies version pattern
36
+ - **`stack-detector` version extraction** — TypeScript and engines.node now use `match(/(\d+(?:\.\d+)*)/)` instead of `replace(/[^0-9.]/g, "")` (correctly handles range specifiers like `>=5.0 <6`)
37
+ - **`stack-detector` application*.yml ignore** — Added `**/build/**`, `**/target/**`, `**/.gradle/**` to prevent scanning build output
38
+ - **`stack-detector` vite.config fallback** — Removed redundant inner `!stack.frontend` check
39
+ - **`structure-scanner` [param] filter** — Next.js dynamic route directories (`[id]`, `[slug]`, `[...catchAll]`) excluded from frontend domains
40
+ - **`structure-scanner` lib prefix fix** — `startsWith(libName)` → `startsWith(libName + "/")` (prevents prefix overlap between shared-lib and shared-lib-utils)
41
+ - **`structure-scanner` -lib no-op removed** — `.replace(/-lib$/, "-lib")` (did nothing) removed
42
+ - **`structure-scanner` FastAPI fallback** — `app/*/` → `{app,src/app}/*/` for broader project structure support
43
+ - **`structure-scanner` Windows glob fix** — Added trailing slash normalization and backslash-to-forward-slash conversion for glob patterns from Windows glob results
44
+ - **`domain-grouper` pre-check** — Flush current group *before* adding domain if it would exceed MAX_FILES_PER_GROUP (prevents group overshoot)
45
+ - **`domain-grouper` isBackend** — Simplified from `!!stack.framework && !["nextjs","react","vue"].includes(stack.framework)` to `!!stack.framework` (frontend values are in `stack.frontend`, not `stack.framework`)
46
+ - **`prompt-generator` type detection** — Index-based type assignment prevents misclassification when backend and frontend use same template
47
+ - **`prompt-generator` data.fetch regex** — `data.fetch` → `data[.\-]fetch` (escaped regex dot)
48
+ - **`prompt-generator` m flag** — Removed unnecessary `m` flag from footer-stripping regex
49
+ - **`content-validator` table detection** — `!c.includes("|")` → `/\|.+\|.+\|/` markdown table pattern (previous check was always passing)
50
+ - **`content-validator` section keywords** — `includes()` → regex with word boundary `(^|#|\\s)` (prevents "running" matching "Run")
51
+ - **`health-checker` summary key** — `summary.status` → `summary.healthStatus` (avoids overwriting sync-checker's `status` key)
52
+ - **`manifest-generator` stale-report** — Merge-based init instead of overwrite; `totalIssues`/`status` reset to 0/"initial" each run
53
+ - **`cli.js` totalGroups validation** — Validates type, range, and existence before entering Pass 1 loop
54
+ - **`cli.js` pass1 JSON integrity** — Checks `analysisPerDomain` key exists before skipping; re-runs malformed files
55
+ - **`cli.js` pass2/pass3 prompt guard** — Validates prompt file exists with friendly error before reading
56
+ - **`cli.js` Windows path normalization** — `injectProjectRoot` converts backslashes to forward slashes for Claude prompts
57
+ - **`cli.js` symlink loop protection** — `countFiles` uses `visited` Set + `realpathSync` to prevent infinite recursion
58
+ - **`cli.js` dead code removal** — Removed unreachable `-h`/`-v` comparisons (already mapped by parseArgs)
59
+ - **`cli.js` bare catch** — `catch {}` → `catch (e)` for debuggability
60
+ - **`bootstrap.sh` stdin prompt delivery** — `claude -p "$PROMPT"` → `cat file | claude -p` (avoids ARG_MAX on large prompts)
61
+ - **`bootstrap.sh` dead code removal** — Removed unused `inject_project_root` function
62
+ - **`bootstrap.sh` --lang guard** — Validates `$2` exists before `shift 2`
63
+ - **`bootstrap.sh` read -rp** — Added `-r` flag to prevent backslash escape interpretation
64
+ - **`bootstrap.sh` dynamic language count** — Hardcoded `10` → `${#SUPPORTED_LANGS[@]}`
65
+ - **`bootstrap.sh` Node version check** — Added numeric validation before `-lt` comparison
66
+ - **`bootstrap.sh` file count** — Added `/generated/` and anchored `/node_modules/` exclusion (matches cli.js)
67
+ - **`bootstrap.sh` env cleanup** — `unset _DOMAIN_LIST _PASS_NUM _PROJECT_ROOT` after use
68
+ - **`pass-json-validator`** — Removed redundant `.filter(.endsWith(".json"))` after glob
69
+ - **`safe-fs.js` statSafe** — Read-first order (readFileSync before statSync) to reduce TOCTOU window
70
+ - **Box drawing alignment** — All 7 tool headers: border `╔═...═╗` width matched to `║...║` content width
71
+ - **All 10 READMEs** — `sed` → `perl` in manual steps, `find` command with `/generated/` exclusion, localized frontend comments, updated Contributing test count
72
+
73
+ ### Fixed
74
+ - **`plan-validator`**: `extractCodeBlocks` regex `[\s\S]*?` truncated at inner code fences → indexOf-based parser
75
+ - **`plan-validator`**: `replaceCodeBlock` misidentified closing fences with trailing text as opening fences
76
+ - **`plan-validator`**: off-by-one in `searchPos` (used `nextNewline + 1` instead of `nextNewline`) caused consecutive fences to be missed
77
+ - **`bootstrap.sh`**: Pass 1 failure left temp file behind (now cleaned on both success and failure paths)
78
+
3
79
  ## [1.2.4] — 2026-04-03
4
80
 
5
81
  ### Changed
package/README.de.md CHANGED
@@ -107,9 +107,43 @@ npx claudeos-core init
107
107
 
108
108
  # Option D: git clone (für Entwicklung/Beiträge)
109
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
110
+
111
+ # Plattformübergreifend (PowerShell, CMD, Bash, Zsh — jedes Terminal)
112
+ node claudeos-core-tools/bin/cli.js init
113
+
114
+ # Nur Linux/macOS (nur Bash)
110
115
  bash claudeos-core-tools/bootstrap.sh
111
116
  ```
112
117
 
118
+ ### Ausgabesprache (10 Sprachen)
119
+
120
+ Wenn Sie `init` ohne `--lang` ausführen, erscheint ein interaktiver Selektor mit Pfeiltasten:
121
+
122
+ ```
123
+ ╔══════════════════════════════════════════════════╗
124
+ ║ Select generated document language (required) ║
125
+ ╚══════════════════════════════════════════════════╝
126
+
127
+ Die generierten Dateien (CLAUDE.md, Standards, Rules,
128
+ Skills, Guides) werden auf Deutsch verfasst.
129
+
130
+ 1. en — English
131
+ ...
132
+ ❯ 10. de — Deutsch (German)
133
+
134
+ ↑↓ Move ↵ Select
135
+ ```
136
+
137
+ Die Beschreibung wechselt beim Navigieren in die entsprechende Sprache. Um den Selektor zu überspringen:
138
+
139
+ ```bash
140
+ npx claudeos-core init --lang de # Deutsch
141
+ npx claudeos-core init --lang en # English
142
+ npx claudeos-core init --lang ko # 한국어
143
+ ```
144
+
145
+ > **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.
146
+
113
147
  Das war's. Nach 5–18 Minuten ist die gesamte Dokumentation generiert und einsatzbereit.
114
148
 
115
149
  ### Manuelle Schritt-für-Schritt-Installation
@@ -171,12 +205,12 @@ cat claudeos-core/generated/domain-groups.json | node -e "
171
205
  "
172
206
 
173
207
  # 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
208
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
209
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
210
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
211
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
178
212
 
179
- # For frontend groups, use pass1-frontend-prompt.md instead
213
+ # Für Frontend-Gruppen verwenden Sie pass1-frontend-prompt.md
180
214
  ```
181
215
 
182
216
  **Prüfen:** `ls claudeos-core/generated/pass1-*.json` sollte pro Gruppe eine JSON zeigen.
@@ -218,7 +252,7 @@ node claudeos-core-tools/pass-json-validator/index.js # JSON format
218
252
  #### Step 8: Ergebnisse überprüfen
219
253
 
220
254
  ```bash
221
- find .claude claudeos-core -type f | grep -v node_modules | wc -l
255
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
222
256
  head -30 CLAUDE.md
223
257
  ls .claude/rules/*/
224
258
  ```
@@ -352,16 +386,21 @@ So liest Claude Code die von ClaudeOS-Core generierte Dokumentation tatsächlich
352
386
  | Datei | Wann | Garantiert |
353
387
  |---|---|---|
354
388
  | `CLAUDE.md` | Bei jedem Gesprächsstart | Immer |
355
- | `.claude/rules/*.md` | Beim Bearbeiten von Dateien (via `paths: ["**/*"]`) | Immer |
356
- | `.claude/rules/00.core/00.standard-reference.md` | Oben enthalten | Immer |
389
+ | `.claude/rules/00.core/*` | Beim Bearbeiten von Dateien (`paths: ["**/*"]`) | Immer |
390
+ | `.claude/rules/10.backend/*` | Beim Bearbeiten von Dateien (`paths: ["**/*"]`) | Immer |
391
+ | `.claude/rules/30.security-db/*` | Beim Bearbeiten von Dateien (`paths: ["**/*"]`) | Immer |
392
+ | `.claude/rules/40.infra/*` | Nur bei Config/Infra-Dateien (eingeschränkte Paths) | Bedingt |
393
+ | `.claude/rules/50.sync/*` | Nur bei claudeos-core-Dateien (eingeschränkte Paths) | Bedingt |
357
394
 
358
- ### Dateien, die über die standard-reference Regel gelesen werden
395
+ ### Dateien, die on-demand über Regel-Referenzen gelesen werden
359
396
 
360
- Die Regel `00.standard-reference.md` weist Claude Code an, die Standard-Dokumente vor dem Schreiben von Code zu Read:
397
+ Jede Regel-Datei verlinkt im `## Reference`-Abschnitt auf den entsprechenden Standard. Claude liest nur den für die aktuelle Aufgabe relevanten Standard:
361
398
 
362
399
  - `claudeos-core/standard/**` — Coding-Patterns, ✅/❌ Beispiele, Namenskonventionen
363
400
  - `claudeos-core/database/**` — DB-Schema (für Queries, Mapper, Migrationen)
364
401
 
402
+ `00.standard-reference.md` dient als Verzeichnis zum Entdecken von Standards ohne entsprechende Regel.
403
+
365
404
  ### Dateien, die NICHT gelesen werden (Kontexteinsparung)
366
405
 
367
406
  Explizit durch den `DO NOT Read`-Abschnitt der standard-reference Regel ausgeschlossen:
@@ -421,6 +460,7 @@ npx claudeos-core restore
421
460
  | **Projektspezifische Ausgabe** | ✅ Jede Datei spiegelt Ihre Muster wider | ❌ Generische Befehle | Teilweise | ❌ Einheitsgröße |
422
461
  | **Multi-Stack** | ✅ Auto-Erkennung + separate Analyse | ❌ Stack-agnostisch | Manuell | Variiert |
423
462
  | **Kotlin + CQRS/BFF** | ✅ Multi-Modul, Command/Query-Trennung | ❌ | ❌ | ❌ |
463
+ | **Mehrsprachig** | ✅ 10 Sprachen, interaktiver Selektor | ❌ | ❌ | ❌ |
424
464
  | **Selbstverifizierung** | ✅ 5 Validierungstools | ❌ | ❌ | ❌ |
425
465
  | **Backup / Wiederherstellung** | ✅ Master Plan System | ❌ | ❌ | ❌ |
426
466
  | **Einrichtungszeit** | ~5–18 Min (automatisch) | ~5 Min (manuelle Konfig) | Stunden–Tage | ~5 Min |
package/README.es.md CHANGED
@@ -107,9 +107,44 @@ npx claudeos-core init
107
107
 
108
108
  # Opción D: git clone (para desarrollo/contribución)
109
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
110
+
111
+ # Multiplataforma (PowerShell, CMD, Bash, Zsh — cualquier terminal)
112
+ node claudeos-core-tools/bin/cli.js init
113
+
114
+ # Solo Linux/macOS (solo Bash)
110
115
  bash claudeos-core-tools/bootstrap.sh
111
116
  ```
112
117
 
118
+ ### Idioma de salida (10 idiomas)
119
+
120
+ Al ejecutar `init` sin `--lang`, aparece un selector interactivo con teclas de flecha:
121
+
122
+ ```
123
+ ╔══════════════════════════════════════════════════╗
124
+ ║ Select generated document language (required) ║
125
+ ╚══════════════════════════════════════════════════╝
126
+
127
+ Los archivos generados (CLAUDE.md, Standards, Rules,
128
+ Skills, Guides) se escribirán en español.
129
+
130
+ 1. en — English
131
+ ...
132
+ ❯ 5. es — Español (Spanish)
133
+ ...
134
+
135
+ ↑↓ Move ↵ Select
136
+ ```
137
+
138
+ La descripción cambia al idioma seleccionado al navegar. Para saltar el selector:
139
+
140
+ ```bash
141
+ npx claudeos-core init --lang es # Español
142
+ npx claudeos-core init --lang en # English
143
+ npx claudeos-core init --lang ko # 한국어
144
+ ```
145
+
146
+ > **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.
147
+
113
148
  Eso es todo. Después de 5–18 minutos, toda la documentación estará generada y lista para usar.
114
149
 
115
150
  ### Instalación Manual Paso a Paso
@@ -171,12 +206,12 @@ cat claudeos-core/generated/domain-groups.json | node -e "
171
206
  "
172
207
 
173
208
  # 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
209
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
210
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
211
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
212
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
178
213
 
179
- # For frontend groups, use pass1-frontend-prompt.md instead
214
+ # Para grupos frontend, use pass1-frontend-prompt.md
180
215
  ```
181
216
 
182
217
  **Verificar:** `ls claudeos-core/generated/pass1-*.json` debe mostrar un JSON por grupo.
@@ -218,7 +253,7 @@ node claudeos-core-tools/pass-json-validator/index.js # JSON format
218
253
  #### Step 8: Verificar los resultados
219
254
 
220
255
  ```bash
221
- find .claude claudeos-core -type f | grep -v node_modules | wc -l
256
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
222
257
  head -30 CLAUDE.md
223
258
  ls .claude/rules/*/
224
259
  ```
@@ -352,16 +387,21 @@ Así es como Claude Code lee la documentación generada por ClaudeOS-Core:
352
387
  | Archivo | Cuándo | Garantizado |
353
388
  |---|---|---|
354
389
  | `CLAUDE.md` | Al inicio de cada conversación | Siempre |
355
- | `.claude/rules/*.md` | Al editar archivos (vía `paths: ["**/*"]`) | Siempre |
356
- | `.claude/rules/00.core/00.standard-reference.md` | Incluido arriba | Siempre |
390
+ | `.claude/rules/00.core/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
391
+ | `.claude/rules/10.backend/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
392
+ | `.claude/rules/30.security-db/*` | Al editar archivos (`paths: ["**/*"]`) | Siempre |
393
+ | `.claude/rules/40.infra/*` | Solo al editar archivos config/infra (paths con alcance) | Condicional |
394
+ | `.claude/rules/50.sync/*` | Solo al editar archivos claudeos-core (paths con alcance) | Condicional |
357
395
 
358
- ### Archivos leídos vía regla standard-reference
396
+ ### Archivos leídos bajo demanda vía referencias en reglas
359
397
 
360
- La regla `00.standard-reference.md` instruye a Claude Code a Read los documentos estándar antes de escribir código:
398
+ Cada archivo de regla enlaza a su standard correspondiente en la sección `## Reference`. Claude solo lee el standard relevante para la tarea actual:
361
399
 
362
400
  - `claudeos-core/standard/**` — Patrones de código, ejemplos ✅/❌, convenciones de nombres
363
401
  - `claudeos-core/database/**` — Schema DB (para queries, mappers, migraciones)
364
402
 
403
+ `00.standard-reference.md` sirve como directorio para descubrir standards sin regla correspondiente.
404
+
365
405
  ### Archivos que NO se leen (ahorro de contexto)
366
406
 
367
407
  Excluidos explícitamente por la sección `DO NOT Read` de la regla standard-reference:
@@ -421,6 +461,7 @@ npx claudeos-core restore
421
461
  | **Salida específica del proyecto** | ✅ Cada archivo refleja tus patrones | ❌ Comandos genéricos | Parcial | ❌ Talla única |
422
462
  | **Multi-stack** | ✅ Auto-detección + análisis separado | ❌ Agnóstico al stack | Manual | Variable |
423
463
  | **Kotlin + CQRS/BFF** | ✅ Multi-module, Command/Query split | ❌ | ❌ | ❌ |
464
+ | **Multi-idioma** | ✅ 10 idiomas, selector interactivo | ❌ | ❌ | ❌ |
424
465
  | **Auto-verificación** | ✅ 5 herramientas de validación | ❌ | ❌ | ❌ |
425
466
  | **Backup / Restauración** | ✅ Sistema Master Plan | ❌ | ❌ | ❌ |
426
467
  | **Tiempo de configuración** | ~5–18min (automático) | ~5min (config manual) | Horas–Días | ~5min |
package/README.fr.md CHANGED
@@ -107,9 +107,44 @@ npx claudeos-core init
107
107
 
108
108
  # Option D : git clone (pour développement/contribution)
109
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
110
+
111
+ # Multiplateforme (PowerShell, CMD, Bash, Zsh — tout terminal)
112
+ node claudeos-core-tools/bin/cli.js init
113
+
114
+ # Linux/macOS uniquement (Bash uniquement)
110
115
  bash claudeos-core-tools/bootstrap.sh
111
116
  ```
112
117
 
118
+ ### Langue de sortie (10 langues)
119
+
120
+ En exécutant `init` sans `--lang`, un sélecteur interactif avec les touches fléchées apparaît :
121
+
122
+ ```
123
+ ╔══════════════════════════════════════════════════╗
124
+ ║ Select generated document language (required) ║
125
+ ╚══════════════════════════════════════════════════╝
126
+
127
+ Les fichiers générés (CLAUDE.md, Standards, Rules,
128
+ Skills, Guides) seront rédigés en français.
129
+
130
+ 1. en — English
131
+ ...
132
+ ❯ 9. fr — Français (French)
133
+ ...
134
+
135
+ ↑↓ Move ↵ Select
136
+ ```
137
+
138
+ La description change dans la langue correspondante lors de la navigation. Pour passer le sélecteur :
139
+
140
+ ```bash
141
+ npx claudeos-core init --lang fr # Français
142
+ npx claudeos-core init --lang en # English
143
+ npx claudeos-core init --lang ko # 한국어
144
+ ```
145
+
146
+ > **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.
147
+
113
148
  C'est tout. Après 5–18 minutes, toute la documentation est générée et prête à l'emploi.
114
149
 
115
150
  ### Installation Manuelle Étape par Étape
@@ -171,12 +206,12 @@ cat claudeos-core/generated/domain-groups.json | node -e "
171
206
  "
172
207
 
173
208
  # 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
209
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
210
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
211
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
212
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
178
213
 
179
- # For frontend groups, use pass1-frontend-prompt.md instead
214
+ # Pour les groupes frontend, utilisez pass1-frontend-prompt.md
180
215
  ```
181
216
 
182
217
  **Vérifier :** `ls claudeos-core/generated/pass1-*.json` doit afficher un JSON par groupe.
@@ -218,7 +253,7 @@ node claudeos-core-tools/pass-json-validator/index.js # JSON format
218
253
  #### Step 8 : Vérifier les résultats
219
254
 
220
255
  ```bash
221
- find .claude claudeos-core -type f | grep -v node_modules | wc -l
256
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
222
257
  head -30 CLAUDE.md
223
258
  ls .claude/rules/*/
224
259
  ```
@@ -352,16 +387,21 @@ Voici comment Claude Code lit effectivement la documentation générée par Clau
352
387
  | Fichier | Quand | Garanti |
353
388
  |---|---|---|
354
389
  | `CLAUDE.md` | Au début de chaque conversation | Toujours |
355
- | `.claude/rules/*.md` | Lors de l'édition de fichiers (via `paths: ["**/*"]`) | Toujours |
356
- | `.claude/rules/00.core/00.standard-reference.md` | Inclus ci-dessus | Toujours |
390
+ | `.claude/rules/00.core/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
391
+ | `.claude/rules/10.backend/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
392
+ | `.claude/rules/30.security-db/*` | Lors de l'édition de fichiers (`paths: ["**/*"]`) | Toujours |
393
+ | `.claude/rules/40.infra/*` | Uniquement pour les fichiers config/infra (paths scopés) | Conditionnel |
394
+ | `.claude/rules/50.sync/*` | Uniquement pour les fichiers claudeos-core (paths scopés) | Conditionnel |
357
395
 
358
- ### Fichiers lus via la règle standard-reference
396
+ ### Fichiers lus à la demande via les références des règles
359
397
 
360
- La règle `00.standard-reference.md` indique à Claude Code de Read les documents standards avant d'écrire du code :
398
+ Chaque fichier de règle lie son standard correspondant dans la section `## Reference`. Claude ne lit que le standard pertinent pour la tâche en cours :
361
399
 
362
400
  - `claudeos-core/standard/**` — Patterns de code, exemples ✅/❌, conventions de nommage
363
401
  - `claudeos-core/database/**` — Schéma DB (pour requêtes, mappers, migrations)
364
402
 
403
+ `00.standard-reference.md` sert de répertoire pour découvrir les standards sans règle correspondante.
404
+
365
405
  ### Fichiers NON lus (économie de contexte)
366
406
 
367
407
  Explicitement exclus par la section `DO NOT Read` de la règle standard-reference :
@@ -421,6 +461,7 @@ npx claudeos-core restore
421
461
  | **Sortie spécifique au projet** | ✅ Chaque fichier reflète vos patterns | ❌ Commandes génériques | Partiel | ❌ Taille unique |
422
462
  | **Multi-stack** | ✅ Auto-détection + analyse séparée | ❌ Agnostique au stack | Manuel | Variable |
423
463
  | **Kotlin + CQRS/BFF** | ✅ Multi-module, Command/Query split | ❌ | ❌ | ❌ |
464
+ | **Multilingue** | ✅ 10 langues, sélecteur interactif | ❌ | ❌ | ❌ |
424
465
  | **Auto-vérification** | ✅ 5 outils de validation | ❌ | ❌ | ❌ |
425
466
  | **Sauvegarde / Restauration** | ✅ Système Master Plan | ❌ | ❌ | ❌ |
426
467
  | **Temps de configuration** | ~5–18 min (automatique) | ~5 min (config manuelle) | Heures–Jours | ~5 min |
package/README.hi.md CHANGED
@@ -107,9 +107,44 @@ npx claudeos-core init
107
107
 
108
108
  # विकल्प D: git clone (डेवलपमेंट/कॉन्ट्रिब्यूशन के लिए)
109
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
110
+
111
+ # क्रॉस-प्लेटफ़ॉर्म (PowerShell, CMD, Bash, Zsh — कोई भी टर्मिनल)
112
+ node claudeos-core-tools/bin/cli.js init
113
+
114
+ # केवल Linux/macOS (केवल Bash)
110
115
  bash claudeos-core-tools/bootstrap.sh
111
116
  ```
112
117
 
118
+ ### आउटपुट भाषा (10 भाषाएँ)
119
+
120
+ `--lang` के बिना `init` चलाने पर, एरो कीज़ से भाषा चुनने का इंटरैक्टिव सेलेक्टर दिखाई देगा:
121
+
122
+ ```
123
+ ╔══════════════════════════════════════════════════╗
124
+ ║ Select generated document language (required) ║
125
+ ╚══════════════════════════════════════════════════╝
126
+
127
+ जनरेट की गई फ़ाइलें (CLAUDE.md, Standards, Rules,
128
+ Skills, Guides) हिन्दी में लिखी जाएंगी।
129
+
130
+ 1. en — English
131
+ ...
132
+ ❯ 7. hi — हिन्दी (Hindi)
133
+ ...
134
+
135
+ ↑↓ Move ↵ Select
136
+ ```
137
+
138
+ एरो से मूव करने पर विवरण उस भाषा में बदलता है। सेलेक्टर स्किप करने के लिए:
139
+
140
+ ```bash
141
+ npx claudeos-core init --lang hi # हिन्दी
142
+ npx claudeos-core init --lang en # English
143
+ npx claudeos-core init --lang ko # 한국어
144
+ ```
145
+
146
+ > **नोट:** यह केवल जनरेट होने वाली डॉक्यूमेंट फ़ाइलों की भाषा बदलता है। कोड एनालिसिस (Pass 1–2) हमेशा अंग्रेज़ी में चलता है; केवल जनरेट रिज़ल्ट (Pass 3) चुनी गई भाषा में लिखा जाता है।
147
+
113
148
  बस इतना ही। 5–18 मिनट बाद, सारा डॉक्यूमेंटेशन जेनरेट होकर उपयोग के लिए तैयार है।
114
149
 
115
150
  ### मैन्युअल स्टेप-बाय-स्टेप इंस्टॉलेशन
@@ -171,12 +206,12 @@ cat claudeos-core/generated/domain-groups.json | node -e "
171
206
  "
172
207
 
173
208
  # 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
209
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
210
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
211
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
212
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
178
213
 
179
- # For frontend groups, use pass1-frontend-prompt.md instead
214
+ # फ्रंटएंड ग्रुप के लिए pass1-frontend-prompt.md का उपयोग करें
180
215
  ```
181
216
 
182
217
  **सत्यापित करें:** `ls claudeos-core/generated/pass1-*.json` में प्रति ग्रुप एक JSON दिखना चाहिए।
@@ -218,7 +253,7 @@ node claudeos-core-tools/pass-json-validator/index.js # JSON format
218
253
  #### Step 8: रिज़ल्ट सत्यापित करें
219
254
 
220
255
  ```bash
221
- find .claude claudeos-core -type f | grep -v node_modules | wc -l
256
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
222
257
  head -30 CLAUDE.md
223
258
  ls .claude/rules/*/
224
259
  ```
@@ -352,16 +387,21 @@ ClaudeOS-Core द्वारा जेनरेट किए गए डॉक
352
387
  | फाइल | कब | गारंटी |
353
388
  |---|---|---|
354
389
  | `CLAUDE.md` | हर कन्वर्सेशन शुरू होने पर | हमेशा |
355
- | `.claude/rules/*.md` | फाइल एडिट करते समय (`paths: ["**/*"]`) | हमेशा |
356
- | `.claude/rules/00.core/00.standard-reference.md` | ऊपर में शामिल | हमेशा |
390
+ | `.claude/rules/00.core/*` | फाइल एडिट करते समय (`paths: ["**/*"]`) | हमेशा |
391
+ | `.claude/rules/10.backend/*` | फाइल एडिट करते समय (`paths: ["**/*"]`) | हमेशा |
392
+ | `.claude/rules/30.security-db/*` | फाइल एडिट करते समय (`paths: ["**/*"]`) | हमेशा |
393
+ | `.claude/rules/40.infra/*` | केवल config/infra फाइल एडिट करते समय (स्कोप्ड paths) | सशर्त |
394
+ | `.claude/rules/50.sync/*` | केवल claudeos-core फाइल एडिट करते समय (स्कोप्ड paths) | सशर्त |
357
395
 
358
- ### standard-reference रूल के ज़रिए पढ़ी जाने वाली फाइलें
396
+ ### रूल रेफरेंस के ज़रिए ऑन-डिमांड पढ़ी जाने वाली फाइलें
359
397
 
360
- `00.standard-reference.md` रूल Claude Code को कोड लिखने से पहले ये डॉक्यूमेंट Read करने का निर्देश देता है:
398
+ हर रूल फाइल `## Reference` सेक्शन में संबंधित standard को लिंक करती है। Claude केवल वर्तमान कार्य से संबंधित standard पढ़ता है:
361
399
 
362
400
  - `claudeos-core/standard/**` — कोडिंग पैटर्न, ✅/❌ उदाहरण, नेमिंग कन्वेंशन
363
401
  - `claudeos-core/database/**` — DB स्कीमा (क्वेरी, मैपर, माइग्रेशन के लिए)
364
402
 
403
+ `00.standard-reference.md` बिना संबंधित रूल वाले standard की खोज के लिए एक डायरेक्टरी के रूप में कार्य करता है।
404
+
365
405
  ### न पढ़ी जाने वाली फाइलें (कॉन्टेक्स्ट बचत)
366
406
 
367
407
  standard-reference रूल के `DO NOT Read` सेक्शन द्वारा स्पष्ट रूप से बाहर:
@@ -421,6 +461,7 @@ npx claudeos-core restore
421
461
  | **प्रोजेक्ट-स्पेसिफिक आउटपुट** | ✅ हर फाइल आपके पैटर्न रिफ्लेक्ट करती है | ❌ जेनेरिक कमांड | आंशिक | ❌ वन-साइज़-फिट्स-ऑल |
422
462
  | **मल्टी-स्टैक** | ✅ ऑटो-डिटेक्ट + अलग विश्लेषण | ❌ स्टैक-एग्नॉस्टिक | मैन्युअल | अनिश्चित |
423
463
  | **Kotlin + CQRS/BFF** | ✅ मल्टी-मॉड्यूल, Command/Query विभाजन | ❌ | ❌ | ❌ |
464
+ | **बहुभाषी** | ✅ 10 भाषाएँ, इंटरैक्टिव सेलेक्टर | ❌ | ❌ | ❌ |
424
465
  | **सेल्फ-वेरिफाइंग** | ✅ 5 वैलिडेशन टूल्स | ❌ | ❌ | ❌ |
425
466
  | **बैकअप / रीस्टोर** | ✅ Master Plan सिस्टम | ❌ | ❌ | ❌ |
426
467
  | **सेटअप समय** | ~5–18 मिनट (ऑटोमेटेड) | ~5 मिनट (मैन्युअल कॉन्फ़िग) | घंटे–दिन | ~5 मिनट |
package/README.ja.md CHANGED
@@ -107,9 +107,45 @@ npx claudeos-core init
107
107
 
108
108
  # 方法 D:git clone(開発・コントリビューション用)
109
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
110
+
111
+ # クロスプラットフォーム(PowerShell、CMD、Bash、Zsh — すべてのターミナル)
112
+ node claudeos-core-tools/bin/cli.js init
113
+
114
+ # Linux/macOS のみ(Bash のみ)
110
115
  bash claudeos-core-tools/bootstrap.sh
111
116
  ```
112
117
 
118
+ ### 出力言語(10 言語対応)
119
+
120
+ `--lang` なしで `init` を実行すると、矢印キーで言語を選択するインタラクティブ画面が表示されます:
121
+
122
+ ```
123
+ ╔══════════════════════════════════════════════════╗
124
+ ║ Select generated document language (required) ║
125
+ ╚══════════════════════════════════════════════════╝
126
+
127
+ 生成されるファイル(CLAUDE.md、Standards、Rules、
128
+ Skills、Guides)は日本語で作成されます。
129
+
130
+ 1. en — English
131
+ 2. ko — 한국어 (Korean)
132
+ 3. zh-CN — 简体中文 (Chinese Simplified)
133
+ ❯ 4. ja — 日本語 (Japanese)
134
+ ...
135
+
136
+ ↑↓ Move ↵ Select
137
+ ```
138
+
139
+ 矢印キーで移動すると、説明が該当言語に切り替わります。セレクターをスキップするには `--lang` を直接指定してください:
140
+
141
+ ```bash
142
+ npx claudeos-core init --lang ja # 日本語
143
+ npx claudeos-core init --lang en # English
144
+ npx claudeos-core init --lang ko # 한국어
145
+ ```
146
+
147
+ > **注意:** この設定は生成されるドキュメントファイルの言語のみを変更します。コード分析(Pass 1–2)は常に英語で実行され、生成結果(Pass 3)のみ選択した言語で作成されます。コード例は元のプログラミング言語構文のまま維持されます。
148
+
113
149
  これだけです。5–18 分後、すべてのドキュメントが生成され、すぐに使えます。
114
150
 
115
151
  ### 手動ステップバイステップインストール
@@ -171,12 +207,12 @@ cat claudeos-core/generated/domain-groups.json | node -e "
171
207
  "
172
208
 
173
209
  # 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
210
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
211
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
212
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
213
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
178
214
 
179
- # For frontend groups, use pass1-frontend-prompt.md instead
215
+ # フロントエンドグループは pass1-frontend-prompt.md を使用してください
180
216
  ```
181
217
 
182
218
  **確認:** `ls claudeos-core/generated/pass1-*.json` でグループごとに1つの JSON があることを確認。
@@ -218,7 +254,7 @@ node claudeos-core-tools/pass-json-validator/index.js # JSON format
218
254
  #### Step 8:結果の確認
219
255
 
220
256
  ```bash
221
- find .claude claudeos-core -type f | grep -v node_modules | wc -l
257
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
222
258
  head -30 CLAUDE.md
223
259
  ls .claude/rules/*/
224
260
  ```
@@ -352,16 +388,21 @@ ClaudeOS-Core が生成したドキュメントを Claude Code が実際に読
352
388
  | ファイル | タイミング | 保証 |
353
389
  |---|---|---|
354
390
  | `CLAUDE.md` | 毎回の会話開始時 | 常に |
355
- | `.claude/rules/*.md` | ファイル編集時(`paths: ["**/*"]`) | 常に |
356
- | `.claude/rules/00.core/00.standard-reference.md` | 上記に含まれる | 常に |
391
+ | `.claude/rules/00.core/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
392
+ | `.claude/rules/10.backend/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
393
+ | `.claude/rules/30.security-db/*` | ファイル編集時(`paths: ["**/*"]`) | 常に |
394
+ | `.claude/rules/40.infra/*` | config/infraファイル編集時のみ(スコープ付きpaths) | 条件付き |
395
+ | `.claude/rules/50.sync/*` | claudeos-coreファイル編集時のみ(スコープ付きpaths) | 条件付き |
357
396
 
358
- ### standard-reference ルール経由で読み取るファイル
397
+ ### ルール参照によるオンデマンド読み取り
359
398
 
360
- `00.standard-reference.md` ルールが、コード作成前に以下のドキュメントを Read するよう指示します:
399
+ 各ルールファイル末尾の `## Reference` セクションが対応するstandardをリンクします。Claudeは現在のタスクに関連するstandardのみ読み取ります:
361
400
 
362
401
  - `claudeos-core/standard/**` — コーディングパターン、✅/❌ 例、命名規則
363
402
  - `claudeos-core/database/**` — DB スキーマ(クエリ、マッパー、マイグレーション用)
364
403
 
404
+ `00.standard-reference.md` は対応ルールのないstandardを発見するためのディレクトリです。
405
+
365
406
  ### 読み取らないファイル(コンテキスト節約)
366
407
 
367
408
  standard-reference ルールの `DO NOT Read` セクションで明示的に除外されます:
@@ -421,6 +462,7 @@ npx claudeos-core restore
421
462
  | **プロジェクト固有の出力** | ✅ すべてのファイルがあなたのパターンを反映 | ❌ 汎用コマンド | 部分的 | ❌ 画一的 |
422
463
  | **マルチスタック** | ✅ 自動検出 + 個別分析 | ❌ スタック非依存 | 手動 | 不定 |
423
464
  | **Kotlin + CQRS/BFF** | ✅ マルチモジュール、Command/Query分離 | ❌ | ❌ | ❌ |
465
+ | **多言語対応** | ✅ 10 言語、インタラクティブ選択 | ❌ | ❌ | ❌ |
424
466
  | **自己検証** | ✅ 5 つの検証ツール | ❌ | ❌ | ❌ |
425
467
  | **バックアップ / リストア** | ✅ Master Plan システム | ❌ | ❌ | ❌ |
426
468
  | **セットアップ時間** | ~5–18分(自動) | ~5分(手動設定) | 数時間–数日 | ~5分 |