claudeos-core 2.2.0 → 2.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 (49) hide show
  1. package/CHANGELOG.md +1664 -907
  2. package/CONTRIBUTING.md +92 -92
  3. package/README.de.md +28 -0
  4. package/README.es.md +28 -0
  5. package/README.fr.md +28 -0
  6. package/README.hi.md +28 -0
  7. package/README.ja.md +28 -0
  8. package/README.ko.md +1014 -986
  9. package/README.md +1016 -987
  10. package/README.ru.md +28 -0
  11. package/README.vi.md +1015 -987
  12. package/README.zh-CN.md +28 -0
  13. package/bin/cli.js +152 -148
  14. package/bin/commands/init.js +1673 -1554
  15. package/bin/commands/lint.js +62 -0
  16. package/bin/commands/memory.js +438 -438
  17. package/bin/lib/cli-utils.js +206 -206
  18. package/claude-md-validator/index.js +184 -0
  19. package/claude-md-validator/reporter.js +66 -0
  20. package/claude-md-validator/structural-checks.js +528 -0
  21. package/content-validator/index.js +666 -441
  22. package/lib/expected-guides.js +23 -23
  23. package/lib/expected-outputs.js +90 -90
  24. package/lib/language-config.js +35 -35
  25. package/lib/memory-scaffold.js +1058 -1054
  26. package/lib/plan-parser.js +165 -165
  27. package/lib/staged-rules.js +118 -118
  28. package/manifest-generator/index.js +174 -174
  29. package/package.json +90 -87
  30. package/pass-json-validator/index.js +337 -337
  31. package/pass-prompts/templates/common/claude-md-scaffold.md +52 -10
  32. package/pass-prompts/templates/common/pass3-footer.md +402 -224
  33. package/pass-prompts/templates/common/pass3b-core-header.md +43 -0
  34. package/pass-prompts/templates/common/pass4.md +375 -305
  35. package/pass-prompts/templates/common/staging-override.md +26 -26
  36. package/pass-prompts/templates/node-vite/pass1.md +117 -117
  37. package/pass-prompts/templates/node-vite/pass2.md +78 -78
  38. package/pass-prompts/templates/python-flask/pass1.md +119 -119
  39. package/pass-prompts/templates/python-flask/pass2.md +85 -85
  40. package/plan-installer/domain-grouper.js +76 -76
  41. package/plan-installer/index.js +137 -137
  42. package/plan-installer/prompt-generator.js +188 -145
  43. package/plan-installer/scanners/scan-frontend.js +505 -473
  44. package/plan-installer/scanners/scan-java.js +226 -226
  45. package/plan-installer/scanners/scan-node.js +57 -57
  46. package/plan-installer/scanners/scan-python.js +85 -85
  47. package/plan-installer/stack-detector.js +482 -482
  48. package/plan-installer/structure-scanner.js +65 -65
  49. package/sync-checker/index.js +177 -177
@@ -47,6 +47,44 @@ DO NOT:
47
47
  - Restate the L4 memory table or workflow twice under different headings
48
48
  — it appears exactly once, only in Section 8 sub-section 2.
49
49
 
50
+ ## Section heading format (MANDATORY)
51
+
52
+ The 8 canonical section headings below (`## 1. Role Definition` through
53
+ `## 8. Common Rules & Memory (L4)`) use English as their canonical form.
54
+ When generating CLAUDE.md in a non-English output language, the English
55
+ canonical heading MUST remain the primary heading text. A native-language
56
+ translation MAY be appended in parentheses, but is optional.
57
+
58
+ This rule exists because multiple projects in the same organization will
59
+ have their CLAUDE.md files consumed together (multi-repo grep, cross-repo
60
+ navigation, side-by-side review). When every project uses a different
61
+ native-language translation for the same section, even when the structure
62
+ is otherwise identical, discoverability breaks: `grep "## 7. DO NOT Read"`
63
+ no longer matches all siblings.
64
+
65
+ Format rule:
66
+ - Primary (required): English canonical heading exactly as listed.
67
+ - Parenthetical (optional): native-language translation, added at the end.
68
+
69
+ Examples (ko output):
70
+
71
+ ✅ `## 7. DO NOT Read`
72
+ ✅ `## 7. DO NOT Read (직접 읽지 말아야 할 파일)`
73
+ ❌ `## 7. 읽지 말 것 (Files Not to Be Read Directly)`
74
+ — English must be primary, not parenthetical
75
+ ❌ `## 7. 읽지 말 것`
76
+ — English canonical must appear
77
+
78
+ Examples (ja output):
79
+
80
+ ✅ `## 7. DO NOT Read (直接読まないファイル)`
81
+ ❌ `## 7. 直接読まないファイル (DO NOT Read)`
82
+
83
+ The same rule applies to all 8 sections. When in doubt, emit only the
84
+ English canonical heading; the parenthetical translation is a courtesy,
85
+ not a requirement. The CONTENT below the heading is still written
86
+ entirely in the target language.
87
+
50
88
  DO:
51
89
  - Adapt content within each section to project facts from pass2-merged.json
52
90
  - Use placeholder values (`{PROJECT_CONTEXT}`, `{OUTPUT_LANG}`) where specified
@@ -227,7 +265,7 @@ Generate `{PROJECT_CONTEXT}` as a single sentence combining:
227
265
  - Specific file paths (apiClient.ts, vite.config.desktop.ts)
228
266
  - Specific counts (18 domains, 3 layers)
229
267
  - Specific versions (React 19.1.0, Spring Boot 3.2)
230
- - Specific domain names (admin, guide, spocis)
268
+ - Specific domain names (admin, guide, orders)
231
269
 
232
270
  **Source**: pass2-merged.json architecture/stack sections.
233
271
 
@@ -525,14 +563,18 @@ Workflow: `#### Memory Workflow` — FIXED 6-step numbered list
525
563
  5. Periodic compaction — memory compact command
526
564
  6. Review rule-update proposals — auto-rule-update review
527
565
 
528
- **DO NOT INCLUDE ANYWHERE IN SECTION 8**:
529
- - Restatement of common rules (51·52) content in the L4 sub-section
530
- - Restatement of L4 memory table in the Common Rules sub-section
531
- - "L4 Memory Files (Re-declaration)" the memory table appears exactly
532
- ONCE, only in sub-section 2. Restating it as a sibling heading is the
533
- exact anti-pattern that created §9 in earlier generations.
534
- - Master plan references plan/ removed in v2.1.0
535
- - Project-specific memory details those go inside memory/*.md files
566
+ **Section 8 single-occurrence rule** (enforces the "one canonical home"
567
+ principle):
568
+ - The L4 Memory Files table appears EXACTLY ONCE in the entire document
569
+ — inside sub-section 2 (`L4 Memory`). No other location.
570
+ - The Memory Workflow (6-step numbered list) appears EXACTLY ONCE same
571
+ location, after the L4 Memory Files table.
572
+ - The Common Rules meta-summary table appears EXACTLY ONCE — inside
573
+ sub-section 1. No sibling, no echo, no restatement.
574
+
575
+ **Out-of-scope content** (do NOT place under Section 8):
576
+ - Project-specific memory details — those go inside `memory/*.md` files
577
+ - Master plan references — `plan/` was removed in v2.1.0
536
578
 
537
579
  **Language**: Use `{OUTPUT_LANG}` throughout this section. All headings,
538
580
  table column labels, intro sentences, and workflow step labels shown
@@ -597,7 +639,7 @@ Before finalizing, verify:
597
639
  - [ ] Section 8 sub-section 1 meta-summary column is 1 line per row, NOT a rule-body copy
598
640
  - [ ] Section 8 sub-section 2 L4 memory table has exactly 4 rows
599
641
  - [ ] Section 8 sub-section 2 workflow has exactly 6 steps
600
- - [ ] Section 8 L4 table and workflow appear EXACTLY ONCE (no "Re-declaration" duplicate)
642
+ - [ ] Section 8 L4 table and workflow appear EXACTLY ONCE in the whole document
601
643
  - [ ] Section 1 PROJECT_CONTEXT contains NO hardcoded component/product names
602
644
 
603
645
  ---