claudeos-core 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +426 -0
  2. package/README.de.md +32 -5
  3. package/README.es.md +32 -5
  4. package/README.fr.md +32 -5
  5. package/README.hi.md +32 -5
  6. package/README.ja.md +32 -5
  7. package/README.ko.md +32 -5
  8. package/README.md +32 -5
  9. package/README.ru.md +34 -5
  10. package/README.vi.md +32 -5
  11. package/README.zh-CN.md +32 -5
  12. package/bin/commands/init.js +81 -45
  13. package/content-validator/index.js +6 -1
  14. package/lib/env-parser.js +317 -0
  15. package/lib/memory-scaffold.js +7 -5
  16. package/package.json +1 -1
  17. package/pass-prompts/templates/angular/pass3.md +28 -13
  18. package/pass-prompts/templates/common/claude-md-scaffold.md +644 -0
  19. package/pass-prompts/templates/common/pass3-footer.md +185 -0
  20. package/pass-prompts/templates/common/pass4.md +6 -3
  21. package/pass-prompts/templates/common/staging-override.md +1 -1
  22. package/pass-prompts/templates/java-spring/pass3.md +31 -21
  23. package/pass-prompts/templates/kotlin-spring/pass3.md +34 -22
  24. package/pass-prompts/templates/node-express/pass3.md +30 -21
  25. package/pass-prompts/templates/node-fastify/pass3.md +28 -14
  26. package/pass-prompts/templates/node-nestjs/pass3.md +29 -14
  27. package/pass-prompts/templates/node-nextjs/pass3.md +34 -21
  28. package/pass-prompts/templates/node-vite/pass3.md +30 -13
  29. package/pass-prompts/templates/python-django/pass3.md +32 -21
  30. package/pass-prompts/templates/python-fastapi/pass3.md +33 -21
  31. package/pass-prompts/templates/python-flask/pass3.md +31 -13
  32. package/pass-prompts/templates/vue-nuxt/pass3.md +32 -13
  33. package/plan-installer/index.js +8 -0
  34. package/plan-installer/prompt-generator.js +18 -1
  35. package/plan-installer/stack-detector.js +16 -0
@@ -35,5 +35,190 @@ MUST list ALL sub-skill files in its execution order table with no gaps.
35
35
  Every sub-skill file generated in the scaffold directory MUST have a corresponding row.
36
36
  Do NOT skip any number in the sequence.
37
37
 
38
+ CRITICAL — Sync Rule Economy:
39
+ For 50.sync/*, generate AT MOST 2 files:
40
+ - One doc-sync rule covering BOTH directions (standard ↔ rules) as a single bidirectional rule.
41
+ - One skills-sync rule covering the skills ↔ MANIFEST relationship.
42
+ Do NOT generate separate "A → B" and "B → A" files for the same mirror relationship —
43
+ they are redundant and multiply self-maintenance cost.
44
+
45
+ Inside sync rules:
46
+ - Do NOT hardcode file-to-file mapping tables (e.g., "standard/X.md → rules/X-rules.md"
47
+ listed for every pair). Express the relationship as a NAMING CONVENTION instead
48
+ (e.g., "standard/<N>.<dir>/<M>.<name>.md ↔ .claude/rules/<N>.<dir>/<M>.<name>-rules.md").
49
+ - The master mapping index lives in .claude/rules/00.core/00.standard-reference.md —
50
+ sync rules should reference it, not duplicate it.
51
+ - Hardcoded mapping tables rot fast: every new standard file forces an edit.
52
+ Naming conventions are self-describing and maintenance-free.
53
+
54
+ CRITICAL — `00.standard-reference.md` Composition:
55
+ This file is the mechanical standards index loaded on every edit via
56
+ `paths: ["**/*"]`. Its role is to let Claude Code locate a standard file
57
+ quickly without enumerating the whole tree. Scope it strictly:
58
+
59
+ INCLUDE:
60
+ - Every file that will exist under `claudeos-core/standard/` after Pass 3 + Pass 4.
61
+ This includes FORWARD REFERENCES to Pass 4 outputs — specifically
62
+ `claudeos-core/standard/00.core/04.doc-writing-guide.md` (generated by Pass 4's
63
+ Required output #12). Omitting it creates an index gap the moment Pass 4 runs.
64
+ If Pass 4 lands a file at `claudeos-core/standard/00.core/04.doc-writing-guide.md`,
65
+ it must already appear in Pass 3's `00.standard-reference.md` under `## Core`.
66
+
67
+ DO NOT INCLUDE:
68
+ - "DO NOT Read" / "context waste" / "Avoid reading" sections listing
69
+ `claudeos-core/generated/`, `claudeos-core/guide/`, `claudeos-core/mcp-guide/`,
70
+ `build/`, `mz-common/`, or any "negative list". CLAUDE.md Section 7
71
+ (DO NOT Read) is the single source of truth for that information, and it
72
+ is more complete (includes project-specific paths like `build/` and
73
+ external modules). Replicating this list inside `00.standard-reference.md`
74
+ creates a duplicate maintenance point that drifts over time.
75
+ - Rule files (`.claude/rules/*`), skill files (`claudeos-core/skills/*`), or
76
+ memory files (`claudeos-core/memory/*`). The index is for standards only.
77
+ - Inline descriptions per file (1-line summaries). Those live in CLAUDE.md
78
+ Section 6's Standard sub-section, which is loaded once per session
79
+ (session-time budget), while this file is reloaded on every edit
80
+ (per-edit budget). Keep the per-edit payload minimal — paths only.
81
+
82
+ CRITICAL — `.env` Is the Source of Truth for Runtime Configuration:
83
+ When pass2-merged.json contains `stack.envInfo` (parsed from the project's
84
+ `.env.example` or `.env`), treat that data as authoritative for:
85
+
86
+ - Port numbers (dev server, API server, alternate ports like mobile/storybook)
87
+ - Host names (dev host, API host)
88
+ - API target URLs (backend proxy target, external service endpoints)
89
+ - Any other runtime configuration the project explicitly declares
90
+
91
+ Do NOT override these with framework defaults (Vite 5173, Next.js 3000,
92
+ Django 8000, etc.) when the project's env file says otherwise. Framework
93
+ defaults are only valid when `stack.envInfo` is absent or the specific
94
+ field is null.
95
+
96
+ This affects:
97
+ - CLAUDE.md Section 2 (Project Overview table) — port / host / API target rows
98
+ - CLAUDE.md Section 3 (Build & Run Commands) — inline comments next to run commands
99
+ - Any generated rule that references port values (e.g., 30.security-db/
100
+ auth rules that mention CORS origins)
101
+
102
+ When in doubt, read `.env.example` directly and cross-check against
103
+ `stack.envInfo.vars`. If they disagree, trust `.env.example` as the
104
+ canonical declaration.
105
+
106
+ CRITICAL — Rule `paths` Must Match Rule Content:
107
+ Each `.claude/rules/*` file's `paths` frontmatter MUST match the file types
108
+ that the rule's guardrails actually target, NOT the category's default.
109
+
110
+ - A logging rule's guardrails apply to source code (e.g., `console.log` use,
111
+ PII in logs, `catch {}` empty blocks). Its `paths` MUST include source code
112
+ extensions (`**/*.ts`, `**/*.py`, `**/*.java`, etc.), not just config files.
113
+ - An environment-config rule's guardrails apply to `.env*`, `*.config.*`,
114
+ and similar. Its `paths` must include those.
115
+ - A CI/CD rule's guardrails often span both — CI YAML AND source code
116
+ (e.g., "no hardcoded API origin in source", "no direct edits to generated
117
+ client"). Its `paths` must include both categories.
118
+
119
+ Do NOT copy `paths` verbatim across sibling rule files in the same category.
120
+ Each file is evaluated independently based on what it enforces. The Pass 3
121
+ prompt now specifies per-file paths for `40.infra/*` — follow those EXACTLY,
122
+ do not substitute a category-level shortcut.
123
+
124
+ When generating a rule file, re-read the file's own guardrail content and
125
+ verify: "When should Claude Code auto-load this rule?" The answer determines
126
+ paths. If the answer is "when editing TypeScript source", paths must include
127
+ `**/*.ts` / `**/*.tsx` — not `**/*.json`.
128
+
129
+ CRITICAL — CLAUDE.md Scaffold Compliance:
130
+ CLAUDE.md generation MUST follow the scaffold at:
131
+ `pass-prompts/templates/common/claude-md-scaffold.md`
132
+
133
+ The scaffold enforces EXACTLY 8 top-level (##) sections with FIXED
134
+ titles and order (canonical English names below — emit each heading
135
+ in the target output language with equivalent meaning):
136
+ 1. Role Definition
137
+ 2. Project Overview
138
+ 3. Build & Run Commands
139
+ 4. Core Architecture
140
+ 5. Directory Structure
141
+ 6. Standard / Rules / Skills Reference
142
+ 7. DO NOT Read (Files Not to Be Read Directly)
143
+ 8. Common Rules & Memory (L4)
144
+
145
+ Before finalizing, verify:
146
+ - Exactly 8 `##` sections (no more, no less)
147
+ - Section titles match the scaffold's FIXED names (in the target output language)
148
+ - Section order matches
149
+ - Section 1 is exactly 2 lines (role + PROJECT_CONTEXT)
150
+ - Section 6 has EXACTLY 3 sub-sections (Standard / Rules / Skills — no "Guide" sub-section)
151
+ - Section 7 includes the 3 common claudeos-core/* entries
152
+ (guide/, generated/, mcp-guide/)
153
+ - Section 8 has EXACTLY 2 sub-sections:
154
+ - `### Common Rules (auto-loaded on every edit)` — meta-summary table
155
+ of `paths: ["**/*"]` rules (typically
156
+ `00.core/51.doc-writing-rules.md` and `00.core/52.ai-work-rules.md`)
157
+ - `### L4 Memory (on-demand reference)` — intro + 4-row memory file
158
+ table + 6-step workflow, EACH APPEARING EXACTLY ONCE
159
+
160
+ Do NOT add any of these as `##`-level sections (forbidden at top level
161
+ — match by semantic meaning in ANY output language; canonical English
162
+ labels below):
163
+ - "Required to Observe While Working"
164
+ - "Rules Summary"
165
+ - "Documentation Writing Rules" (as standalone `##`)
166
+ - "AI Common Rules" / "AI Work Rules" (as standalone `##`)
167
+ - "L4 Memory Integration Rules" / "Memory Layer (L4)" (as standalone
168
+ `##` — L4 memory belongs as sub-section inside Section 8)
169
+ - "Common Rules" (as standalone `##` — common rules belong as sub-section
170
+ inside Section 8, NOT as their own top-level section)
171
+ - "L4 Memory Files (Re-declaration)" / any restatement of the memory
172
+ table — the L4 memory table appears EXACTLY ONCE in the entire
173
+ CLAUDE.md, inside Section 8 sub-section 2
174
+ - Any `##`-level title with the semantic meaning of "rules" beyond
175
+ Section 8's "Common Rules & Memory (L4)" top-level title
176
+
177
+ Where common-rule information DOES belong:
178
+ - `##`-level: Section 8 sub-section 1 (`### Common Rules (auto-loaded
179
+ on every edit)`). Include a meta-summary table with columns
180
+ `| Rule File | Role | Core Enforcement |` (column labels emitted in
181
+ target output language). The "Core Enforcement" column is a ONE-LINE
182
+ meta summary of each rule, NOT a copy of the rule body. Example:
183
+ `| 00.core/51.doc-writing-rules.md | Documentation writing rules
184
+ | paths required, no domain/absolute-path hardcoding, ## Reference
185
+ section required |`
186
+ - The rule BODY itself lives in `.claude/rules/00.core/51.*.md` and is
187
+ auto-loaded; CLAUDE.md only summarizes "what this rule enforces",
188
+ one line per rule.
189
+
190
+ POST-GENERATION CHECK (mandatory):
191
+ After writing CLAUDE.md, count `^## ` headings. The count MUST be exactly 8.
192
+ If 9 or more, locate the surplus section(s) and apply the correct remedy:
193
+ - Surplus "Common Rules" (`##` level) → convert content into Section 8 sub-section 1
194
+ - Surplus "Memory Layer (L4)" / "L4 Memory Files (Re-declaration)" →
195
+ DELETE it entirely; the L4 memory belongs exactly once in Section 8
196
+ sub-section 2
197
+ - Surplus "Required to Observe While Working" / "Rules Summary" → move
198
+ enforcement content into `.claude/rules/*`, do not carry into CLAUDE.md
199
+ - Surplus structural information → merge into the matching Section 1-7
200
+ Do not move on until the count is exactly 8 AND Section 8 contains
201
+ exactly 2 sub-sections with no internal duplication.
202
+
203
+ CRITICAL — CLAUDE.md Does Not Duplicate Rules:
204
+ CLAUDE.md describes STRUCTURE (overview, architecture, directory, references),
205
+ not enforcement rules. It MUST NOT list or restate rules that are already
206
+ (or should be) enforced by .claude/rules/* or documented in claudeos-core/standard/*.
207
+
208
+ Examples of what does NOT belong in CLAUDE.md:
209
+ - Coding rules (hardcoding prohibition, `any` casting, naming conventions)
210
+ → these go in .claude/rules/00.core/* or 03.naming-conventions.md
211
+ - Domain-specific rules (XSS prevention in specific components, response envelope)
212
+ → these go in .claude/rules/{domain}/* or standard/{domain}/
213
+ - Multi-file sync rules (routePath + routeComponentMap sync)
214
+ → these go in .claude/rules/{domain}/* with paths glob
215
+ - Work procedures (Entity → DTO → Controller order)
216
+ → these go in claudeos-core/skills/* or claudeos-core/guide/02.usage/
217
+
218
+ Section 1 "Role Definition" may reference that rules exist at a high
219
+ level (the scaffold's PROJECT_CONTEXT mentions architecture style),
220
+ but it does NOT enumerate rules. Section 6 "Standard / Rules / Skills
221
+ Reference" provides a REFERENCE INDEX (what exists), not rule content.
222
+
38
223
  After completion, run the following commands in order:
39
224
  1. npx claudeos-core health
@@ -195,9 +195,12 @@ Proposals with confidence >= 0.70 deserve serious consideration. Do NOT edit pro
195
195
  ### 11. Append a new section to existing `CLAUDE.md`
196
196
 
197
197
  Do NOT overwrite existing CLAUDE.md content — **append only** at the end.
198
- The new section must include the `(L4)` marker in its top heading (the marker
199
- is language-independent so the CLI fallback can detect it). For example, English:
200
- `## Memory (L4)`, Korean: `## 메모리 (L4)`.
198
+ The new section must include the `(L4)` marker in its top heading (the
199
+ marker string itself is language-independent so the CLI fallback can
200
+ detect it). The heading word is translated into the target output
201
+ language, while `(L4)` is preserved verbatim. Example: English emits
202
+ `## Memory (L4)`; other languages emit the equivalent translation of
203
+ "Memory" followed by the same `(L4)` suffix.
201
204
 
202
205
  Include:
203
206
  - Common rules table (references to `00.core/51.doc-writing-rules.md` and `52.ai-work-rules.md`)
@@ -12,7 +12,7 @@ Examples (write-target redirect, **subpath preserved**):
12
12
  |---|---|
13
13
  | `.claude/rules/00.core/00.standard-reference.md` | `claudeos-core/generated/.staged-rules/00.core/00.standard-reference.md` |
14
14
  | `.claude/rules/10.backend/01.controller-rules.md` | `claudeos-core/generated/.staged-rules/10.backend/01.controller-rules.md` |
15
- | `.claude/rules/50.sync/01.standard-sync.md` | `claudeos-core/generated/.staged-rules/50.sync/01.standard-sync.md` |
15
+ | `.claude/rules/50.sync/01.doc-sync.md` | `claudeos-core/generated/.staged-rules/50.sync/01.doc-sync.md` |
16
16
  | `.claude/rules/60.memory/01.decision-log.md` | `claudeos-core/generated/.staged-rules/60.memory/01.decision-log.md` |
17
17
 
18
18
  **Important clarifications:**
@@ -52,20 +52,28 @@ Similarly, if an Aggregator/Orchestrator layer exists, its responsibilities
52
52
  MUST be described identically across architecture.md, controller-patterns.md,
53
53
  response-exception.md, and all skills files.
54
54
 
55
- CRITICAL — CLAUDE.md Reference Table Completeness:
56
- The reference table in CLAUDE.md MUST list ALL generated standard files, not just core.
57
- Include all backend-api, security-db, infra, and verification standards.
58
- Alternatively, add a note directing readers to .claude/rules/00.core/00.standard-reference.md
59
- for the complete list.
60
-
61
55
  Generation targets:
62
56
 
63
57
  1. CLAUDE.md (project root)
64
- - Role definition (based on detected stack)
65
- - Build & Run Commands (Gradle/Maven)
66
- - Core architecture diagram
67
- - DB table naming conventions
68
- - Standard/Skills/Guide reference table
58
+
59
+ Follow the scaffold EXACTLY:
60
+ → `pass-prompts/templates/common/claude-md-scaffold.md`
61
+
62
+ The scaffold enforces an 8-section deterministic structure:
63
+ 1. Role Definition → 2. Project Overview → 3. Build & Run Commands →
64
+ 4. Core Architecture → 5. Directory Structure → 6. Standard / Rules / Skills Reference →
65
+ 7. DO NOT Read → 8. Common Rules & Memory (L4)
66
+
67
+ All section titles, order, and formats are FIXED by the scaffold.
68
+ Content within each section adapts to this project based on pass2-merged.json.
69
+ The scaffold's validation checklist MUST pass.
70
+
71
+ Stack-specific hints for this project (Java Spring Boot):
72
+ - Project type for Section 1 PROJECT_CONTEXT: "Backend Application" or "REST API Server"
73
+ - Architecture diagram (Section 4): layered architecture (Controller → Service → Mapper/Repository)
74
+ - Section 2 should include: JDK version, Gradle/Maven, DB, session/cache, server port
75
+ - DB naming conventions belong in standard/00.core/03.naming-conventions.md (not CLAUDE.md)
76
+ - Multi-DB projects: generalize to "Dual RDBMS" in Section 1, specify actual DBs in Section 2
69
77
 
70
78
  2. claudeos-core/standard/ (active domains only)
71
79
  - 00.core/01.project-overview.md — Stack, modules, API server info
@@ -105,8 +113,11 @@ Generation targets:
105
113
  - `00.core/*` rules: `paths: ["**/*"]` — always loaded (architecture, naming are universally needed)
106
114
  - `10.backend/*` rules: `paths: ["**/*"]` — always loaded (backend rules needed for any source editing)
107
115
  - `30.security-db/*` rules: `paths: ["**/*"]` — always loaded (cross-cutting concerns)
108
- - `40.infra/*` rules: `paths: ["**/*.yml", "**/*.yaml", "**/*.properties", "**/config/**", "**/*.gradle*", "**/Dockerfile*", "**/.env*"]` — loaded only for config/infra files
116
+ - `40.infra/01.environment-config-rules.md` paths: `["**/*.properties", "**/*.yml", "**/*.yaml", "**/.env*", "**/config/**", "**/application*.properties"]` — Spring config files
117
+ - `40.infra/02.logging-monitoring-rules.md` paths: `["**/*.java", "**/logback*.xml", "**/log4j*.xml"]` — source code where logs live + log config
118
+ - `40.infra/03.cicd-deployment-rules.md` paths: `["**/*.yml", "**/*.yaml", "**/Dockerfile*", "**/*.gradle*", "**/pom.xml", "**/*.java"]` — CI / build config + source
109
119
  - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]` — loaded only when editing claudeos-core files
120
+ - `60.memory/*` rules: forward reference — Pass 4 will generate 4 files (01.decision-log, 02.failure-patterns, 03.compaction, 04.auto-rule-update), each with file-specific `paths`. Pass 3 must STILL list ```.claude/rules/60.memory/*``` as a row in CLAUDE.md Section 6 Rules table so developers/Claude see the category exists.
110
121
  - MUST generate `.claude/rules/00.core/00.standard-reference.md` — a directory of all standard files. This is NOT a "read all" instruction. Claude should Read ONLY the standards relevant to the current task. Structure it as:
111
122
  ```
112
123
  ---
@@ -121,6 +132,7 @@ Generation targets:
121
132
  - claudeos-core/standard/00.core/01.project-overview.md
122
133
  - claudeos-core/standard/00.core/02.architecture.md
123
134
  - claudeos-core/standard/00.core/03.naming-conventions.md
135
+ - claudeos-core/standard/00.core/04.doc-writing-guide.md
124
136
  ## Backend API
125
137
  - claudeos-core/standard/10.backend-api/01.controller-patterns.md
126
138
  - claudeos-core/standard/10.backend-api/02.service-patterns.md
@@ -138,18 +150,16 @@ Generation targets:
138
150
  - claudeos-core/standard/40.infra/03.cicd-deployment.md
139
151
  - claudeos-core/standard/50.verification/01.development-verification.md
140
152
  - claudeos-core/standard/50.verification/02.testing-strategy.md
141
- ## DO NOT Read (context waste)
142
- - claudeos-core/generated/ — Build metadata. Not for coding reference.
143
- - claudeos-core/guide/ — Onboarding/usage guides for humans. Not for coding reference.
144
- - claudeos-core/mcp-guide/ — MCP server integration docs. Not for coding reference.
145
153
  ```
146
- List only the standard files that were actually generated above. Include frontend standards only if frontend was detected.
154
+ List only the standard files that were actually generated above. Include frontend standards only if frontend was detected. NOTE: `00.core/04.doc-writing-guide.md` is a FORWARD REFERENCE — Pass 4 will generate it; include it anyway. Do NOT add a "DO NOT Read" section here — that information lives in CLAUDE.md Section 7 (the single source of truth).
147
155
 
148
- 4. .claude/rules/50.sync/ (3 sync rules — AI fallback reminders)
156
+ 4. .claude/rules/50.sync/ (2 sync rules — AI fallback reminders)
149
157
  - NOTE: These rules remind AI to run `npx claudeos-core refresh` after modifying standard/rules/skills files.
150
- - 01.standard-sync.md — Remind AI to update corresponding rule when standard is modified
151
- - 02.rules-sync.md Remind AI to update corresponding standard when rules are modified
152
- - 03.skills-sync.md Remind AI to update MANIFEST.md when skills are modified
158
+ - 01.doc-sync.md — Bidirectional standard rules sync reminder (both directions in ONE rule).
159
+ Do NOT generate a separate 02.rules-sync.md mirror file redundant.
160
+ Express the mapping as a naming convention (standard/<N>.<dir>/<M>.<n>.md
161
+ .claude/rules/<N>.<dir>/<M>.<n>-rules.md), NOT a hardcoded file-to-file table.
162
+ - 02.skills-sync.md — Remind AI to update MANIFEST.md when skills are modified
153
163
 
154
164
  5. claudeos-core/skills/ (active domains only)
155
165
  - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)
@@ -51,21 +51,31 @@ its responsibilities (DTO↔VO conversion, multi-service orchestration, response
51
51
  MUST be described identically across architecture.md, controller-patterns.md,
52
52
  response-exception.md, and all skills files.
53
53
 
54
- CRITICAL — CLAUDE.md Reference Table Completeness:
55
- The reference table in CLAUDE.md MUST list ALL generated standard files, not just core.
56
- Include all backend-api, security-db, infra, and verification standards.
57
- Alternatively, add a note directing readers to .claude/rules/00.core/00.standard-reference.md
58
- for the complete list.
59
-
60
54
  Generation targets:
61
55
 
62
56
  1. CLAUDE.md (project root)
63
- - Role definition (Kotlin + Spring Boot + multi-module, mention CQRS if detected)
64
- - Build & Run Commands (Gradle tasks per module, e.g., :servers:command:reservation-command-server:bootRun)
65
- - Multi-module architecture diagram (BFF → Feign → Command/Query → DB)
66
- - Module list with ports and roles
67
- - DB table naming conventions
68
- - Standard/Skills/Guide reference table
57
+
58
+ Follow the scaffold EXACTLY:
59
+ `pass-prompts/templates/common/claude-md-scaffold.md`
60
+
61
+ The scaffold enforces an 8-section deterministic structure:
62
+ 1. Role Definition → 2. Project Overview → 3. Build & Run Commands →
63
+ 4. Core Architecture → 5. Directory Structure → 6. Standard / Rules / Skills Reference →
64
+ 7. DO NOT Read → 8. Common Rules & Memory (L4)
65
+
66
+ All section titles, order, and formats are FIXED by the scaffold.
67
+ Content within each section adapts to this project based on pass2-merged.json.
68
+ The scaffold's validation checklist MUST pass.
69
+
70
+ Stack-specific hints for this project (Kotlin + Spring Boot):
71
+ - Project type for Section 1 PROJECT_CONTEXT: "Backend Application"
72
+ (when CQRS/BFF is detected, reflect as e.g. "CQRS-based Microservices")
73
+ - Multi-module projects: represent in Section 4 diagram and Section 5 tree
74
+ - Architecture diagram (Section 4): BFF → Feign → Command/Query → DB (if CQRS detected)
75
+ - Module ports and roles: include in Section 2 Project Overview (generic form)
76
+ - DB naming conventions: belong in standard/00.core/03.naming-conventions.md (not CLAUDE.md)
77
+ - Gradle tasks per module: Section 3 examples should show the pattern generically
78
+ then let developers refer to build.gradle.kts for specifics
69
79
 
70
80
  2. claudeos-core/standard/ (active domains only)
71
81
  - 00.core/01.project-overview.md — Stack (Kotlin version, Spring Boot version), module list, server ports
@@ -108,8 +118,11 @@ Generation targets:
108
118
  - `00.core/*` rules: `paths: ["**/*"]` — always loaded (architecture, naming are universally needed)
109
119
  - `10.backend/*` rules: `paths: ["**/*"]` — always loaded (backend rules needed for any source editing)
110
120
  - `30.security-db/*` rules: `paths: ["**/*"]` — always loaded (cross-cutting concerns)
111
- - `40.infra/*` rules: `paths: ["**/*.yml", "**/*.yaml", "**/*.properties", "**/config/**", "**/*.gradle*", "**/Dockerfile*", "**/.env*"]` — loaded only for config/infra files
121
+ - `40.infra/01.environment-config-rules.md` paths: `["**/*.properties", "**/*.yml", "**/*.yaml", "**/.env*", "**/config/**", "**/application*.properties"]` — Spring config files
122
+ - `40.infra/02.logging-monitoring-rules.md` paths: `["**/*.kt", "**/*.kts", "**/logback*.xml"]` — source code where logs live + log config
123
+ - `40.infra/03.cicd-deployment-rules.md` paths: `["**/*.yml", "**/*.yaml", "**/Dockerfile*", "**/*.gradle*", "**/*.kt", "**/*.kts"]` — CI / build config + source
112
124
  - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]` — loaded only when editing claudeos-core files
125
+ - `60.memory/*` rules: forward reference — Pass 4 will generate 4 files (01.decision-log, 02.failure-patterns, 03.compaction, 04.auto-rule-update), each with file-specific `paths`. Pass 3 must STILL list ```.claude/rules/60.memory/*``` as a row in CLAUDE.md Section 6 Rules table so developers/Claude see the category exists.
113
126
  - MUST generate `.claude/rules/00.core/00.standard-reference.md` — a directory of all standard files. This is NOT a "read all" instruction. Claude should Read ONLY the standards relevant to the current task. Structure it as:
114
127
  ```
115
128
  ---
@@ -124,6 +137,7 @@ Generation targets:
124
137
  - claudeos-core/standard/00.core/01.project-overview.md
125
138
  - claudeos-core/standard/00.core/02.architecture.md
126
139
  - claudeos-core/standard/00.core/03.naming-conventions.md
140
+ - claudeos-core/standard/00.core/04.doc-writing-guide.md
127
141
  ## Backend API
128
142
  - claudeos-core/standard/10.backend-api/01.controller-patterns.md
129
143
  - claudeos-core/standard/10.backend-api/02.service-patterns.md
@@ -143,18 +157,16 @@ Generation targets:
143
157
  - claudeos-core/standard/40.infra/03.cicd-deployment.md
144
158
  - claudeos-core/standard/50.verification/01.development-verification.md
145
159
  - claudeos-core/standard/50.verification/02.testing-strategy.md
146
- ## DO NOT Read (context waste)
147
- - claudeos-core/generated/ — Build metadata. Not for coding reference.
148
- - claudeos-core/guide/ — Onboarding/usage guides for humans. Not for coding reference.
149
- - claudeos-core/mcp-guide/ — MCP server integration docs. Not for coding reference.
150
160
  ```
151
- List only the standard files that were actually generated above. Include frontend standards only if frontend was detected.
161
+ List only the standard files that were actually generated above. Include frontend standards only if frontend was detected. NOTE: `00.core/04.doc-writing-guide.md` is a FORWARD REFERENCE — Pass 4 will generate it; include it anyway. Do NOT add a "DO NOT Read" section here — that information lives in CLAUDE.md Section 7 (the single source of truth).
152
162
 
153
- 4. .claude/rules/50.sync/ (3 sync rules — AI fallback reminders)
163
+ 4. .claude/rules/50.sync/ (2 sync rules — AI fallback reminders)
154
164
  - NOTE: These rules remind AI to run `npx claudeos-core refresh` after modifying standard/rules/skills files.
155
- - 01.standard-sync.md — Remind AI to update corresponding rule when standard is modified
156
- - 02.rules-sync.md Remind AI to update corresponding standard when rules are modified
157
- - 03.skills-sync.md Remind AI to update MANIFEST.md when skills are modified
165
+ - 01.doc-sync.md — Bidirectional standard rules sync reminder (both directions in ONE rule).
166
+ Do NOT generate a separate 02.rules-sync.md mirror file redundant.
167
+ Express the mapping as a naming convention (standard/<N>.<dir>/<M>.<n>.md
168
+ .claude/rules/<N>.<dir>/<M>.<n>-rules.md), NOT a hardcoded file-to-file table.
169
+ - 02.skills-sync.md — Remind AI to update MANIFEST.md when skills are modified
158
170
 
159
171
  5. claudeos-core/skills/ (active domains only)
160
172
  - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator — CQRS-aware: creates both command and query modules)
@@ -29,20 +29,27 @@ Determine from pass2-merged.json which layer (Controller/Router vs Service/UseCa
29
29
  the response wrapper. This MUST be identical across architecture.md, controller/router-patterns.md,
30
30
  response-exception.md, and controller-rules.md. Do NOT describe different response flows in different files.
31
31
 
32
- CRITICAL — CLAUDE.md Reference Table Completeness:
33
- The reference table in CLAUDE.md MUST list ALL generated standard files, not just core.
34
- Include all frontend-ui, backend-api, security-db, infra, and verification standards.
35
- Alternatively, add a note directing readers to .claude/rules/00.core/00.standard-reference.md
36
- for the complete list.
37
-
38
32
  Generation targets:
39
33
 
40
34
  1. CLAUDE.md (project root)
41
- - Role definition (based on detected stack)
42
- - Build & Run Commands (use ONLY the detected packageManager — never hardcode npm/yarn/pnpm)
43
- - Core architecture diagram
44
- - DB table/collection naming
45
- - Standard/Skills/Guide reference table
35
+
36
+ Follow the scaffold EXACTLY:
37
+ → `pass-prompts/templates/common/claude-md-scaffold.md`
38
+
39
+ The scaffold enforces an 8-section deterministic structure:
40
+ 1. Role Definition → 2. Project Overview → 3. Build & Run Commands →
41
+ 4. Core Architecture → 5. Directory Structure → 6. Standard / Rules / Skills Reference →
42
+ 7. DO NOT Read → 8. Common Rules & Memory (L4)
43
+
44
+ All section titles, order, and formats are FIXED by the scaffold.
45
+ Content within each section adapts to this project based on pass2-merged.json.
46
+ The scaffold's validation checklist MUST pass.
47
+
48
+ Stack-specific hints for this project (Node.js Express):
49
+ - Project type for Section 1 PROJECT_CONTEXT: "API Server" or the actual character of the project
50
+ - Architecture diagram (Section 4): middleware → route → controller → service layers
51
+ - Use ONLY the detected packageManager in Section 3 (never mix npm/yarn/pnpm)
52
+ - DB naming conventions: belong in standard/00.core/03.naming-conventions.md (not CLAUDE.md)
46
53
 
47
54
  2. claudeos-core/standard/ (active domains only)
48
55
  - 00.core/01.project-overview.md — Stack, modules, API server info
@@ -81,8 +88,11 @@ Generation targets:
81
88
  - `00.core/*` rules: `paths: ["**/*"]` — always loaded (architecture, naming are universally needed)
82
89
  - `10.backend/*` rules: `paths: ["**/*"]` — always loaded (backend rules needed for any source editing)
83
90
  - `30.security-db/*` rules: `paths: ["**/*"]` — always loaded (cross-cutting concerns)
84
- - `40.infra/*` rules: `paths: ["**/*.json", "**/*.env*", "**/config/**", "**/Dockerfile*", "**/*.yml", "**/*.yaml"]` — loaded only for config/infra files
91
+ - `40.infra/01.environment-config-rules.md` paths: `["**/.env*", "**/config/**", "**/*.json"]` — env / config files
92
+ - `40.infra/02.logging-monitoring-rules.md` paths: `["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]` — source code where logs live
93
+ - `40.infra/03.cicd-deployment-rules.md` paths: `["**/*.yml", "**/*.yaml", "**/Dockerfile*", "**/*.ts", "**/*.js"]` — CI config + source
85
94
  - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]` — loaded only when editing claudeos-core files
95
+ - `60.memory/*` rules: forward reference — Pass 4 will generate 4 files (01.decision-log, 02.failure-patterns, 03.compaction, 04.auto-rule-update), each with file-specific `paths`. Pass 3 must STILL list ```.claude/rules/60.memory/*``` as a row in CLAUDE.md Section 6 Rules table so developers/Claude see the category exists.
86
96
  - MUST generate `.claude/rules/00.core/00.standard-reference.md` — a directory of all standard files. This is NOT a "read all" instruction. Claude should Read ONLY the standards relevant to the current task. Structure it as:
87
97
  ```
88
98
  ---
@@ -97,6 +107,7 @@ Generation targets:
97
107
  - claudeos-core/standard/00.core/01.project-overview.md
98
108
  - claudeos-core/standard/00.core/02.architecture.md
99
109
  - claudeos-core/standard/00.core/03.naming-conventions.md
110
+ - claudeos-core/standard/00.core/04.doc-writing-guide.md
100
111
  ## Backend API
101
112
  - claudeos-core/standard/10.backend-api/01.router-controller-patterns.md
102
113
  - claudeos-core/standard/10.backend-api/02.service-patterns.md
@@ -114,18 +125,16 @@ Generation targets:
114
125
  - claudeos-core/standard/40.infra/03.cicd-deployment.md
115
126
  - claudeos-core/standard/50.verification/01.development-verification.md
116
127
  - claudeos-core/standard/50.verification/02.testing-strategy.md
117
- ## DO NOT Read (context waste)
118
- - claudeos-core/generated/ — Build metadata. Not for coding reference.
119
- - claudeos-core/guide/ — Onboarding/usage guides for humans. Not for coding reference.
120
- - claudeos-core/mcp-guide/ — MCP server integration docs. Not for coding reference.
121
128
  ```
122
- List only the standard files that were actually generated above.
129
+ List only the standard files that were actually generated above. NOTE: `00.core/04.doc-writing-guide.md` is a FORWARD REFERENCE — Pass 4 will generate it; include it anyway. Do NOT add a "DO NOT Read" section here — that information lives in CLAUDE.md Section 7 (the single source of truth).
123
130
 
124
- 4. .claude/rules/50.sync/ (3 sync rules — AI fallback reminders)
131
+ 4. .claude/rules/50.sync/ (2 sync rules — AI fallback reminders)
125
132
  - NOTE: These rules remind AI to run `npx claudeos-core refresh` after modifying standard/rules/skills files.
126
- - 01.standard-sync.md — Remind AI to update corresponding rule when standard is modified
127
- - 02.rules-sync.md Remind AI to update corresponding standard when rules are modified
128
- - 03.skills-sync.md Remind AI to update MANIFEST.md when skills are modified
133
+ - 01.doc-sync.md — Bidirectional standard rules sync reminder (both directions in ONE rule).
134
+ Do NOT generate a separate 02.rules-sync.md mirror file redundant.
135
+ Express the mapping as a naming convention (standard/<N>.<dir>/<M>.<n>.md
136
+ .claude/rules/<N>.<dir>/<M>.<n>-rules.md), NOT a hardcoded file-to-file table.
137
+ - 02.skills-sync.md — Remind AI to update MANIFEST.md when skills are modified
129
138
 
130
139
  5. claudeos-core/skills/ (active domains only)
131
140
  - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)
@@ -27,18 +27,27 @@ Determine from pass2-merged.json which layer (route handler vs service/plugin) c
27
27
  the response wrapper. This MUST be identical across architecture.md, route-plugin-patterns.md,
28
28
  response-exception.md, and all rules files. Do NOT describe different response flows in different files.
29
29
 
30
- CRITICAL — CLAUDE.md Reference Table Completeness:
31
- The reference table in CLAUDE.md MUST list ALL generated standard files.
32
- Alternatively, add a note directing readers to .claude/rules/00.core/00.standard-reference.md.
33
-
34
30
  Generation targets:
35
31
 
36
32
  1. CLAUDE.md (project root)
37
- - Role definition (Fastify backend)
38
- - Build & Run Commands (use ONLY the detected packageManager)
39
- - Core architecture diagram (plugin-based)
40
- - DB table/collection naming
41
- - Standard/Skills/Guide reference table
33
+
34
+ Follow the scaffold EXACTLY:
35
+ `pass-prompts/templates/common/claude-md-scaffold.md`
36
+
37
+ The scaffold enforces an 8-section deterministic structure:
38
+ 1. Role Definition → 2. Project Overview → 3. Build & Run Commands →
39
+ 4. Core Architecture → 5. Directory Structure → 6. Standard / Rules / Skills Reference →
40
+ 7. DO NOT Read → 8. Common Rules & Memory (L4)
41
+
42
+ All section titles, order, and formats are FIXED by the scaffold.
43
+ Content within each section adapts to this project based on pass2-merged.json.
44
+ The scaffold's validation checklist MUST pass.
45
+
46
+ Stack-specific hints for this project (Node.js Fastify):
47
+ - Project type for Section 1 PROJECT_CONTEXT: "High-performance API Server" or the actual character of the project
48
+ - Architecture diagram (Section 4): plugin-based architecture, request lifecycle, hooks
49
+ - Use ONLY the detected packageManager in Section 3
50
+ - DB naming conventions: belong in standard/00.core/03.naming-conventions.md (not CLAUDE.md)
42
51
 
43
52
  2. claudeos-core/standard/ (active domains only)
44
53
  - 00.core/01.project-overview.md — Stack, modules, server info
@@ -73,14 +82,19 @@ Generation targets:
73
82
  - `00.core/*` rules: `paths: ["**/*"]`
74
83
  - `10.backend/*` rules: `paths: ["**/*"]`
75
84
  - `30.security-db/*` rules: `paths: ["**/*"]`
76
- - `40.infra/*` rules: `paths: ["**/*.json", "**/*.env*", "**/config/**", "**/Dockerfile*", "**/*.yml", "**/*.yaml"]`
85
+ - `40.infra/01.environment-config-rules.md` paths: `["**/.env*", "**/config/**", "**/*.json"]` — env / config files
86
+ - `40.infra/02.logging-monitoring-rules.md` paths: `["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]` — source code where logs live
87
+ - `40.infra/03.cicd-deployment-rules.md` paths: `["**/*.yml", "**/*.yaml", "**/Dockerfile*", "**/*.ts", "**/*.js"]` — CI config + source
77
88
  - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]`
89
+ - `60.memory/*` rules: forward reference — Pass 4 will generate 4 files (01.decision-log, 02.failure-patterns, 03.compaction, 04.auto-rule-update), each with file-specific `paths`. Pass 3 must STILL list ```.claude/rules/60.memory/*``` as a row in CLAUDE.md Section 6 Rules table so developers/Claude see the category exists.
78
90
  - MUST generate `.claude/rules/00.core/00.standard-reference.md` as a directory of all standard files
79
91
 
80
- 4. .claude/rules/50.sync/ (3 sync rules)
81
- - 01.standard-sync.md
82
- - 02.rules-sync.md
83
- - 03.skills-sync.md
92
+ 4. .claude/rules/50.sync/ (2 sync rules)
93
+ - 01.doc-sync.md — Bidirectional standard ↔ rules sync reminder (both directions in ONE rule).
94
+ Do NOT generate a separate 02.rules-sync.md mirror file — redundant.
95
+ Express the mapping as a naming convention (standard/<N>.<dir>/<M>.<n>.md
96
+ .claude/rules/<N>.<dir>/<M>.<n>-rules.md), NOT a hardcoded file-to-file table.
97
+ - 02.skills-sync.md — Remind AI to update MANIFEST.md when skills are modified
84
98
 
85
99
  5. claudeos-core/skills/ (active domains only)
86
100
  - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)
@@ -29,18 +29,28 @@ Determine from pass2-merged.json which layer (Controller vs Service/UseCase) cal
29
29
  the response wrapper. This MUST be identical across architecture.md, controller-patterns.md,
30
30
  response-exception.md, and controller-rules.md. Do NOT describe different response flows in different files.
31
31
 
32
- CRITICAL — CLAUDE.md Reference Table Completeness:
33
- The reference table in CLAUDE.md MUST list ALL generated standard files, not just core.
34
- Include all frontend-ui, backend-api, security-db, infra, and verification standards.
35
-
36
32
  Generation targets:
37
33
 
38
34
  1. CLAUDE.md (project root)
39
- - Role definition (NestJS backend developer)
40
- - Build & Run Commands (use ONLY the detected packageManager)
41
- - Core architecture diagram (Module Controller → Service → Repository)
42
- - DB table/collection naming
43
- - Standard/Skills/Guide reference table
35
+
36
+ Follow the scaffold EXACTLY:
37
+ `pass-prompts/templates/common/claude-md-scaffold.md`
38
+
39
+ The scaffold enforces an 8-section deterministic structure:
40
+ 1. Role Definition → 2. Project Overview → 3. Build & Run Commands →
41
+ 4. Core Architecture → 5. Directory Structure → 6. Standard / Rules / Skills Reference →
42
+ 7. DO NOT Read → 8. Common Rules & Memory (L4)
43
+
44
+ All section titles, order, and formats are FIXED by the scaffold.
45
+ Content within each section adapts to this project based on pass2-merged.json.
46
+ The scaffold's validation checklist MUST pass.
47
+
48
+ Stack-specific hints for this project (Node.js NestJS):
49
+ - Project type for Section 1 PROJECT_CONTEXT: "Backend Application" or "API Server"
50
+ - Architecture diagram (Section 4): Module → Controller → Service → Repository,
51
+ with DI container and request lifecycle (middleware → guard → interceptor → pipe → handler)
52
+ - Use ONLY the detected packageManager in Section 3
53
+ - DB naming conventions: belong in standard/00.core/03.naming-conventions.md (not CLAUDE.md)
44
54
 
45
55
  2. claudeos-core/standard/ (active domains only)
46
56
  - 00.core/01.project-overview.md — Stack, modules, API server info
@@ -80,15 +90,20 @@ Generation targets:
80
90
  - `00.core/*` rules: `paths: ["**/*"]`
81
91
  - `10.backend/*` rules: `paths: ["**/*"]`
82
92
  - `30.security-db/*` rules: `paths: ["**/*"]`
83
- - `40.infra/*` rules: `paths: ["**/*.json", "**/*.env*", "**/config/**", "**/Dockerfile*", "**/*.yml", "**/*.yaml"]`
93
+ - `40.infra/01.environment-config-rules.md` paths: `["**/.env*", "**/config/**", "**/*.json"]` — env / config files
94
+ - `40.infra/02.logging-monitoring-rules.md` paths: `["**/*.ts", "**/*.tsx"]` — source code where logs live
95
+ - `40.infra/03.cicd-deployment-rules.md` paths: `["**/*.yml", "**/*.yaml", "**/Dockerfile*", "**/*.ts"]` — CI config + source
84
96
  - `50.sync/*` rules: `paths: ["**/claudeos-core/**", "**/.claude/**"]`
97
+ - `60.memory/*` rules: forward reference — Pass 4 will generate 4 files (01.decision-log, 02.failure-patterns, 03.compaction, 04.auto-rule-update), each with file-specific `paths`. Pass 3 must STILL list ```.claude/rules/60.memory/*``` as a row in CLAUDE.md Section 6 Rules table so developers/Claude see the category exists.
85
98
  - MUST generate `.claude/rules/00.core/00.standard-reference.md` — directory of all standard files.
86
99
  List only the standard files that were actually generated above.
87
100
 
88
- 4. .claude/rules/50.sync/ (3 sync rules)
89
- - 01.standard-sync.md — Remind AI to update corresponding rule when standard is modified
90
- - 02.rules-sync.md Remind AI to update corresponding standard when rules are modified
91
- - 03.skills-sync.md Remind AI to update MANIFEST.md when skills are modified
101
+ 4. .claude/rules/50.sync/ (2 sync rules)
102
+ - 01.doc-sync.md — Bidirectional standard rules sync reminder (both directions in ONE rule).
103
+ Do NOT generate a separate 02.rules-sync.md mirror file redundant.
104
+ Express the mapping as a naming convention (standard/<N>.<dir>/<M>.<n>.md
105
+ .claude/rules/<N>.<dir>/<M>.<n>-rules.md), NOT a hardcoded file-to-file table.
106
+ - 02.skills-sync.md — Remind AI to update MANIFEST.md when skills are modified
92
107
 
93
108
  5. claudeos-core/skills/ (active domains only)
94
109
  - 10.backend-crud/01.scaffold-crud-feature.md (orchestrator)