claudeos-core 2.4.1 → 2.4.3

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/README.ja.md CHANGED
@@ -7,58 +7,40 @@
7
7
  [![license](https://img.shields.io/npm/l/claudeos-core.svg?color=blue)](LICENSE)
8
8
  [![downloads](https://img.shields.io/npm/dm/claudeos-core.svg?logo=npm&color=blue&label=downloads)](https://www.npmjs.com/package/claudeos-core)
9
9
 
10
- **Claude Code が初回の試行から _あなたのプロジェクトの_ コンベンションに従うようにします generic な既定値ではなく。**
11
-
12
- deterministic な Node.js scanner がコードを先に読み、4-pass の Claude パイプラインが抽出された事実を基に完全なドキュメントセットを書き込みます — `CLAUDE.md` + 自動ロードされる `.claude/rules/` + standards + skills + L4 memory。10 種の出力言語、5 つの post-generation validator、LLM がコードに存在しないファイルや framework をでっち上げないようにする明示的な path allowlist。
13
-
14
- [**12 stacks**](#supported-stacks) で即座に動作 (monorepo 含む) — `npx` コマンド一つ、設定不要、中断時 resume-safe、再実行 idempotent。
10
+ **プロジェクトのソースコードを直接読み取り、`CLAUDE.md` と `.claude/rules/` を自動生成する CLI ツールです。Node.js のスキャナ、4-pass の Claude パイプライン、5 つの validator が連動して動きます。12 スタックと 10 言語に対応し、コードに存在しないパスを作り出すことはありません。**
15
11
 
16
12
  ```bash
17
13
  npx claudeos-core init
18
14
  ```
19
15
 
16
+ [**12 スタック**](#supported-stacks)に対応しており、モノレポでもそのまま動きます。コマンド 1 行で完結し、設定ファイルは不要、途中で止まっても再開でき、何度実行しても安全です。
17
+
20
18
  [🇺🇸 English](README.md) · [🇰🇷 한국어](README.ko.md) · [🇨🇳 中文](README.zh-CN.md) · [🇪🇸 Español](README.es.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇮🇳 हिन्दी](README.hi.md) · [🇷🇺 Русский](README.ru.md) · [🇫🇷 Français](README.fr.md) · [🇩🇪 Deutsch](README.de.md)
21
19
 
22
20
  ---
23
21
 
24
- ## このツールは何ですか?
25
-
26
- あなたは Claude Code を使っています。強力なツールですが、毎セッションが新しく始まります — _あなたの_ プロジェクトがどう構成されているかの記憶がありません。そのため、チームが実際に行っているパターンとほとんどマッチしない「generally good」な既定値に fallback します:
22
+ ## これは何?
27
23
 
28
- - チームでは **MyBatis** を使っているのに、Claude JPA repository を生成する。
29
- - 応答 wrapper は `ApiResponse.ok()` なのに、Claude は `ResponseEntity.success()` と書く。
30
- - パッケージは layer-first (`controller/order/`) なのに、Claude は domain-first (`order/controller/`) を作る。
31
- - エラーは centralized middleware を通すのに、Claude はあらゆる endpoint に `try/catch` を撒き散らす。
24
+ Claude Code は新しいセッションを始めるたびに、フレームワークの一般的なデフォルト値に戻ります。チームでは **MyBatis** を使っているのに JPA のコードを書いてしまったり、レスポンスラッパーが `ApiResponse.ok()` なのに `ResponseEntity.success()` で書いたりします。パッケージを layer-first で組んでいるのに、生成されるのは domain-first というケースも珍しくありません。リポジトリごとに `.claude/rules/` を手書きすれば解決はしますが、コードが育つにつれてルールのほうが追いつかなくなります。
32
25
 
33
- プロジェクトごとに `.claude/rules/` セットがあれば良いのですが Claude Code が毎セッション自動ロードしてくれる 新しい repo ごとに手で書くのは何時間もかかり、コードが進化するにつれ drift していきます。
26
+ **ClaudeOS-Core は、実際のソースコードから一貫した結果でこれを再生成します。** まず Node.js のスキャナがプロジェクトを読み、スタック・ORM・パッケージ構成・ファイルパスを把握します。次に 4-pass の Claude パイプラインがドキュメント一式を書き上げます。`CLAUDE.md`、自動ロードされる `.claude/rules/`、standards、skills のすべてが、明示的なパス allowlist の範囲内に収まります。LLM はこの範囲を超えられません。最後に 5 つの validator が、出力する前に結果を検証します。
34
27
 
35
- **ClaudeOS-Core は実際のソースコードからそれをあなたの代わりに書きます。** deterministic な Node.js scanner がプロジェクトを先に読み (スタック、ORM、パッケージ layout、コンベンション、ファイルパス)、4-pass の Claude パイプラインが抽出された事実を完全なドキュメントセットに変換します:
28
+ そのため、同じ入力からは常に同じ出力が返ります。10 言語のどれを選んでも byte 単位で完全に一致し、コードに存在しないパスが紛れ込むこともありません。(詳しくは下の[何が違うのか](#何が違うのか)を参照。)
36
29
 
37
- - **`CLAUDE.md`** — Claude が毎セッション最初に読むプロジェクトインデックス
38
- - **`.claude/rules/`** — カテゴリごとに自動ロードされる rules (`00.core` / `10.backend` / `20.frontend` / `30.security-db` / `40.infra` / `60.memory` / `70.domains` / `80.verification`)
39
- - **`claudeos-core/standard/`** — 参照ドキュメント (各 rule の「なぜ」)
40
- - **`claudeos-core/skills/`** — 再利用可能なパターン (CRUD scaffolding、ページテンプレート)
41
- - **`claudeos-core/memory/`** — プロジェクトと共に成長する decision log + failure pattern
42
-
43
- scanner が Claude に明示的な path allowlist を渡すため、LLM は **コードに存在しないファイルや framework をでっち上げることができません**。5 つの post-generation validator (`claude-md-validator`, `content-validator`, `pass-json-validator`, `plan-validator`, `sync-checker`) が出力を ship 前に検証します — language-invariant なので、英語で生成しても、日本語で生成しても、他の 8 言語のいずれで生成しても同じルールが適用されます。
44
-
45
- ```
46
- Before: あなた → Claude Code → 「概ね良い」コード → 毎回手作業で修正
47
- After: あなた → Claude Code → あなたのプロジェクトに一致するコード → そのまま使える
48
- ```
30
+ 長く運用するプロジェクトには、[Memory Layer](#memory-layer-任意長期プロジェクト向け) も合わせて生成されます。
49
31
 
50
32
  ---
51
33
 
52
- ## 実際のプロジェクトでのデモ
34
+ ## 実プロジェクトで動かしてみる
53
35
 
54
- [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) で実行 — Java 11 · Spring Boot 2.6 · MyBatis · SQLite · 187 source files。結果: **75 generated files**、合計時間 **53 分**、すべての validator ✅。
36
+ [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) で実行してみました。Java 11 · Spring Boot 2.6 · MyBatis · SQLite · 187 個のソースファイル。結果は **75 ファイル生成**、所要時間 **53 分**、すべての validator が ✅ でした。
55
37
 
56
38
  <p align="center">
57
39
  <img src="docs/assets/spring-boot-realworld-demo.gif" alt="ClaudeOS-Core init running on spring-boot-realworld-example-app — stack detection, 4-pass pipeline, validators, completion summary" width="769">
58
40
  </p>
59
41
 
60
42
  <details>
61
- <summary><strong>📺 ターミナル出力 (テキスト版、検索・コピー用)</strong></summary>
43
+ <summary><strong>ターミナル出力 (テキスト版、検索とコピー用)</strong></summary>
62
44
 
63
45
  ```text
64
46
  ╔════════════════════════════════════════════════════╗
@@ -93,18 +75,18 @@ After: あなた → Claude Code → あなたのプロジェクトに一致
93
75
  [██████████░░░░░░░░░░] 50% (2/4)
94
76
 
95
77
  [6] Pass 3 — Generating all files...
96
- 🚀 Pass 3 split mode (3a → 3b → 3c → 3d-aux)
78
+ Pass 3 split mode (3a → 3b → 3c → 3d-aux)
97
79
  ✅ 3a complete (2m 57s) — pass3a-facts.md (187-path allowlist)
98
80
  ✅ 3b complete (18m 49s) — CLAUDE.md + 19 standards + 20 rules
99
81
  ✅ 3c complete (12m 35s) — 13 skills + 9 guides
100
82
  ✅ 3d-aux complete (3m 18s) — database/ + mcp-guide/
101
- 🎉 Pass 3 split complete: 4/4 stages successful
83
+ Pass 3 split complete: 4/4 stages successful
102
84
  [███████████████░░░░░] 75% (3/4)
103
85
 
104
86
  [7] Pass 4 — Memory scaffolding...
105
- 📦 Pass 4 staged-rules: 6 rule files moved to .claude/rules/
87
+ Pass 4 staged-rules: 6 rule files moved to .claude/rules/
106
88
  ✅ Pass 4 complete (5m)
107
- 📋 Gap-fill: all 12 expected files already present
89
+ Gap-fill: all 12 expected files already present
108
90
  [████████████████████] 100% (4/4)
109
91
 
110
92
  ╔═══════════════════════════════════════╗
@@ -133,7 +115,7 @@ After: あなた → Claude Code → あなたのプロジェクトに一致
133
115
  </details>
134
116
 
135
117
  <details>
136
- <summary><strong>📄 生成された <code>CLAUDE.md</code> の抜粋 (実際の出力 — Section 1 + 2)</strong></summary>
118
+ <summary><strong>実際の <code>CLAUDE.md</code> に入る内容 (実例の抜粋 — Section 1 + 2)</strong></summary>
137
119
 
138
120
  ```markdown
139
121
  # CLAUDE.md — spring-boot-realworld-example-app
@@ -142,7 +124,7 @@ After: あなた → Claude Code → あなたのプロジェクトに一致
142
124
  > Java 11 + Spring Boot 2.6, exposing both REST and GraphQL endpoints
143
125
  > over a hexagonal MyBatis persistence layer.
144
126
 
145
- ## 1. Role Definition
127
+ #### 1. Role Definition
146
128
 
147
129
  As the senior developer for this repository, you are responsible for
148
130
  writing, modifying, and reviewing code. Responses must be written in English.
@@ -150,7 +132,7 @@ A Java Spring Boot REST + GraphQL API server organized around a hexagonal
150
132
  (ports & adapters) architecture, with a CQRS-lite read/write split inside
151
133
  an XML-driven MyBatis persistence layer and JWT-based authentication.
152
134
 
153
- ## 2. Project Overview
135
+ #### 2. Project Overview
154
136
 
155
137
  | Item | Value |
156
138
  |---|---|
@@ -166,12 +148,12 @@ an XML-driven MyBatis persistence layer and JWT-based authentication.
166
148
  | Test Stack | JUnit Jupiter 5, Mockito, AssertJ, rest-assured, spring-mock-mvc |
167
149
  ```
168
150
 
169
- 上の値はすべて 正確な依存関係の coordinates、`dev.db` のファイル名、`V1__create_tables.sql` のマイグレーション名、「no JPA」まで — Claude がファイルを書く前に scanner が `build.gradle` / `application.properties` / ソースツリーから抽出したものです。何一つ推測されていません。
151
+ 上の表の値はすべて、正確な dependency の座標も、`dev.db` というファイル名も、`V1__create_tables.sql` というマイグレーション名も、「no JPA」という事実も、Claude がファイルを書く前にスキャナが `build.gradle`、`application.properties`、ソースツリーから直接読み取った内容です。推測した値は 1 つも入っていません。
170
152
 
171
153
  </details>
172
154
 
173
155
  <details>
174
- <summary><strong>🛡️ 自動ロードされる実際の rule ファイル (<code>.claude/rules/10.backend/01.controller-rules.md</code>)</strong></summary>
156
+ <summary><strong>実際に自動ロードされるルール (<code>.claude/rules/10.backend/01.controller-rules.md</code>)</strong></summary>
175
157
 
176
158
  ````markdown
177
159
  ---
@@ -179,9 +161,9 @@ paths:
179
161
  - "**/*"
180
162
  ---
181
163
 
182
- # Controller Rules
164
+ #### Controller Rules
183
165
 
184
- ## REST (`io.spring.api.*`)
166
+ ##### REST (`io.spring.api.*`)
185
167
 
186
168
  - Controllers are the SOLE response wrapper for HTTP — no aggregator/facade above them.
187
169
  Return `ResponseEntity<?>` or a body Spring serializes via `JacksonCustomizations`.
@@ -194,13 +176,13 @@ paths:
194
176
  - Let exceptions propagate to `io.spring.api.exception.CustomizeExceptionHandler`
195
177
  (`@ControllerAdvice`). Do NOT `try/catch` business exceptions inside the controller.
196
178
 
197
- ## GraphQL (`io.spring.graphql.*`)
179
+ ##### GraphQL (`io.spring.graphql.*`)
198
180
 
199
181
  - DGS components (`@DgsComponent`) are the sole GraphQL response wrappers.
200
182
  Use `@DgsQuery` / `@DgsData` / `@DgsMutation`.
201
183
  - Resolve the current user via `io.spring.graphql.SecurityUtil.getCurrentUser()`.
202
184
 
203
- ## Examples
185
+ ##### Examples
204
186
 
205
187
  ✅ Correct:
206
188
  ```java
@@ -228,15 +210,15 @@ public ResponseEntity<?> create(@RequestBody NewArticleParam p) {
228
210
  ```
229
211
  ````
230
212
 
231
- `paths: ["**/*"]` の glob は、プロジェクト内のいずれかのファイルを編集するたびに Claude Code がこの rule を自動ロードすることを意味します。rule 内のクラス名、パッケージパス、exception handler はすべて scan されたソースから直接抽出されています — プロジェクトの実際の `CustomizeExceptionHandler` `JacksonCustomizations` を含めて。
213
+ `paths: ["**/*"]` の glob は、プロジェクト内のどのファイルを編集しても Claude Code がこのルールを自動でロードする、という意味です。ルール内のクラス名、パッケージパス、exception handler はすべてスキャン済みのソースから直接持ってきたもので、プロジェクトの実際の `CustomizeExceptionHandler` `JacksonCustomizations` がそのまま反映されています。
232
214
 
233
215
  </details>
234
216
 
235
217
  <details>
236
- <summary><strong>🧠 自動生成された <code>decision-log.md</code> シード (実際の出力)</strong></summary>
218
+ <summary><strong>自動生成された <code>decision-log.md</code> のシード (実例の抜粋)</strong></summary>
237
219
 
238
220
  ```markdown
239
- ## 2026-04-26 — Hexagonal ports & adapters with MyBatis-only persistence
221
+ #### 2026-04-26 — Hexagonal ports & adapters with MyBatis-only persistence
240
222
 
241
223
  - **Context:** `io.spring.core.*` exposes `*Repository` ports (e.g.,
242
224
  `io.spring.core.article.ArticleRepository`) implemented by
@@ -255,260 +237,276 @@ public ResponseEntity<?> create(@RequestBody NewArticleParam p) {
255
237
  split the persistence model.
256
238
  ```
257
239
 
258
- Pass 4 は `pass2-merged.json` から抽出したアーキテクチャ上の決定事項で `decision-log.md` seed します — その後のセッションでもコードベースが _このように見える_ という事実だけでなく、_なぜ_ そう見えるのかも記憶できるように。すべての選択肢 (JPA/Hibernate」「MyBatis-Plus) と帰結は実際の `build.gradle` の dependency ブロックに基づいています。
240
+ Pass 4 は `pass2-merged.json` から取り出したアーキテクチャ上の決定事項を `decision-log.md` にあらかじめ書き込んでおきます。次のセッションが始まったときに、コードベースが _なぜ今の形になっているのか_ まで思い出せるようにするためです。並んでいる選択肢 ("JPA/Hibernate"、"MyBatis-Plus") もその帰結も、すべて実際の `build.gradle` の dependency ブロックから拾ってきた内容です。
259
241
 
260
242
  </details>
261
243
 
262
244
  ---
263
245
 
264
- ## Quick Start
246
+ ## テスト済みプロジェクト
265
247
 
266
- **前提条件:** Node.js 18+、[Claude Code](https://docs.anthropic.com/en/docs/claude-code) がインストール済みかつ認証済み。
248
+ ClaudeOS-Core は実際の OSS プロジェクトで測定したリファレンスベンチマークを同梱しています。公開リポジトリで使ってみた方は、ぜひ [issue を開いてください](https://github.com/claudeos-core/claudeos-core/issues)。表に追加します。
249
+
250
+ | プロジェクト | スタック | Scanned → Generated | ステータス |
251
+ |---|---|---|---|
252
+ | [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) | Java 11 · Spring Boot 2.6 · MyBatis · SQLite | 187 → 75 files | ✅ 5 つの validator すべて通過 |
253
+
254
+ ---
255
+
256
+ ## クイックスタート
257
+
258
+ **前提条件:** Node.js 18+、[Claude Code](https://docs.anthropic.com/en/docs/claude-code) がインストール済みで認証済みであること。
267
259
 
268
260
  ```bash
269
261
  # 1. プロジェクトのルートに移動
270
262
  cd my-spring-boot-project
271
263
 
272
- # 2. init を実行 (コードを解析し、Claude にルール作成を依頼します)
264
+ # 2. init を実行 (コードを解析し、ルール作成を Claude に依頼します)
273
265
  npx claudeos-core init
274
266
 
275
- # 3. 完了。Claude Code を開いてコーディングを開始 — ルールは既にロード済みです。
267
+ # 3. 完了。Claude Code を開いて作業を始めれば、ルールはすでにロードされています。
276
268
  ```
277
269
 
278
- `init` 完了後に **得られるもの**:
270
+ `init` が終わると、次のようなファイル群ができあがります。
279
271
 
280
272
  ```
281
273
  your-project/
282
274
  ├── .claude/
283
- │ └── rules/ ← Claude Code が自動ロード
275
+ │ └── rules/ ← Claude Code が自動でロード
284
276
  │ ├── 00.core/ (共通ルール — 命名、アーキテクチャ)
285
- │ ├── 10.backend/ (バックエンドスタックのルール、該当する場合)
286
- │ ├── 20.frontend/ (フロントエンドスタックのルール、該当する場合)
287
- │ ├── 30.security-db/ (セキュリティ & DB のコンベンション)
277
+ │ ├── 10.backend/ (バックエンドのスタックルール、該当する場合)
278
+ │ ├── 20.frontend/ (フロントエンドのスタックルール、該当する場合)
279
+ │ ├── 30.security-db/ (セキュリティと DB のコンベンション)
288
280
  │ ├── 40.infra/ (env、ロギング、CI/CD)
289
- │ ├── 50.sync/ (ドキュメント同期のリマインダ — rules only)
290
- │ ├── 60.memory/ (memory rules — Pass 4、rules only)
281
+ │ ├── 50.sync/ (ドキュメント同期のリマインダー — rules のみ)
282
+ │ ├── 60.memory/ (メモリのルール — Pass 4、rules のみ)
291
283
  │ ├── 70.domains/{type}/ (ドメイン別ルール、type = backend|frontend)
292
- │ └── 80.verification/ (テスト戦略 + ビルド検証のリマインダ)
284
+ │ └── 80.verification/ (テスト戦略 + ビルド検証のリマインダー)
293
285
  ├── claudeos-core/
294
- │ ├── standard/ ← 参照ドキュメント (カテゴリ構造をミラー)
286
+ │ ├── standard/ ← リファレンスドキュメント (カテゴリ構成をミラー)
295
287
  │ │ ├── 00.core/ (プロジェクト概要、アーキテクチャ、命名)
296
- │ │ ├── 10.backend/ (バックエンド reference — バックエンドスタック時)
297
- │ │ ├── 20.frontend/ (フロントエンド reference — フロントエンドスタック時)
298
- │ │ ├── 30.security-db/ (セキュリティ & DB の reference)
299
- │ │ ├── 40.infra/ (env / ロギング / CI-CD の reference)
300
- │ │ ├── 70.domains/{type}/ (ドメイン別 reference)
301
- │ │ ├── 80.verification/ (ビルド / 起動 / テスト reference — standard only)
302
- │ │ └── 90.optional/ (スタック固有の追加 — standard only)
303
- │ ├── skills/ (Claude が適用可能な再利用パターン)
304
- │ ├── guide/ (一般的なタスク用 how-to ガイド)
288
+ │ │ ├── 10.backend/ (バックエンドのリファレンス — バックエンドスタック時)
289
+ │ │ ├── 20.frontend/ (フロントエンドのリファレンス — フロントエンドスタック時)
290
+ │ │ ├── 30.security-db/ (セキュリティ & DB のリファレンス)
291
+ │ │ ├── 40.infra/ (env / ロギング / CI-CD のリファレンス)
292
+ │ │ ├── 70.domains/{type}/ (ドメイン別リファレンス)
293
+ │ │ ├── 80.verification/ (ビルド / 起動 / テストのリファレンス — standard のみ)
294
+ │ │ └── 90.optional/ (スタック別の追加資料 — standard のみ)
295
+ │ ├── skills/ (Claude が適用できる再利用可能パターン)
296
+ │ ├── guide/ (よくあるタスクの how-to ガイド)
305
297
  │ ├── database/ (スキーマ概要、マイグレーションガイド)
306
- │ ├── mcp-guide/ (MCP 統合のメモ)
298
+ │ ├── mcp-guide/ (MCP 連携メモ)
307
299
  │ └── memory/ (decision log、failure patterns、compaction)
308
300
  └── CLAUDE.md (Claude が最初に読むインデックス)
309
301
  ```
310
302
 
311
- `rules/` と `standard/` で同じ番号 prefix を共有するカテゴリは、同一の概念領域を表します (例: `10.backend` rules ↔ `10.backend` standards)。Rules-only カテゴリ: `50.sync` (ドキュメント同期リマインダ)、`60.memory` (Pass 4 memory)。Standard-only カテゴリ: `90.optional` (強制力のないスタック固有の追加)。それ以外の prefix (`00`、`10`、`20`、`30`、`40`、`70`、`80`) は `rules/` と `standard/` の **両方** に存在します。これで Claude Code はあなたのプロジェクトを把握できます。
303
+ 同じ番号 prefix を持つカテゴリは、`rules/` と `standard/` の両方で同じ概念領域を指します (例: `10.backend` ルール ↔ `10.backend` standard)。rules にしかないカテゴリは `50.sync` (ドキュメント同期のリマインダー) と `60.memory` (Pass 4 メモリ)、standard にしかないカテゴリは `90.optional` (強制力のないスタック別の追加資料) です。それ以外の prefix (`00`、`10`、`20`、`30`、`40`、`70`、`80`) は両方に存在します。ここまで終われば、Claude Code はもうプロジェクトを把握した状態です。
312
304
 
313
305
  ---
314
306
 
315
- ## 誰のためのツールですか?
307
+ ## 誰のためのツール?
316
308
 
317
- | あなたが... | このツールが取り除く pain |
309
+ | こんな方に | このツールが解消する痛み |
318
310
  |---|---|
319
- | **Claude Code で新規プロジェクトを始めるソロ開発者** | 「毎セッション Claude にコンベンションを教える」が消える。`CLAUDE.md` + 8 カテゴリの `.claude/rules/` が一回の pass で生成される。 |
320
- | **複数 repo にまたがる共有標準を維持するチームリード** | パッケージ名変更、ORM 切り替え、response wrapper 変更で `.claude/rules/` が drift。ClaudeOS-Core deterministic に再同期 — 同じ入力 → byte-identical な出力、diff noise なし。 |
321
- | **既に Claude Code を使っているが生成コードの修正に疲れた人** | 間違った response wrapper、間違ったパッケージ layout、MyBatis を使っているのに JPA、centralized middleware なのに `try/catch` 撒き散らし。scanner が本物のコンベンションを抽出し、すべての Claude pass が明示的な path allowlist に対して走ります。 |
322
- | **新しい repo への onboarding** (既存プロジェクト、チームに参加) | repo `init` を実行するだけで、生きた architecture map が手に入る: CLAUDE.md のスタック表、レイヤごとのルール (✅/❌ 例つき)、主要な選択 ("なぜ") を seed した decision log (JPA vs MyBatis、REST vs GraphQL など)。5 ファイルを読む方が 5,000 ソースファイルを読むより速い。 |
323
- | **日本語 / 韓国語 / 中国語 / 他 7 言語で作業** | 大半の Claude Code rule generator は英語のみ。ClaudeOS-Core は **10 言語** (`en/ko/ja/zh-CN/es/vi/hi/ru/fr/de`) で完全なセットを書き、**byte-identical な構造検証** — 出力言語に関係なく同じ `claude-md-validator` verdict。 |
324
- | **monorepo で作業** (Turborepo、pnpm/yarn workspaces、Lerna) | 1 回の実行で backend + frontend のドメインが個別 prompt で解析される。`apps/*/` と `packages/*/` は自動的に walk され、スタック別のルールが `70.domains/{type}/` 配下に emit される。 |
325
- | **OSS 貢献または実験** | 出力は gitignore-friendly — `claudeos-core/` はローカル作業ディレクトリ、ship が必要なのは `CLAUDE.md` + `.claude/` のみ。中断時 resume-safe、再実行 idempotent (`--force` なしなら手動編集は保持される)。 |
311
+ | **Claude Code で新規プロジェクトを始める個人開発者** | セッションのたびに Claude へコンベンションを教え直す手間がなくなります。`CLAUDE.md` 8 カテゴリの `.claude/rules/` を一発で生成します。 |
312
+ | **複数リポジトリで共有標準を維持するチームリード** | パッケージ名の変更や ORM の差し替え、レスポンスラッパーの変更があるたびに `.claude/rules/` がついていけずズレていく問題。ClaudeOS-Core ならいつ走らせても同じ手順で再同期できます。同じ入力からは byte 単位で同じ出力が出るので、diff にノイズが乗りません。 |
313
+ | **Claude Code を使っているが生成コードの修正に疲れた方** | 違うレスポンスラッパー、違うパッケージ構成、MyBatis のプロジェクトなのに JPA、共通 middleware があるのに `try/catch` が散らばっている、といった出力。スキャナが実際のコンベンションを抽出し、Claude のすべての pass は明示的なパス allowlist の中だけで動きます。 |
314
+ | **新しいリポジトリにジョインしたばかりの方** (既存プロジェクト、新しいチーム) | リポジトリで `init` を一度走らせれば、生きたアーキテクチャマップが手に入ります。CLAUDE.md のスタック表、レイヤーごとのルールと ✅/❌ の例、主要な決定の「なぜ」が書き込まれた decision log (JPA vs MyBatis、REST vs GraphQL など)。5,000 個のソースファイルを読むより、5 つのドキュメントを読むほうが速いです。 |
315
+ | **韓国語、日本語、中国語など英語以外の言語で作業する方** | Claude Code 向けのルール生成ツールはほとんどが英語のみです。ClaudeOS-Core は **10 言語** (`en/ko/ja/zh-CN/es/vi/hi/ru/fr/de`) でドキュメント一式を生成し、出力言語が何であっても同じ構造検証を適用します。`claude-md-validator` の判定はどの言語でも同じです。 |
316
+ | **モノレポで作業する方** (Turborepo、pnpm/yarn workspaces、Lerna) | 1 回の実行でバックエンドとフロントエンドのドメインを別々の prompt で解析します。`apps/*/` と `packages/*/` も自動で巡回し、スタック別ルールは `70.domains/{type}/` の下に書き出します。 |
317
+ | **OSS への貢献や検証用途で使う方** | 出力は gitignore に優しい構成です。`claudeos-core/` はローカルの作業ディレクトリで、リポジトリに含めるのは `CLAUDE.md` `.claude/` だけで足ります。途中で止まっても再開でき、再実行しても安全です (手で編集したルールは `--force` を付けない限りそのまま残ります)。 |
326
318
 
327
- **適していないケース:** scan 段階を経ずに day-one から動く agents/skills/rules の one-size-fits-all なプリセットバンドルが欲しい場合 (どのツールがどこに適しているかは [docs/comparison.md](docs/ja/comparison.md) を参照)、もしくはプロジェクトが [サポート対象スタック](#supported-stacks) のいずれにもまだ該当しない場合、または単一の `CLAUDE.md` だけ欲しい場合 (ビルトインの `claude /init` で十分 — 別ツールを入れる必要はありません)。
319
+ **向かないケース:** スキャンを挟まずに初日からそのまま使える万能なプリセット詰め合わせが欲しい場合 (どの道具がどこに合うかは [docs/ja/comparison.md](docs/ja/comparison.md) を参照)、プロジェクトが[サポート対象スタック](#supported-stacks)のいずれにもまだ当てはまらない場合、もしくは `CLAUDE.md` 1 つあれば足りる場合。最後のケースなら標準搭載の `claude /init` で十分で、別のツールを入れる必要はありません。
328
320
 
329
321
  ---
330
322
 
331
- ## どのように動作しますか?
323
+ ## 仕組み
332
324
 
333
- ClaudeOS-Core は通常の Claude Code ワークフローを反転させます:
325
+ ClaudeOS-Core は、よくある Claude Code のワークフローの順序をひっくり返します。
334
326
 
335
327
  ```
336
- 通常: 人がプロジェクトを説明 → Claude がスタックを推測 → Claude が docs を作成
337
- このツール: コードがスタックを読む コードが確定した事実を Claude に渡す → Claude が事実から docs を作成
328
+ 通常: ユーザがプロジェクトを説明 → Claude がスタックを推測 → Claude が文書を作成
329
+ 本ツール: コードがスタックを解析 確定した事実を Claude に渡す → Claude は事実だけで文書を作成
338
330
  ```
339
331
 
340
- パイプラインは **3 段階** で実行され、LLM 呼び出しの両側にコードがあります:
332
+ パイプラインは **3 段階**で動きます。LLM を呼ぶ前にも後にも、コードが間に挟まる構成です。
341
333
 
342
- **1. Step A — Scanner (deterministic、LLM なし)。** Node.js scanner がプロジェクトルートを walk し、`package.json` / `build.gradle` / `pom.xml` / `pyproject.toml` を読み、`.env*` ファイルをパースし (`PASSWORD/SECRET/TOKEN/JWT_SECRET/...` のような sensitive な変数は redaction)、architecture pattern を分類し (Java の 5 パターン A/B/C/D/E、Kotlin CQRS / multi-module、Next.js App vs Pages Router、FSD、components-pattern)、ドメインを発見し、存在するすべてのソースファイルパスの明示的 allowlist を構築します。出力: `project-analysis.json` 以降のすべての段階の単一の source of truth です。
334
+ **1. Step A — スキャナ (LLM なしの決定論的処理)。** Node.js のスキャナがプロジェクトルートを巡回し、`package.json` / `build.gradle` / `pom.xml` / `pyproject.toml` を読み、`.env*` ファイルをパースします (`PASSWORD/SECRET/TOKEN/JWT_SECRET/...` などの機密変数は自動でマスクします)。続いてアーキテクチャパターンを分類し (Java の 5 パターン A/B/C/D/E、Kotlin CQRS / マルチモジュール、Next.js App Router Pages Router、FSD、components パターン)、ドメインを抽出し、存在するすべてのソースファイルパスを明示的な allowlist にまとめます。結果は `project-analysis.json` 1 ファイルに集約され、以降の工程はこれを single source of truth として扱います。
343
335
 
344
- **2. Step B — 4-Pass Claude パイプライン (Step A の事実によって制約される)。**
345
- - **Pass 1** はドメイングループごとに代表ファイルを読み、ドメインあたり ~50–100 のコンベンションを抽出します response wrapper、logging library、error handling、naming convention、test pattern。ドメイングループごとに 1 回実行される (`max 4 domains, 40 files per group`) ため context が overflow しません。
346
- - **Pass 2** はドメインごとの解析をすべてプロジェクト全体の像にマージし、ドメイン間で意見が割れたときは支配的なコンベンションを選びます。
347
- - **Pass 3** は `CLAUDE.md` + `.claude/rules/` + `claudeos-core/standard/` + skills + guides を書きます — stage に分割 (`3a` facts → `3b-core/3b-N` rules+standards → `3c-core/3c-N` skills+guides → `3d-aux` database+mcp-guide) されるため、`pass2-merged.json` が大きい場合でも各 stage の prompt が LLM の context window に収まります。≥16 ドメインのプロジェクトでは 3b/3c 15 ドメインの batch に sub-divide します。
348
- - **Pass 4** は L4 memory layer (`decision-log.md`、`failure-patterns.md`、`compaction.md`、`auto-rule-update.md`) seed し、universal な scaffold rules を追加します。Pass 4 は **`CLAUDE.md` の修正を禁止** されています — Pass 3 の Section 8 が authoritative です。
336
+ **2. Step B — 4-pass Claude パイプライン (Step A の事実を制約として動作)。**
337
+ - **Pass 1** はドメイングループごとに代表ファイルを読み、ドメインあたり 50 100 個のコンベンション (レスポンスラッパー、ロギングライブラリ、エラー処理、命名規則、テストパターンなど) を抽出します。ドメイングループごとに 1 回ずつ実行する設計 (`max 4 domains, 40 files per group`) なので、context があふれることはありません。
338
+ - **Pass 2** はドメインごとの解析結果をプロジェクト全体の像にまとめます。ドメイン間で食い違いがあれば、最も多く使われているコンベンションを採用します。
339
+ - **Pass 3** は `CLAUDE.md`、`.claude/rules/`、`claudeos-core/standard/`、skillsguides を書き上げます。段階を分けて (`3a` facts → `3b-core/3b-N` rules+standards → `3c-core/3c-N` skills+guides → `3d-aux` database+mcp-guide) 進めるので、`pass2-merged.json` が大きくなっても各段階の prompt が LLM の context window に収まります。ドメインが 16 個以上ある場合は、3b/3c をさらに 15 ドメイン以下のバッチへ分割します。
340
+ - **Pass 4** は L4 メモリレイヤー (`decision-log.md`、`failure-patterns.md`、`compaction.md`、`auto-rule-update.md`) をシードし、共通の scaffold ルールを追加します。Pass 4 は **`CLAUDE.md` を絶対に変更しません**。Pass 3 の Section 8 が唯一の権限を持ちます。
349
341
 
350
- **3. Step C — Verification (deterministic、LLM なし)。** 5 つの validator が出力を検査します:
351
- - `claude-md-validator` — `CLAUDE.md` に対する 25 個の構造チェック (8 sections、H3/H4 count、memory file uniqueness、T1 canonical heading invariant)。Language-invariant: `--lang` に関係なく同じ verdict。
352
- - `content-validator` — 10 個の content チェック。path-claim 検証 (`STALE_PATH` が捏造された `src/...` 参照を検出) MANIFEST drift 検出を含む。
353
- - `pass-json-validator` — Pass 1/2/3/4 JSON well-formedness + stack-aware section count。
354
- - `plan-validator` — plan ↔ disk の整合性 (legacyv2.1.0 以降ほぼ no-op)。
355
- - `sync-checker` — 7 個の追跡対象ディレクトリにわたる disk ↔ `sync-map.json` 登録の整合性。
342
+ **3. Step C — 検証 (LLM なしの決定論的処理)。** 5 つの validator が結果を検査します。
343
+ - `claude-md-validator` — `CLAUDE.md` に対する 25 種類の構造チェック (8 sections、H3/H4 の個数、メモリファイルの一意性、T1 canonical heading の不変条件)。language-invariant なので、`--lang` が何であっても判定は同じです。
344
+ - `content-validator` — 10 種類のコンテンツチェック。パス参照の存在確認 (`STALE_PATH` が捏造の `src/...` 参照を捕捉) MANIFEST drift の検知も含まれます。
345
+ - `pass-json-validator` — Pass 1/2/3/4 JSON well-formedness stack-aware なセクション数チェック。
346
+ - `plan-validator` — plan ↔ disk の整合性 (legacyv2.1.0 以降はほぼ no-op)。
347
+ - `sync-checker` — 追跡対象 7 ディレクトリにおける disk ↔ `sync-map.json` の登録整合性。
356
348
 
357
- 3-tier severity (`fail` / `warn` / `advisory`) なので、ユーザが手動で直せる LLM hallucination について warning が CI を deadlock させることはありません。
349
+ severity は 3 段階 (`fail` / `warn` / `advisory`) に分かれており、ユーザが手で直せる程度の LLM hallucination warning が CI を止めてしまうことはありません。
358
350
 
359
- すべてを結びつける invariant: **Claude はコードに実在するパスしか引用できない** — Step A finite な allowlist を渡しているからです。それでも LLM が何かをでっち上げようとしたら (まれですが特定の seed で起きます)、Step C が docs を ship する前に捕まえます。
351
+ これらすべてを束ねる根本原則は、**Claude が引用できるのはコードに実在するパスだけ**ということです。Step A が有限の allowlist を渡すので、そもそも逸脱できない設計になっています。それでも LLM が何かを作り出そうとすることはありますが (特定の seed でごくたまに発生)、Step C が出力前にしっかり捕捉します。
360
352
 
361
- per-pass の詳細、marker ベースの resume、Claude Code の `.claude/` sensitive-path block を回避する staged-rules の仕組み、stack 検出の internals は [docs/architecture.md](docs/ja/architecture.md) を参照。
353
+ pass の詳細、marker ベースの再開、Claude Code の `.claude/` 機密パス制限を回避する staged-rules の挙動、スタック検出の内部ロジックは [docs/ja/architecture.md](docs/ja/architecture.md) を参照してください。
362
354
 
363
355
  ---
364
356
 
365
357
  ## Supported Stacks
366
358
 
367
- 12 種のスタック、プロジェクトファイルから自動検出:
359
+ 12 スタックを、プロジェクトのファイルから自動で検出します。
368
360
 
369
361
  **Backend:** Java/Spring Boot · Kotlin/Spring Boot · Node/Express · Node/Fastify · Node/NestJS · Python/Django · Python/FastAPI · Python/Flask
370
362
 
371
363
  **Frontend:** Node/Next.js · Node/Vite · Angular · Vue/Nuxt
372
364
 
373
- マルチスタックのプロジェクト (例: Spring Boot バックエンド + Next.js フロントエンド) もそのまま動作します。
365
+ マルチスタックのプロジェクト (例: Spring Boot バックエンド + Next.js フロントエンド) もそのまま動きます。
374
366
 
375
- 検出ルールと各 scanner が抽出する内容は [docs/ja/stacks.md](docs/ja/stacks.md) を参照。
367
+ 検出ルールと各スキャナが取り出す情報については [docs/ja/stacks.md](docs/ja/stacks.md) を参照してください。
376
368
 
377
369
  ---
378
370
 
379
371
  ## 日常のワークフロー
380
372
 
381
- 3 つのコマンドで使用量の約 95% をカバーします:
373
+ 普段の使い方は、ほぼこの 3 つのコマンドで済みます。
382
374
 
383
375
  ```bash
384
- # プロジェクトでの初回実行
376
+ # プロジェクトで初めて実行するとき
385
377
  npx claudeos-core init
386
378
 
387
- # standards や rules を手動編集した後
379
+ # standards やルールを手で編集した後
388
380
  npx claudeos-core lint
389
381
 
390
- # ヘルスチェック (コミット前または CI で実行)
382
+ # ヘルスチェック (コミット前や CI で実行)
391
383
  npx claudeos-core health
392
384
  ```
393
385
 
394
- memory layer のメンテナンス用にもう 2 つ:
395
-
396
- ```bash
397
- # failure-patterns ログのコンパクション (定期的に実行)
398
- npx claudeos-core memory compact
399
-
400
- # 頻発する failure pattern を提案ルールへ昇格
401
- npx claudeos-core memory propose-rules
402
- ```
403
-
404
- 各コマンドの全オプションは [docs/ja/commands.md](docs/ja/commands.md) を参照。
386
+ 各コマンドのオプション全体は [docs/ja/commands.md](docs/ja/commands.md) を参照してください。メモリレイヤーのコマンド (`memory compact`、`memory propose-rules`) は下の [Memory Layer](#memory-layer-任意長期プロジェクト向け) セクションで扱います。
405
387
 
406
388
  ---
407
389
 
408
390
  ## 何が違うのか
409
391
 
410
- ほとんどの Claude Code ドキュメント生成ツールは「説明」から始まります (人がツールに伝え、ツールが Claude に伝える)。ClaudeOS-Core は「実際のソースコード」から始まります (ツールが読み、確定した事実を Claude に伝え、Claude は確定した内容だけを書く)。
392
+ Claude Code 向けのドキュメント生成ツールはほとんど、ユーザの説明から出発します。ユーザがツールに伝え、ツールがそれを Claude に伝える流れです。ClaudeOS-Core は実際のソースコードから出発します。ツールが直接コードを読み、確定した事実を Claude に渡し、Claude はその事実だけでドキュメントを書きます。
411
393
 
412
- 具体的な 3 つの帰結:
394
+ 具体的な違いは 3 つあります。
413
395
 
414
- 1. **Deterministic stack detection.** 同じプロジェクト + 同じコード = 同じ出力。「今回は Claude のサイコロが違った」現象がない。
415
- 2. **No invented paths.** Pass 3 のプロンプトは許可されたソースパスをすべて明示的に列挙 Claude は存在しないパスを引用できない。
416
- 3. **Multi-stack aware.** バックエンドとフロントエンドのドメインが同一実行内でそれぞれ異なる解析プロンプトを使用。
396
+ 1. **決定論的なスタック検出。** 同じプロジェクト + 同じコード = 同じ出力。「今回の Claude はちょっと違う出力を出してきた」がありません。
397
+ 2. **存在しないパスを作らない。** Pass 3 prompt に許可済みのソースパスがすべて明示されているため、Claude はそこに無いパスを引用できません。
398
+ 3. **マルチスタックを意識した解析。** 同じ実行の中で、バックエンドとフロントエンドのドメインがそれぞれ別の解析 prompt を使います。
417
399
 
418
- 他ツールとの scope 比較は [docs/ja/comparison.md](docs/ja/comparison.md) を参照。比較は **各ツールが何をするか** に関するもので、**どれが優れているか** ではありません — ほとんどは相補的です。
400
+ 他のツールとのスコープ比較は [docs/ja/comparison.md](docs/ja/comparison.md) を参照してください。この比較は **各ツールが何をするか** を整理した内容で、**どれが優れているか** を評価したものではありません。多くは互いに補完関係にあります。
419
401
 
420
402
  ---
421
403
 
422
- ## 検証 (post-generation)
404
+ ## 検証 (生成後)
423
405
 
424
- Claude docs を書いた後、コードがそれを検証します。5 つの独立した validator:
406
+ Claude がドキュメントを書き終えたら、今度はコードがそれを検証します。独立した validator 5 つあります。
425
407
 
426
- | Validator | 検査内容 | 実行元 |
408
+ | Validator | チェック内容 | 実行元 |
427
409
  |---|---|---|
428
- | `claude-md-validator` | CLAUDE.md の構造的不変条件 (8 sections、language-invariant) | `claudeos-core lint` |
429
- | `content-validator` | パスクレームが実在するか、manifest の整合性 | `health` (advisory) |
410
+ | `claude-md-validator` | CLAUDE.md の構造的な不変条件 (8 sections、language-invariant) | `claudeos-core lint` |
411
+ | `content-validator` | パス参照が実際に存在するか、manifest が整合しているか | `health` (advisory) |
430
412
  | `pass-json-validator` | Pass 1 / 2 / 3 / 4 の出力が well-formed JSON か | `health` (warn) |
431
- | `plan-validator` | 保存された plan がディスクと一致するか | `health` (fail-on-error) |
432
- | `sync-checker` | ディスク上のファイルが `sync-map.json` の登録と一致するか (orphaned/unregistered の検出) | `health` (fail-on-error) |
413
+ | `plan-validator` | 保存された plan がディスクの内容と一致するか | `health` (fail-on-error) |
414
+ | `sync-checker` | `sync-map.json` の登録項目とディスク上のファイルが一致するか (orphaned/unregistered の検出) | `health` (fail-on-error) |
433
415
 
434
- `health-checker` 4 つのランタイム validator を 3 段階の severity (fail / warn / advisory) でオーケストレーションし、CI に適した exit code で終了します。`claude-md-validator` は構造的な drift soft warning ではなく re-init のシグナルなので、`lint` コマンドで個別に実行されます。いつでも実行可能:
416
+ `health-checker` がランタイム validator 4 つを 3 段階の severity (fail / warn / advisory) でまとめて実行し、CI に適した終了コードで締めくくります。`claude-md-validator` だけは `lint` コマンドで個別に走らせる構成にしてあります。構造のズレは「軽い警告」ではなく「再 init すべきシグナル」だからです。いつでも実行できます。
435
417
 
436
418
  ```bash
437
419
  npx claudeos-core health
438
420
  ```
439
421
 
440
- 各 validator の検査項目は [docs/ja/verification.md](docs/ja/verification.md) を参照。
422
+ 各 validator のチェック項目の詳細は [docs/ja/verification.md](docs/ja/verification.md) を参照してください。
441
423
 
442
424
  ---
443
425
 
444
426
  ## Memory Layer (任意、長期プロジェクト向け)
445
427
 
446
- v2.0 以降、ClaudeOS-Core 4 つのファイルが入った `claudeos-core/memory/` フォルダを書き込みます:
428
+ 上の scaffolding パイプラインに加えて、単一セッションを超えて context を引き継ぎたいプロジェクト向けに、`claudeos-core/memory/` フォルダも併せて用意します。任意機能なので、`CLAUDE.md` とルールだけで足りる場合は無視してかまいません。
447
429
 
448
- - `decision-log.md` append-only な「なぜ Y ではなく X を選んだのか」
449
- - `failure-patterns.md` — frequency/importance スコア付きの繰り返し発生するエラー
450
- - `compaction.md` — 時間とともに memory がどのように自動コンパクションされるか
451
- - `auto-rule-update.md` — 新ルールに昇格すべきパターン
430
+ ファイルは 4 つで、すべて Pass 4 が書き出します。
452
431
 
453
- `npx claudeos-core memory propose-rules` を実行すると、Claude に最近の failure pattern を見せて新しいルールを提案させることができます。
432
+ - `decision-log.md` append-only 形式の「なぜ X ではなく Y を選んだか」の記録。`pass2-merged.json` からシード。
433
+ - `failure-patterns.md` — frequency / importance のスコアが付いた、繰り返し起きるエラーの一覧。
434
+ - `compaction.md` — 時間の経過とともにメモリが自動圧縮される仕組み。
435
+ - `auto-rule-update.md` — 新しいルールに昇格させるべきパターン。
454
436
 
455
- memory モデルとライフサイクルは [docs/ja/memory-layer.md](docs/ja/memory-layer.md) を参照。
437
+ このレイヤーを長く運用するためのコマンドが 2 つあります。
438
+
439
+ ```bash
440
+ # failure-patterns ログを圧縮 (定期的に実行)
441
+ npx claudeos-core memory compact
442
+
443
+ # よく出る failure pattern を提案ルールに昇格
444
+ npx claudeos-core memory propose-rules
445
+ ```
446
+
447
+ メモリモデルとライフサイクルについては [docs/ja/memory-layer.md](docs/ja/memory-layer.md) を参照してください。
456
448
 
457
449
  ---
458
450
 
459
451
  ## FAQ
460
452
 
461
- **Q: Claude API キーが必要ですか?**
462
- A: 不要です。ClaudeOS-Core は既存の Claude Code インストールを利用します — マシン上の `claude -p` にプロンプトを流すだけです。追加のアカウントは不要です。
453
+ **Q: Claude API キーは必要ですか?**
454
+ A: 不要です。ClaudeOS-Core は手元にインストール済みの Claude Code をそのまま利用します。ローカルの `claude -p` に prompt を流す方式なので、追加のアカウントは要りません。
463
455
 
464
456
  **Q: 既存の CLAUDE.md や `.claude/rules/` を上書きしますか?**
465
- A: 新しいプロジェクトでの初回実行: 新規作成します。`--force` なしの再実行: 編集内容を保持 — 前回実行の pass marker が検出されると該当 pass はスキップされます。`--force` での再実行: すべてを wipe して再生成 (編集内容は失われます — それが `--force` の意味です)。詳しくは [docs/ja/safety.md](docs/ja/safety.md) を参照。
457
+ A: 新規プロジェクトで初めて実行したときは新しく作ります。`--force` を付けずに再実行した場合は編集内容が残ります。前回実行の pass marker を検知して、その pass をスキップする仕組みです。`--force` を付けて再実行すると全部消して作り直します (編集内容も一緒に消える、というのが `--force` の意味です)。詳しくは [docs/ja/safety.md](docs/ja/safety.md) を参照してください。
466
458
 
467
- **Q: 自分のスタックがサポート対象外です。追加できますか?**
468
- A: できます。新しいスタックには ~3 個のプロンプトテンプレートとドメイン scanner が必要です。8 ステップガイドは [CONTRIBUTING.md](CONTRIBUTING.md) を参照。
459
+ **Q: 自分のスタックがサポートされていません。追加できますか?**
460
+ A: できます。新しいスタックには prompt テンプレート 3 種類とドメインスキャナ 1 つがあれば足ります。8 ステップのガイドは [CONTRIBUTING.md](CONTRIBUTING.md) にあります。
469
461
 
470
- **Q: 日本語 (または別言語) で docs を生成するには?**
471
- A: `npx claudeos-core init --lang ja`. 10 言語をサポート: en, ko, ja, zh-CN, es, vi, hi, ru, fr, de.
462
+ **Q: 日本語 (またはその他の言語) でドキュメントを生成するには?**
463
+ A: `npx claudeos-core init --lang ja` を実行してください。対応言語は 10 種類です: en, ko, ja, zh-CN, es, vi, hi, ru, fr, de
472
464
 
473
- **Q: monorepo でも動作しますか?**
474
- A: 動作します — Turborepo (`turbo.json`)、pnpm workspaces (`pnpm-workspace.yaml`)、Lerna (`lerna.json`)、npm/yarn workspaces (`package.json#workspaces`) は stack-detector が検出します。各 app が独自の解析を受けます。それ以外の monorepo レイアウト (例: NX) は明示的には検出されませんが、汎用的な `apps/*/` `packages/*/` のパターンはスタック別 scanner が拾います。
465
+ **Q: モノレポでも動きますか?**
466
+ A: 動きます。Turborepo (`turbo.json`)、pnpm workspaces (`pnpm-workspace.yaml`)、Lerna (`lerna.json`)、npm/yarn workspaces (`package.json#workspaces`) は stack-detector が検出します。app ごとに個別に解析します。それ以外のモノレポレイアウト (例: NX) は明示的に検出はしませんが、一般的な `apps/*/` `packages/*/` のパターンならスタック別スキャナがそのまま拾います。
475
467
 
476
- **Q: Claude Code が同意できないルールを生成したら?**
477
- A: 直接編集してください。その後 `npx claudeos-core lint` を実行して CLAUDE.md が構造的に有効なままか確認します。以後の `init` 実行 (`--force` なし) では編集内容が保持されます — resume メカニズムが marker のある pass をスキップするためです。
468
+ **Q: Claude Code が同意しがたいルールを作ってきたら?**
469
+ A: 直接編集してください。そのあと `npx claudeos-core lint` を走らせて、CLAUDE.md の構造がまだ有効かを確認します。`--force` を付けずに以降の `init` を実行する限り、編集内容はそのまま残ります。再開ロジックが marker のある pass を飛ばすからです。
478
470
 
479
471
  **Q: バグはどこに報告すれば?**
480
- A: [GitHub Issues](https://github.com/claudeos-core/claudeos-core/issues). セキュリティ問題は [SECURITY.md](SECURITY.md) を参照。
472
+ A: [GitHub Issues](https://github.com/claudeos-core/claudeos-core/issues) へ。セキュリティ関連は [SECURITY.md](SECURITY.md) を参照してください。
473
+
474
+ ---
475
+
476
+ ## 時間が節約できたなら
477
+
478
+ GitHub の ⭐ 1 つで、プロジェクトの可視性が上がり、他の人にも見つけてもらいやすくなります。issue、PR、スタックテンプレートの貢献はすべて歓迎します。詳細は [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
481
479
 
482
480
  ---
483
481
 
484
- ## Documentation
482
+ ## ドキュメント
485
483
 
486
- | トピック | 読むもの |
484
+ | トピック | 読むファイル |
487
485
  |---|---|
488
- | 4-pass パイプラインの仕組み (図解より深く) | [docs/ja/architecture.md](docs/ja/architecture.md) |
489
- | アーキテクチャの視覚的ダイアグラム (Mermaid) | [docs/ja/diagrams.md](docs/ja/diagrams.md) |
490
- | Stack 検出 scanner が見るもの | [docs/ja/stacks.md](docs/ja/stacks.md) |
491
- | Memory layer — decision log と failure pattern | [docs/ja/memory-layer.md](docs/ja/memory-layer.md) |
486
+ | 4-pass パイプラインの動き (図より深い説明) | [docs/ja/architecture.md](docs/ja/architecture.md) |
487
+ | アーキテクチャの図解 (Mermaid) | [docs/ja/diagrams.md](docs/ja/diagrams.md) |
488
+ | スタック検出各スキャナが何を見ているか | [docs/ja/stacks.md](docs/ja/stacks.md) |
489
+ | メモリレイヤー — decision log と failure pattern | [docs/ja/memory-layer.md](docs/ja/memory-layer.md) |
492
490
  | 5 つの validator の詳細 | [docs/ja/verification.md](docs/ja/verification.md) |
493
491
  | すべての CLI コマンドとオプション | [docs/ja/commands.md](docs/ja/commands.md) |
494
- | 手動インストール (`npx` なし) | [docs/ja/manual-installation.md](docs/ja/manual-installation.md) |
495
- | Scanner override — `.claudeos-scan.json` | [docs/ja/advanced-config.md](docs/ja/advanced-config.md) |
496
- | 安全性: re-init で保持されるもの | [docs/ja/safety.md](docs/ja/safety.md) |
497
- | 類似ツールとの比較 (scope であり品質ではない) | [docs/ja/comparison.md](docs/ja/comparison.md) |
492
+ | 手動インストール (`npx` を使わない方法) | [docs/ja/manual-installation.md](docs/ja/manual-installation.md) |
493
+ | スキャナの override — `.claudeos-scan.json` | [docs/ja/advanced-config.md](docs/ja/advanced-config.md) |
494
+ | 安全性: 再実行時に保持されるもの | [docs/ja/safety.md](docs/ja/safety.md) |
495
+ | 似たツールとの比較 (品質ではなくスコープの観点) | [docs/ja/comparison.md](docs/ja/comparison.md) |
498
496
  | エラーと復旧 | [docs/ja/troubleshooting.md](docs/ja/troubleshooting.md) |
499
497
 
500
498
  ---
501
499
 
502
- ## Contributing
500
+ ## 貢献
503
501
 
504
- コントリビューション歓迎です スタック対応の追加、プロンプトの改善、バグ修正など。詳しくは [CONTRIBUTING.md](CONTRIBUTING.md) を参照。
502
+ 貢献は歓迎します。スタック対応の追加、prompt の改善、バグ修正、どれも大歓迎です。詳細は [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
505
503
 
506
- 行動規範とセキュリティポリシーは [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)[SECURITY.md](SECURITY.md) を参照。
504
+ 行動規範とセキュリティポリシーは [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)[SECURITY.md](SECURITY.md) を参照してください。
507
505
 
508
- ## License
506
+ ## ライセンス
509
507
 
510
- [ISC](LICENSE) 商用を含めあらゆる用途で自由に利用可能。
508
+ [ISC License](LICENSE)。商用利用を含めて、あらゆる用途に自由に利用できます。© 2025–2026 ClaudeOS-Core contributors.
511
509
 
512
510
  ---
513
511
 
514
- <sub>[@claudeos-core](https://github.com/claudeos-core) が手をかけて作成しました。時間を節約できたなら、GitHub がプロジェクトの可視性を保ちます。</sub>
512
+ <sub>[claudeos-core](https://github.com/claudeos-core) チームがメンテナンスしています。issue PR は <https://github.com/claudeos-core/claudeos-core> までお寄せください。</sub>