claudeos-core 1.6.2 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.zh-CN.md CHANGED
@@ -1,654 +1,656 @@
1
- # ClaudeOS-Core
2
-
3
- **唯一一个先读取源代码、用确定性分析确认技术栈和模式、然后生成精确匹配项目的 Claude Code 规则的工具。**
4
-
5
- ```bash
6
- npx claudeos-core init
7
- ```
8
-
9
- ClaudeOS-Core 读取你的代码库,提取所有模式,生成一套完全适配 _你的_ 项目的 Standards、Rules、Skills 和 Guides。之后,当你告诉 Claude Code "创建一个订单 CRUD"时,它会生成完全符合你现有模式的代码。
10
-
11
- [🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
12
-
13
- ---
14
-
15
- ## 为什么选择 ClaudeOS-Core?
16
-
17
- > 人类描述项目 → LLM 生成文档
18
-
19
- ClaudeOS-Core:
20
-
21
- > 代码分析源码 → 代码构建定制提示 → LLM 生成文档 → 代码验证输出
22
-
23
- ### 核心问题:LLM 猜测,代码确定。
24
-
25
- 当你要求 Claude "分析这个项目"时,它会**猜测**你的技术栈、ORM、领域结构。
26
-
27
- **ClaudeOS-Core 不猜测。** Claude Node.js:
28
-
29
- - `build.gradle` / `package.json` / `pyproject.toml` → **confirmed**
30
- - directory scan → **confirmed**
31
- - Java 5 patterns, Kotlin CQRS/BFF, Next.js App Router/FSD → **classified**
32
- - domain groups → **split**
33
- - stack-specific prompt → **assembled**
34
-
35
- ### 结果
36
-
37
- 其他工具生成"一般性好的"文档。
38
- ClaudeOS-Core 生成的文档知道你的项目使用 `ApiResponse.ok()`(而不是 `ResponseEntity.success()`),MyBatis XML 映射器位于 `src/main/resources/mybatis/mappers/`,包结构为 `com.company.module.{domain}.controller` — 因为它读了你的实际代码。
39
-
40
- ### Before & After
41
-
42
- **没有 ClaudeOS-Core**:
43
- ```
44
- ❌ JPA repository (MyBatis)
45
- ❌ ResponseEntity.success() (ApiResponse.ok())
46
- ❌ order/controller/ (controller/order/)
47
- → 20 min fix per file
48
- ```
49
-
50
- **使用 ClaudeOS-Core 后**:
51
- ```
52
- ✅ MyBatis mapper + XML (build.gradle)
53
- ✅ ApiResponse.ok() (source code)
54
- ✅ controller/order/ (Pattern A)
55
- → immediate match
56
- ```
57
-
58
- 这种差异会累积。每天10个任务 × 节省20分钟 = **每天3小时以上**。
59
-
60
- ---
61
-
62
- ## 支持的技术栈
63
-
64
- | 技术栈 | 检测方式 | 分析深度 |
65
- |---|---|---|
66
- | **Java / Spring Boot** | `build.gradle`、`pom.xml`、5种包模式自动回退 | 10 大类,59 小项 |
67
- | **Kotlin / Spring Boot** | `build.gradle.kts`、kotlin 插件、`settings.gradle.kts`、CQRS/BFF 自动检测 | 12 大类,95 小项 |
68
- | **Node.js / Express** | `package.json` | 9 大类,57 小项 |
69
- | **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 大类,68 小项 |
70
- | **Next.js / React** | `package.json`, `next.config.*`, FSD 支持 | 9 大类,55 小项 |
71
- | **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 大类,58 小项 |
72
- | **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大类,55 小项 |
73
- | **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大类,58 小项 |
74
- | **Node.js / Fastify** | `package.json` | 10 大类,62 小项 |
75
- | **Angular** | `package.json`、`angular.json` | 12 大类,78 小项 |
76
-
77
- 自动检测:语言及版本、框架及版本、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、数据库(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、包管理器(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、架构(CQRS、BFF — 从模块名检测)、多模块结构(从 settings.gradle 检测)、单体仓库(Turborepo、pnpm-workspace、Lerna、npm/yarn workspaces)。
78
-
79
- **你不需要指定任何内容,一切自动检测。**
80
-
81
-
82
- ### Java 域检测(5种模式自动回退)
83
-
84
- | 优先级 | 模式 | 结构 | 示例 |
85
- |---|---|---|---|
86
- | A | 层优先 | `controller/{domain}/` | `controller/user/UserController.java` |
87
- | B | 域优先 | `{domain}/controller/` | `user/controller/UserController.java` |
88
- | D | 模块前缀 | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
89
- | E | DDD/六角形 | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
90
- | C | 扁平 | `controller/*.java` | `controller/UserController.java` → 从类名提取 `user` |
91
-
92
- 无 Controller 的纯 Service 域也会通过 `service/`、`dao/`、`aggregator/`、`facade/`、`usecase/`、`orchestrator/`、`mapper/`、`repository/` 目录被检测。跳过:`common`、`config`、`util`、`core`、`front`、`admin`、`v1`、`v2` 等。
93
-
94
-
95
- ### Kotlin 多模块域检测
96
-
97
- 适用于 Gradle 多模块结构的 Kotlin 项目(如 CQRS 单体仓库):
98
-
99
- | 步骤 | 操作 | 示例 |
100
- |---|---|---|
101
- | 1 | 扫描 `settings.gradle.kts` 中的 `include()` | 发现 14 个模块 |
102
- | 2 | 从模块名检测类型 | `reservation-command-server` type: `command` |
103
- | 3 | 从模块名提取域 | `reservation-command-server` → domain: `reservation` |
104
- | 4 | 跨模块合并相同域 | `reservation-command-server` + `common-query-server` → 1 个域 |
105
- | 5 | 检测架构 | `command` + `query` 模块 CQRS |
106
-
107
- 支持的模块类型:`command`、`query`、`bff`、`integration`、`standalone`、`library`。共享库(`shared-lib`、`integration-lib`)作为特殊域检测。
108
-
109
- ### 前端域检测
110
-
111
- - **App Router**:`app/{domain}/page.tsx`(Next.js)
112
- - **Pages Router**:`pages/{domain}/index.tsx`
113
- - **FSD(功能切片设计)**:`features/*/`、`widgets/*/`、`entities/*/`
114
- - **RSC/Client 分离**:检测 `client.tsx` 模式,追踪服务端/客户端组件分离
115
- - **配置文件回退**:从配置文件检测 Next.js/Vite/Nuxt(monorepo 支持)
116
- - **深层目录回退**:React/CRA/Vite/Vue/RN 项目扫描任意深度的 `**/components/*/`、`**/views/*/`、`**/screens/*/`、`**/containers/*/`、`**/pages/*/`、`**/routes/*/`、`**/modules/*/`、`**/domains/*/`
117
-
118
- ---
119
-
120
- ## 快速开始
121
-
122
- ### 前提条件
123
-
124
- - **Node.js** v18+
125
- - **Claude Code CLI**(已安装并认证)
126
-
127
- ### 安装
128
-
129
- ```bash
130
- cd /your/project/root
131
-
132
- # 方式 A:npx(推荐 — 无需安装)
133
- npx claudeos-core init
134
-
135
- # 方式 B:全局安装
136
- npm install -g claudeos-core
137
- claudeos-core init
138
-
139
- # 方式 C:项目 devDependency
140
- npm install --save-dev claudeos-core
141
- npx claudeos-core init
142
-
143
- # 方式 D:git clone(用于开发/贡献)
144
- git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
145
-
146
- # 跨平台(PowerShell、CMD、Bash、Zsh 任何终端)
147
- node claudeos-core-tools/bin/cli.js init
148
-
149
- # 仅 Linux/macOS(仅 Bash)
150
- bash claudeos-core-tools/bootstrap.sh
151
- ```
152
-
153
- ### 输出语言(支持 10 种语言)
154
-
155
- 不带 `--lang` 运行 `init` 时,会显示交互选择器(支持方向键或数字键):
156
-
157
- ```
158
- ╔══════════════════════════════════════════════════╗
159
- ║ Select generated document language (required) ║
160
- ╚══════════════════════════════════════════════════╝
161
-
162
- 生成的文件(CLAUDE.md、Standards、Rules、
163
- Skills、Guides)将以简体中文编写。
164
-
165
- 1. en — English
166
- 2. ko — 한국어 (Korean)
167
- ❯ 3. zh-CN 简体中文 (Chinese Simplified)
168
- ...
169
-
170
- ↑↓ Move 1-0 Jump Enter Select ESC Cancel
171
- ```
172
-
173
- 选择移动时说明会切换为对应语言。跳过选择器直接指定:
174
-
175
- ```bash
176
- npx claudeos-core init --lang zh-CN # 简体中文
177
- npx claudeos-core init --lang en # English
178
- npx claudeos-core init --lang ko # 한국어
179
- ```
180
-
181
- > **注意:** 此设置仅更改生成文档的语言。代码分析(Pass 1–2)始终以英文运行,仅生成结果(Pass 3)以所选语言编写。代码示例保持原始编程语言语法。
182
-
183
- 就这样。5–18 分钟后,所有文档生成完毕,即可使用。CLI 会在每个 Pass 完成后显示耗时,并在完成横幅中显示总耗时。
184
-
185
- ### 手动逐步安装
186
-
187
- 如果您想完全控制每个阶段,或者自动管道在某个步骤失败,可以手动运行每个阶段。这也有助于理解 ClaudeOS-Core 的内部工作原理。
188
-
189
- #### Step 1:克隆并安装依赖
190
-
191
- ```bash
192
- cd /your/project/root
193
-
194
- git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
195
- cd claudeos-core-tools && npm install && cd ..
196
- ```
197
-
198
- #### Step 2:创建目录结构
199
-
200
- ```bash
201
- # Rules
202
- mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
203
-
204
- # Standards
205
- mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
206
-
207
- # Skills
208
- mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
209
-
210
- # Guide, Plan, Database, MCP, Generated
211
- mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
212
- mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
213
- ```
214
-
215
- #### Step 3:运行 plan-installer(项目分析)
216
-
217
- 扫描您的项目,检测技术栈,发现域,分组,并生成提示词。
218
-
219
- ```bash
220
- node claudeos-core-tools/plan-installer/index.js
221
- ```
222
-
223
- **输出(`claudeos-core/generated/`):**
224
- - `project-analysis.json` — 检测到的技术栈、域、前端信息
225
- - `domain-groups.json` — Pass 1 的域分组
226
- - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` 分析提示词
227
- - `pass2-prompt.md` — 合并提示词
228
- - `pass3-prompt.md` — 生成提示词
229
-
230
- 在继续之前,您可以检查这些文件以验证检测准确性。
231
-
232
- #### Step 4:Pass 1 — 按域组深度代码分析
233
-
234
- 为每个域组运行 Pass 1。检查 `domain-groups.json` 获取组数。
235
-
236
- ```bash
237
- # Check groups
238
- cat claudeos-core/generated/domain-groups.json | node -e "
239
- const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
240
- g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
241
- "
242
-
243
- # Run Pass 1 for group 1:
244
- cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
245
- DOMAIN_LIST="user, order, product" PASS_NUM=1 \
246
- perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
247
- cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
248
-
249
- # 前端分组请使用 pass1-frontend-prompt.md
250
- ```
251
-
252
- **验证:** `ls claudeos-core/generated/pass1-*.json` 应显示每组一个 JSON。
253
-
254
- #### Step 5:Pass 2 — 合并分析结果
255
-
256
- ```bash
257
- cat claudeos-core/generated/pass2-prompt.md \
258
- | claude -p --dangerously-skip-permissions
259
- ```
260
-
261
- **验证:** `claudeos-core/generated/pass2-merged.json` 应存在且包含 9 个以上顶层键。
262
-
263
- #### Step 6:Pass 3 — 生成所有文档
264
-
265
- ```bash
266
- cat claudeos-core/generated/pass3-prompt.md \
267
- | claude -p --dangerously-skip-permissions
268
- ```
269
-
270
- **验证:** 项目根目录应存在 `CLAUDE.md`。
271
-
272
- #### Step 7:运行验证工具
273
-
274
- ```bash
275
- # 生成元数据(其他检查前必须运行)
276
- node claudeos-core-tools/manifest-generator/index.js
277
-
278
- # 运行全部检查
279
- node claudeos-core-tools/health-checker/index.js
280
-
281
- # 或运行单独检查:
282
- node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
283
- node claudeos-core-tools/sync-checker/index.js # Sync status
284
- node claudeos-core-tools/content-validator/index.js # Content quality
285
- node claudeos-core-tools/pass-json-validator/index.js # JSON format
286
- ```
287
-
288
- #### Step 8:验证结果
289
-
290
- ```bash
291
- find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
292
- head -30 CLAUDE.md
293
- ls .claude/rules/*/
294
- ```
295
-
296
- > **提示:** 如果某个步骤失败,可以仅重新运行该步骤。Pass 1/2 结果会被缓存 — 如果 `pass1-N.json` 或 `pass2-merged.json` 已存在,自动管道会跳过。使用 `npx claudeos-core init --force` 删除之前的结果并重新开始。
297
-
298
- ### 开始使用
299
-
300
- ```
301
- # 在 Claude Code 中直接用自然语言:
302
- "帮我创建订单域的 CRUD"
303
- "添加用户认证 API"
304
- "按照项目规范重构这段代码"
305
-
306
- # Claude Code 会自动引用生成的 Standards、Rules 和 Skills。
307
- ```
308
-
309
- ---
310
-
311
- ## 工作原理 — 3-Pass 流水线
312
-
313
- ```
314
- npx claudeos-core init
315
-
316
- ├── [1] npm install ← 安装依赖(~10秒)
317
- ├── [2] 创建目录结构 ← 创建文件夹(~1秒)
318
- ├── [3] plan-installer (Node.js) 项目扫描(~5秒)
319
- ├── 自动检测技术栈(支持多栈)
320
- ├── 提取领域列表(标记:backend/frontend)
321
- │ ├── 按类型分割领域组
322
- └── 选择栈特定的提示词(按类型)
323
-
324
- ├── [4] Pass 1 × N (claude -p) 代码深度分析(~2-8分钟)
325
- ├── ⚙️ 后端组 → 后端专用分析提示
326
- │ └── 🎨 前端组 前端专用分析提示
327
-
328
- ├── [5] Pass 2 × 1 (claude -p) ← 合并分析结果(~1分钟)
329
- └── 整合所有 Pass 1 结果(后端 + 前端)
330
-
331
- ├── [6] Pass 3 × 1 (claude -p) ← 生成全部文件(~3-5分钟)
332
- └── 合并提示(后端 + 前端目标)
333
-
334
- └── [7] 验证 ← 自动运行健康检查
335
- ```
336
-
337
- ### 为什么是 3 个 Pass?
338
-
339
- **Pass 1** 是唯一读取源代码的阶段。它为每个领域选择代表性文件,跨 55–95 个分析类别提取模式。对于大型项目,Pass 1 会运行多次——每个领域组一次。在多栈项目中(如 Java 后端 + React 前端),后端和前端使用 **各自专用的分析提示**。
340
-
341
- **Pass 2** 将所有 Pass 1 结果合并为统一分析:通用模式(100% 共享)、多数模式(50%+ 共享)、领域特定模式、按严重度分级的反模式,以及横切关注点(命名、安全、数据库、测试、日志、性能)。
342
-
343
- **Pass 3** 基于合并后的分析生成整个文件体系。它不再读取源代码——只读分析 JSON。在多栈模式下,生成提示会合并后端和前端的目标,一次生成所有标准文档。
344
-
345
- ---
346
-
347
- ## 生成的文件结构
348
-
349
- ```
350
- your-project/
351
-
352
- ├── CLAUDE.md ← Claude Code 入口
353
-
354
- ├── .claude/
355
- └── rules/ ← Glob 触发的规则
356
- ├── 00.core/
357
- ├── 10.backend/
358
- │ ├── 20.frontend/
359
- │ ├── 30.security-db/
360
- │ ├── 40.infra/
361
- └── 50.sync/ ← 同步提醒规则
362
-
363
- ├── claudeos-core/ 主要输出目录
364
- ├── generated/ ← 分析 JSON + 动态提示
365
- ├── standard/ 编码标准(15-19 个文件)
366
- │ ├── skills/ CRUD 脚手架技能
367
- │ ├── guide/ 入门、FAQ、故障排除(9 个文件)
368
- │ ├── plan/ Master Plans(备份/恢复)
369
- │ ├── database/ 数据库 Schema、迁移指南
370
- └── mcp-guide/ MCP 服务器集成指南
371
-
372
- └── claudeos-core-tools/ 本工具包(请勿修改)
373
- ```
374
-
375
- 每个标准文件都包含 ✅ 正确示例、❌ 错误示例和规则总结表——全部基于你的实际代码模式,而非通用模板。
376
-
377
- ---
378
-
379
- ## 按项目规模自动扩展
380
-
381
- | 规模 | 领域数 | Pass 1 次数 | `claude -p` 总次数 | 预估时间 |
382
- |---|---|---|---|---|
383
- | 小型 | 1–4 | 1 | 3 | ~5分钟 |
384
- | 中型 | 5–8 | 2 | 4 | ~8分钟 |
385
- | 大型 | 916 | 3–4 | 5–6 | ~12分钟 |
386
- | 超大型 | 17+ | 5+ | 7+ | ~18分钟+ |
387
-
388
- 对于多栈项目(如 Java + React),后端和前端领域合并计数。6 个后端 + 4 个前端领域 = 10 个,按"大型"扩展。
389
-
390
- ---
391
-
392
- ## 验证工具
393
-
394
- ClaudeOS-Core 内置 5 个验证工具,生成后自动运行:
395
-
396
- ```bash
397
- # 一次运行所有检查(推荐)
398
- npx claudeos-core health
399
-
400
- # 单独命令
401
- npx claudeos-core validate # Plan ↔ 磁盘对比
402
- npx claudeos-core refresh # 磁盘 → Plan 同步
403
- npx claudeos-core restore # Plan 磁盘恢复
404
- ```
405
-
406
- | 工具 | 功能 |
407
- |---|---|
408
- | **manifest-generator** | 构建元数据 JSON(rule-manifest、sync-map、plan-manifest) |
409
- | **plan-validator** | 比较 Master Plan `<file>` 块与磁盘内容——3 种模式:check、refresh、restore |
410
- | **sync-checker** | 检测未注册文件(磁盘有但计划中没有)和孤立条目 |
411
- | **content-validator** | 验证文件质量——空文件、缺少 ✅/❌ 示例、必需章节 |
412
- | **pass-json-validator** | 验证 Pass 1–3 JSON 结构、必需键和章节完整性 |
413
-
414
- ---
415
-
416
- ## Claude Code 如何使用你的文档
417
-
418
- ClaudeOS-Core 生成的文档,Claude Code 实际读取方式如下:
419
-
420
- ### 自动读取的文件
421
-
422
- | 文件 | 时机 | 保证 |
423
- |---|---|---|
424
- | `CLAUDE.md` | 每次对话开始 | 始终 |
425
- | `.claude/rules/00.core/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
426
- | `.claude/rules/10.backend/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
427
- | `.claude/rules/30.security-db/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
428
- | `.claude/rules/40.infra/*` | 仅编辑 config/infra 文件时(范围限定 paths) | 有条件 |
429
- | `.claude/rules/50.sync/*` | 仅编辑 claudeos-core 文件时(范围限定 paths) | 有条件 |
430
-
431
- ### 通过规则引用按需读取的文件
432
-
433
- 每个规则文件底部的 `## Reference` 部分链接到对应的 standard。Claude 仅读取与当前任务相关的 standard:
434
-
435
- - `claudeos-core/standard/**` 编码模式、✅/❌ 示例、命名规范
436
- - `claudeos-core/database/**` — 数据库 schema(查询、mapper、迁移用)
437
-
438
- `00.standard-reference.md` 作为目录,用于发现没有对应规则的 standard 文件。
439
-
440
- ### 不读取的文件(节省上下文)
441
-
442
- 通过 standard-reference 规则的 `DO NOT Read` 部分明确排除:
443
-
444
- | 文件夹 | 排除原因 |
445
- |---|---|
446
- | `claudeos-core/plan/` | Master Plan 备份(~340KB)。使用 `npx claudeos-core refresh` 同步。 |
447
- | `claudeos-core/generated/` | 构建元数据 JSON。非编码参考。 |
448
- | `claudeos-core/guide/` | 面向人类的入门指南。 |
449
- | `claudeos-core/mcp-guide/` | MCP 服务器文档。非编码参考。 |
450
-
451
- ---
452
-
453
- ## 日常工作流
454
-
455
- ### 安装后
456
-
457
- ```
458
- # 像平常一样使用 Claude Code——它会自动引用你的标准:
459
- "帮我创建订单域的 CRUD"
460
- "添加用户资料更新 API"
461
- "按照项目规范重构这段代码"
462
- ```
463
-
464
- ### 手动编辑标准文件后
465
-
466
- ```bash
467
- # 编辑 standard 或 rules 文件后:
468
- npx claudeos-core refresh
469
-
470
- # 验证一切一致
471
- npx claudeos-core health
472
- ```
473
-
474
- ### 文档损坏时
475
-
476
- ```bash
477
- # 从 Master Plan 恢复一切
478
- npx claudeos-core restore
479
- ```
480
-
481
- ### CI/CD 集成
482
-
483
- ```yaml
484
- # GitHub Actions 示例
485
- - run: npx claudeos-core validate
486
- # 退出码 1 阻止 PR
487
- ```
488
-
489
- ---
490
-
491
- ## 有何不同?
492
-
493
- | | ClaudeOS-Core | Everything Claude Code (50K+ ⭐) | Harness | specs-generator | Claude `/init` |
494
- |---|---|---|---|---|---|
495
- | **Approach** | Code analyzes first, then LLM generates | Pre-built config presets | LLM designs agent teams | LLM generates spec docs | LLM writes CLAUDE.md |
496
- | **Reads your source code** | ✅ Deterministic static analysis | ❌ | ❌ | ❌ (LLM reads) | ❌ (LLM reads) |
497
- | **Stack detection** | Code confirms (ORM, DB, build tool, pkg manager) | N/A (stack-agnostic) | LLM guesses | LLM guesses | LLM guesses |
498
- | **Domain detection** | Code confirms (Java 5 patterns, Kotlin CQRS, Next.js FSD) | N/A | LLM guesses | N/A | N/A |
499
- | **Same project Same result** | Deterministic analysis | (static files) | ❌ (LLM varies) | ❌ (LLM varies) | ❌ (LLM varies) |
500
- | **Large project handling** | Domain group splitting (4 domains / 40 files per group) | N/A | No splitting | No splitting | Context window limit |
501
- | **Output** | CLAUDE.md + Rules + Standards + Skills + Guides + Plans (40-50+ files) | Agents + Skills + Commands + Hooks | Agents + Skills | 6 spec documents | CLAUDE.md (1 file) |
502
- | **Output location** | `.claude/rules/` (auto-loaded by Claude Code) | `.claude/` various | `.claude/agents/` + `.claude/skills/` | `.claude/steering/` + `specs/` | `CLAUDE.md` |
503
- | **Post-generation verification** | 5 automated validators | | | | |
504
- | **Multi-language output** | 10 languages | | | | |
505
- | **Multi-stack** | ✅ Backend + Frontend simultaneous | ❌ Stack-agnostic | ❌ | ❌ | Partial |
506
- | **Agent orchestration** | ❌ | 28 agents | 6 patterns | ❌ | ❌ |
507
-
508
- ### Key difference
509
-
510
- **Other tools give Claude "generally good instructions." ClaudeOS-Core gives Claude "instructions extracted from your actual code."**
511
-
512
- ### Complementary, not competing
513
-
514
- ClaudeOS-Core: **project-specific rules**. Other tools: **agent orchestration**.
515
- Use both together.
516
-
517
- ---
518
- ## FAQ
519
-
520
- **Q:会修改我的源代码吗?**
521
- 不会。只创建 `CLAUDE.md`、`.claude/rules/` 和 `claudeos-core/`。你的现有代码不会被修改。
522
-
523
- **Q:费用多少?**
524
- 调用 `claude -p` 3–7 次,属于 Claude Code 正常用量范围。
525
-
526
- **Q:生成的文件应该提交到 Git 吗?**
527
- 推荐提交。团队可以共享相同的 Claude Code 标准。可考虑将 `claudeos-core/generated/` 加入 `.gitignore`(分析 JSON 可重新生成)。
528
-
529
- **Q:混合栈项目怎么办(如 Java 后端 + React 前端)?**
530
- 完全支持。ClaudeOS-Core 自动检测两个栈,将领域标记为 `backend` 或 `frontend`,并为每个使用栈特定的分析提示。Pass 2 合并所有结果,Pass 3 一次生成后端和前端的标准文档。
531
-
532
- **Q:重新运行会怎样?**
533
- 如果之前的 Pass 1/2 结果存在,交互式提示让您选择:**Continue**(从中断处继续)或 **Fresh**(删除全部重新开始)。使用 `--force` 跳过提示,始终重新开始。Pass 3 始终重新运行。旧版本可从 Master Plans 恢复。
534
-
535
- **Q:NestJS 是否有专用模板,还是使用 Express 的模板?**
536
- NestJS 使用专用的 `node-nestjs` 模板,包含 NestJS 特定的分析类别:`@Module`、`@Injectable`、`@Controller` 装饰器、Guards、Pipes、Interceptors、DI 容器、CQRS 模式和 `Test.createTestingModule`。Express 项目使用独立的 `node-express` 模板。
537
-
538
- **Q:Vue / Nuxt 项目怎么样?**
539
- Vue/Nuxt 使用专用的 `vue-nuxt` 模板,覆盖 Composition API、`<script setup>`、defineProps/defineEmits、Pinia 存储、`useFetch`/`useAsyncData`、Nitro 服务器路由和 `@nuxt/test-utils`。Next.js/React 项目使用 `node-nextjs` 模板。
540
-
541
- **Q:支持 Turborepo / pnpm workspaces / Lerna 单体仓库吗?**
542
- 支持。ClaudeOS-Core 检测 `turbo.json`、`pnpm-workspace.yaml`、`lerna.json` 或 `package.json#workspaces`,并自动扫描子包的 `package.json` 文件以发现框架/ORM/数据库依赖。域扫描覆盖 `apps/*/src/` 和 `packages/*/src/` 模式。从单体仓库根目录运行。
543
-
544
- **Q:支持 Kotlin 吗?**
545
- 支持。ClaudeOS-Core 从 `build.gradle.kts` 或 `build.gradle` 中的 kotlin 插件自动检测 Kotlin。使用专用的 `kotlin-spring` 模板进行 Kotlin 特定分析(data class、sealed class、协程、扩展函数、MockK 等)。
546
-
547
- **Q:CQRS / BFF 架构呢?**
548
- 完全支持 Kotlin 多模块项目。ClaudeOS-Core 读取 `settings.gradle.kts`,从模块名检测模块类型(command、query、bff、integration),并将同一域的 Command/Query 模块分组。生成的标准包含 command controller 与 query controller 的独立规则、BFF/Feign 模式和模块间通信规范。
549
-
550
- **Q:Gradle 多模块 monorepo 呢?**
551
- ClaudeOS-Core 扫描所有子模块(`**/src/main/kotlin/**/*.kt`),不受嵌套深度限制。模块类型从命名规则推断(例如 `reservation-command-server` → 域: `reservation`,类型: `command`)。共享库(`shared-lib`、`integration-lib`)也会被检测。
552
-
553
- ---
554
-
555
- ## 模板结构
556
-
557
- ```
558
- pass-prompts/templates/
559
- ├── common/ # 共享头部/尾部
560
- ├── java-spring/ # Java / Spring Boot
561
- ├── kotlin-spring/ # Kotlin / Spring Boot(CQRS、BFF、多模块)
562
- ├── node-express/ # Node.js / Express
563
- ├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
564
- ├── node-fastify/ # Node.js / Fastify
565
- ├── node-nextjs/ # Next.js / React
566
- ├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
567
- ├── angular/ # Angular
568
- ├── python-django/ # Python / Django (DRF)
569
- └── python-fastapi/ # Python / FastAPI
570
- ```
571
-
572
- `plan-installer` 自动检测你的技术栈,然后组装类型特定的提示。NestJS 和 Vue/Nuxt 使用专门的模板,包含特定于框架的分析类别(如 NestJS 的 `@Module`/`@Injectable`/Guards,Vue 的 `<script setup>`/Pinia/useFetch)。对于多栈项目,会分别生成 `pass1-backend-prompt.md` 和 `pass1-frontend-prompt.md`,而 `pass3-prompt.md` 则合并两个栈的生成目标。
573
-
574
- ---
575
-
576
- ## Monorepo 支持
577
-
578
- ClaudeOS-Core 自动检测 JS/TS 单体仓库并扫描子包依赖。
579
-
580
- **支持的单体仓库标记**(自动检测):
581
- - `turbo.json`(Turborepo)
582
- - `pnpm-workspace.yaml`(pnpm workspaces)
583
- - `lerna.json`(Lerna
584
- - `package.json#workspaces`(npm/yarn workspaces)
585
-
586
- **从单体仓库根目录运行** — ClaudeOS-Core 读取 `apps/*/package.json` 和 `packages/*/package.json` 以发现跨子包的框架/ORM/数据库依赖:
587
-
588
- ```bash
589
- cd my-monorepo
590
- npx claudeos-core init
591
- ```
592
-
593
- **自动检测内容:**
594
- - `apps/web/package.json` 中的依赖(如 `next`, `react`)→ 前端技术栈
595
- - `apps/api/package.json` 中的依赖(如 `express`, `prisma`)→ 后端技术栈
596
- - `packages/db/package.json` 中的依赖(如 `drizzle-orm`)→ ORM/数据库
597
- - `pnpm-workspace.yaml` 中的自定义工作区路径(如 `services/*`)
598
-
599
- **域扫描也覆盖单体仓库布局:**
600
- - `apps/api/src/modules/*/` 和 `apps/api/src/*/` 用于后端域
601
- - `apps/web/app/*/`、`apps/web/src/app/*/`、`apps/web/pages/*/` 用于前端域
602
- - `packages/*/src/*/` 用于共享包域
603
-
604
- ```
605
- my-monorepo/ ← 在这里运行:npx claudeos-core init
606
- ├── turbo.json ← 自动检测为 Turborepo
607
- ├── apps/
608
- ├── web/ ← 从 apps/web/package.json 检测到 Next.js
609
- │ │ ├── app/dashboard/ ← 检测到前端域
610
- │ └── package.json { "dependencies": { "next": "^14" } }
611
- └── api/ 从 apps/api/package.json 检测到 Express
612
- ├── src/modules/users/ 检测到后端域
613
- └── package.json { "dependencies": { "express": "^4" } }
614
- ├── packages/
615
- ├── db/ ← 从 packages/db/package.json 检测到 Drizzle
616
- │ └── ui/
617
- └── package.json { "workspaces": ["apps/*", "packages/*"] }
618
- ```
619
-
620
- > **注意:** Kotlin/Java 单体仓库的多模块检测使用 `settings.gradle.kts`(参见上方 [Kotlin 多模块域检测](#kotlin-多模块域检测)),不需要 JS 单体仓库标记。
621
-
622
- ## 故障排除
623
-
624
- **"claude: command not found"** — Claude Code CLI 未安装或不在 PATH 中。参见 [Claude Code 文档](https://code.claude.com/docs/en/overview)。
625
-
626
- **"npm install failed"** — Node.js 版本可能过低,需要 v18+。
627
-
628
- **"0 domains detected"** — 你的项目结构可能不标准。请参阅[韩文文档](./README.ko.md#트러블슈팅)了解你的技术栈的检测模式。
629
-
630
- **Kotlin 项目「检测到 0 个域」** 确保根目录有 `build.gradle.kts`,源文件在 `**/src/main/kotlin/` 下。多模块项目需要 `settings.gradle.kts` 包含 `include()` 语句。单模块 Kotlin 项目(无 `settings.gradle`)也受支持——从 `src/main/kotlin/` 下的包/类结构中提取域。
631
-
632
- **「语言检测为 java 而非 kotlin」**先检查根 build 文件,再检查最多 5 个子模块 build 文件。确保至少一个包含 `kotlin("jvm")` `org.jetbrains.kotlin`。
633
-
634
- **「未检测到 CQRS」** — 架构检测依赖模块名中包含 `command` `query` 关键字。
635
-
636
- ---
637
-
638
- ## 参与贡献
639
-
640
- 欢迎贡献!最需要帮助的领域:
641
-
642
- - **新技术栈模板** — Ruby/Rails、Go/Gin、PHP/Laravel、Rust/Axum
643
- - **Monorepo 深度支持** — 独立子项目根目录、Workspace 检测
644
- - **测试覆盖**持续扩展测试套件(当前 256 项测试,覆盖全部扫描器、技术栈检测、域分组、计划解析、提示生成、CLI 选择器、单体仓库检测和验证工具)
645
-
646
- ---
647
-
648
- ## 作者
649
-
650
- **claudeos-core** 创建 — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
651
-
652
- ## 许可证
653
-
654
- ISC
1
+ # ClaudeOS-Core
2
+
3
+ **唯一一个先读取源代码、用确定性分析确认技术栈和模式、然后生成精确匹配项目的 Claude Code 规则的工具。**
4
+
5
+ ```bash
6
+ npx claudeos-core init
7
+ ```
8
+
9
+ ClaudeOS-Core 读取你的代码库,提取所有模式,生成一套完全适配 _你的_ 项目的 Standards、Rules、Skills 和 Guides。之后,当你告诉 Claude Code "创建一个订单 CRUD"时,它会生成完全符合你现有模式的代码。
10
+
11
+ [🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
12
+
13
+ ---
14
+
15
+ ## 为什么选择 ClaudeOS-Core?
16
+
17
+ > 人类描述项目 → LLM 生成文档
18
+
19
+ ClaudeOS-Core:
20
+
21
+ > 代码分析源码 → 代码构建定制提示 → LLM 生成文档 → 代码验证输出
22
+
23
+ ### 核心问题:LLM 猜测,代码确定。
24
+
25
+ 当你要求 Claude "分析这个项目"时,它会**猜测**你的技术栈、ORM、领域结构。
26
+
27
+ **ClaudeOS-Core 不猜测。** Claude Node.js:
28
+
29
+ - `build.gradle` / `package.json` / `pyproject.toml` → **confirmed**
30
+ - directory scan → **confirmed**
31
+ - Java 5 patterns, Kotlin CQRS/BFF, Next.js App Router/FSD → **classified**
32
+ - domain groups → **split**
33
+ - stack-specific prompt → **assembled**
34
+
35
+ ### 结果
36
+
37
+ 其他工具生成"一般性好的"文档。
38
+ ClaudeOS-Core 生成的文档知道你的项目使用 `ApiResponse.ok()`(而不是 `ResponseEntity.success()`),MyBatis XML 映射器位于 `src/main/resources/mybatis/mappers/`,包结构为 `com.company.module.{domain}.controller` — 因为它读了你的实际代码。
39
+
40
+ ### Before & After
41
+
42
+ **没有 ClaudeOS-Core**:
43
+ ```
44
+ ❌ JPA repository (MyBatis)
45
+ ❌ ResponseEntity.success() (ApiResponse.ok())
46
+ ❌ order/controller/ (controller/order/)
47
+ → 20 min fix per file
48
+ ```
49
+
50
+ **使用 ClaudeOS-Core 后**:
51
+ ```
52
+ ✅ MyBatis mapper + XML (build.gradle)
53
+ ✅ ApiResponse.ok() (source code)
54
+ ✅ controller/order/ (Pattern A)
55
+ → immediate match
56
+ ```
57
+
58
+ 这种差异会累积。每天10个任务 × 节省20分钟 = **每天3小时以上**。
59
+
60
+ ---
61
+
62
+ ## 支持的技术栈
63
+
64
+ | 技术栈 | 检测方式 | 分析深度 |
65
+ |---|---|---|
66
+ | **Java / Spring Boot** | `build.gradle`、`pom.xml`、5种包模式自动回退 | 10 大类,59 小项 |
67
+ | **Kotlin / Spring Boot** | `build.gradle.kts`、kotlin 插件、`settings.gradle.kts`、CQRS/BFF 自动检测 | 12 大类,95 小项 |
68
+ | **Node.js / Express** | `package.json` | 9 大类,57 小项 |
69
+ | **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 大类,68 小项 |
70
+ | **Next.js / React** | `package.json`, `next.config.*`, FSD 支持 | 9 大类,55 小项 |
71
+ | **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 大类,58 小项 |
72
+ | **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大类,55 小项 |
73
+ | **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大类,58 小项 |
74
+ | **Node.js / Fastify** | `package.json` | 10 大类,62 小项 |
75
+ | **Vite / React SPA** | `package.json`、`vite.config.*` | 9 大类,55 小项 |
76
+ | **Angular** | `package.json`、`angular.json` | 12 大类,78 小项 |
77
+
78
+ 自动检测:语言及版本、框架及版本(包括 Vite 作为 SPA 框架)、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、数据库(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、包管理器(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、架构(CQRS、BFF — 从模块名检测)、多模块结构(从 settings.gradle 检测)、单体仓库(Turborepo、pnpm-workspace、Lerna、npm/yarn workspaces)。
79
+
80
+ **你不需要指定任何内容,一切自动检测。**
81
+
82
+
83
+ ### Java 域检测(5种模式自动回退)
84
+
85
+ | 优先级 | 模式 | 结构 | 示例 |
86
+ |---|---|---|---|
87
+ | A | 层优先 | `controller/{domain}/` | `controller/user/UserController.java` |
88
+ | B | 域优先 | `{domain}/controller/` | `user/controller/UserController.java` |
89
+ | D | 模块前缀 | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
90
+ | E | DDD/六角形 | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
91
+ | C | 扁平 | `controller/*.java` | `controller/UserController.java` → 从类名提取 `user` |
92
+
93
+ 无 Controller 的纯 Service 域也会通过 `service/`、`dao/`、`aggregator/`、`facade/`、`usecase/`、`orchestrator/`、`mapper/`、`repository/` 目录被检测。跳过:`common`、`config`、`util`、`core`、`front`、`admin`、`v1`、`v2` 等。
94
+
95
+
96
+ ### Kotlin 多模块域检测
97
+
98
+ 适用于 Gradle 多模块结构的 Kotlin 项目(如 CQRS 单体仓库):
99
+
100
+ | 步骤 | 操作 | 示例 |
101
+ |---|---|---|
102
+ | 1 | 扫描 `settings.gradle.kts` 中的 `include()` | 发现 14 个模块 |
103
+ | 2 | 从模块名检测类型 | `reservation-command-server` → type: `command` |
104
+ | 3 | 从模块名提取域 | `reservation-command-server` domain: `reservation` |
105
+ | 4 | 跨模块合并相同域 | `reservation-command-server` + `common-query-server` → 1 个域 |
106
+ | 5 | 检测架构 | 有 `command` + `query` 模块 → CQRS |
107
+
108
+ 支持的模块类型:`command`、`query`、`bff`、`integration`、`standalone`、`library`。共享库(`shared-lib`、`integration-lib`)作为特殊域检测。
109
+
110
+ ### 前端域检测
111
+
112
+ - **App Router**:`app/{domain}/page.tsx`(Next.js)
113
+ - **Pages Router**:`pages/{domain}/index.tsx`
114
+ - **FSD(功能切片设计)**:`features/*/`、`widgets/*/`、`entities/*/`
115
+ - **RSC/Client 分离**:检测 `client.tsx` 模式,追踪服务端/客户端组件分离
116
+ - **非标准嵌套路径**:检测 `src/*/pages/`、`src/*/components/`、`src/*/features/` 下的页面、组件和 FSD 层(例如 `src/admin/pages/dashboard/`)
117
+ - **配置文件回退**:从配置文件检测 Next.js/Vite/Nuxt(monorepo 支持)
118
+ - **深层目录回退**:React/CRA/Vite/Vue/RN 项目扫描任意深度的 `**/components/*/`、`**/views/*/`、`**/screens/*/`、`**/containers/*/`、`**/pages/*/`、`**/routes/*/`、`**/modules/*/`、`**/domains/*/`
119
+
120
+ ---
121
+
122
+ ## 快速开始
123
+
124
+ ### 前提条件
125
+
126
+ - **Node.js** v18+
127
+ - **Claude Code CLI**(已安装并认证)
128
+
129
+ ### 安装
130
+
131
+ ```bash
132
+ cd /your/project/root
133
+
134
+ # 方式 A:npx(推荐 — 无需安装)
135
+ npx claudeos-core init
136
+
137
+ # 方式 B:全局安装
138
+ npm install -g claudeos-core
139
+ claudeos-core init
140
+
141
+ # 方式 C:项目 devDependency
142
+ npm install --save-dev claudeos-core
143
+ npx claudeos-core init
144
+
145
+ # 方式 D:git clone(用于开发/贡献)
146
+ git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
147
+
148
+ # 跨平台(PowerShell、CMD、Bash、Zsh — 任何终端)
149
+ node claudeos-core-tools/bin/cli.js init
150
+
151
+ # 仅 Linux/macOS(仅 Bash)
152
+ bash claudeos-core-tools/bootstrap.sh
153
+ ```
154
+
155
+ ### 输出语言(支持 10 种语言)
156
+
157
+ 不带 `--lang` 运行 `init` 时,会显示交互选择器(支持方向键或数字键):
158
+
159
+ ```
160
+ ╔══════════════════════════════════════════════════╗
161
+ ║ Select generated document language (required) ║
162
+ ╚══════════════════════════════════════════════════╝
163
+
164
+ 生成的文件(CLAUDE.md、Standards、Rules、
165
+ Skills、Guides)将以简体中文编写。
166
+
167
+ 1. en English
168
+ 2. ko — 한국어 (Korean)
169
+ ❯ 3. zh-CN — 简体中文 (Chinese Simplified)
170
+ ...
171
+
172
+ ↑↓ Move 1-0 Jump Enter Select ESC Cancel
173
+ ```
174
+
175
+ 选择移动时说明会切换为对应语言。跳过选择器直接指定:
176
+
177
+ ```bash
178
+ npx claudeos-core init --lang zh-CN # 简体中文
179
+ npx claudeos-core init --lang en # English
180
+ npx claudeos-core init --lang ko # 한국어
181
+ ```
182
+
183
+ > **注意:** 此设置仅更改生成文档的语言。代码分析(Pass 1–2)始终以英文运行,仅生成结果(Pass 3)以所选语言编写。代码示例保持原始编程语言语法。
184
+
185
+ 就这样。5–18 分钟后,所有文档生成完毕,即可使用。CLI 会在每个 Pass 执行时显示包含百分比、经过时间和预计剩余时间的进度条。
186
+
187
+ ### 手动逐步安装
188
+
189
+ 如果您想完全控制每个阶段,或者自动管道在某个步骤失败,可以手动运行每个阶段。这也有助于理解 ClaudeOS-Core 的内部工作原理。
190
+
191
+ #### Step 1:克隆并安装依赖
192
+
193
+ ```bash
194
+ cd /your/project/root
195
+
196
+ git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
197
+ cd claudeos-core-tools && npm install && cd ..
198
+ ```
199
+
200
+ #### Step 2:创建目录结构
201
+
202
+ ```bash
203
+ # Rules
204
+ mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
205
+
206
+ # Standards
207
+ mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
208
+
209
+ # Skills
210
+ mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
211
+
212
+ # Guide, Plan, Database, MCP, Generated
213
+ mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
214
+ mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
215
+ ```
216
+
217
+ #### Step 3:运行 plan-installer(项目分析)
218
+
219
+ 扫描您的项目,检测技术栈,发现域,分组,并生成提示词。
220
+
221
+ ```bash
222
+ node claudeos-core-tools/plan-installer/index.js
223
+ ```
224
+
225
+ **输出(`claudeos-core/generated/`):**
226
+ - `project-analysis.json` — 检测到的技术栈、域、前端信息
227
+ - `domain-groups.json` — Pass 1 的域分组
228
+ - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` 分析提示词
229
+ - `pass2-prompt.md` — 合并提示词
230
+ - `pass3-prompt.md` — 生成提示词
231
+
232
+ 在继续之前,您可以检查这些文件以验证检测准确性。
233
+
234
+ #### Step 4:Pass 1 按域组深度代码分析
235
+
236
+ 为每个域组运行 Pass 1。检查 `domain-groups.json` 获取组数。
237
+
238
+ ```bash
239
+ # Check groups
240
+ cat claudeos-core/generated/domain-groups.json | node -e "
241
+ const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
242
+ g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
243
+ "
244
+
245
+ # Run Pass 1 for group 1:
246
+ cp claudeos-core/generated/pass1-backend-prompt.md /tmp/_pass1.md
247
+ DOMAIN_LIST="user, order, product" PASS_NUM=1 \
248
+ perl -pi -e 's/\{\{DOMAIN_GROUP\}\}/$ENV{DOMAIN_LIST}/g; s/\{\{PASS_NUM\}\}/$ENV{PASS_NUM}/g' /tmp/_pass1.md
249
+ cat /tmp/_pass1.md | claude -p --dangerously-skip-permissions
250
+
251
+ # 前端分组请使用 pass1-frontend-prompt.md
252
+ ```
253
+
254
+ **验证:** `ls claudeos-core/generated/pass1-*.json` 应显示每组一个 JSON。
255
+
256
+ #### Step 5:Pass 2 — 合并分析结果
257
+
258
+ ```bash
259
+ cat claudeos-core/generated/pass2-prompt.md \
260
+ | claude -p --dangerously-skip-permissions
261
+ ```
262
+
263
+ **验证:** `claudeos-core/generated/pass2-merged.json` 应存在且包含 9 个以上顶层键。
264
+
265
+ #### Step 6:Pass 3 — 生成所有文档
266
+
267
+ ```bash
268
+ cat claudeos-core/generated/pass3-prompt.md \
269
+ | claude -p --dangerously-skip-permissions
270
+ ```
271
+
272
+ **验证:** 项目根目录应存在 `CLAUDE.md`。
273
+
274
+ #### Step 7:运行验证工具
275
+
276
+ ```bash
277
+ # 生成元数据(其他检查前必须运行)
278
+ node claudeos-core-tools/manifest-generator/index.js
279
+
280
+ # 运行全部检查
281
+ node claudeos-core-tools/health-checker/index.js
282
+
283
+ # 或运行单独检查:
284
+ node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
285
+ node claudeos-core-tools/sync-checker/index.js # Sync status
286
+ node claudeos-core-tools/content-validator/index.js # Content quality
287
+ node claudeos-core-tools/pass-json-validator/index.js # JSON format
288
+ ```
289
+
290
+ #### Step 8:验证结果
291
+
292
+ ```bash
293
+ find .claude claudeos-core -type f | grep -v node_modules | grep -v '/generated/' | wc -l
294
+ head -30 CLAUDE.md
295
+ ls .claude/rules/*/
296
+ ```
297
+
298
+ > **提示:** 如果某个步骤失败,可以仅重新运行该步骤。Pass 1/2 结果会被缓存 — 如果 `pass1-N.json` 或 `pass2-merged.json` 已存在,自动管道会跳过。使用 `npx claudeos-core init --force` 删除之前的结果并重新开始。
299
+
300
+ ### 开始使用
301
+
302
+ ```
303
+ # 在 Claude Code 中直接用自然语言:
304
+ "帮我创建订单域的 CRUD"
305
+ "添加用户认证 API"
306
+ "按照项目规范重构这段代码"
307
+
308
+ # Claude Code 会自动引用生成的 Standards、Rules 和 Skills。
309
+ ```
310
+
311
+ ---
312
+
313
+ ## 工作原理 — 3-Pass 流水线
314
+
315
+ ```
316
+ npx claudeos-core init
317
+
318
+ ├── [1] npm install 安装依赖(~10秒)
319
+ ├── [2] 创建目录结构 ← 创建文件夹(~1秒)
320
+ ├── [3] plan-installer (Node.js) ← 项目扫描(~5秒)
321
+ │ ├── 自动检测技术栈(支持多栈)
322
+ ├── 提取领域列表(标记:backend/frontend)
323
+ ├── 按类型分割领域组
324
+ └── 选择栈特定的提示词(按类型)
325
+
326
+ ├── [4] Pass 1 × N (claude -p) ← 代码深度分析(~2-8分钟)
327
+ ├── ⚙️ 后端组 → 后端专用分析提示
328
+ │ └── 🎨 前端组 前端专用分析提示
329
+
330
+ ├── [5] Pass 2 × 1 (claude -p) ← 合并分析结果(~1分钟)
331
+ │ └── 整合所有 Pass 1 结果(后端 + 前端)
332
+
333
+ ├── [6] Pass 3 × 1 (claude -p) ← 生成全部文件(~3-5分钟)
334
+ └── 合并提示(后端 + 前端目标)
335
+
336
+ └── [7] 验证 ← 自动运行健康检查
337
+ ```
338
+
339
+ ### 为什么是 3 Pass
340
+
341
+ **Pass 1** 是唯一读取源代码的阶段。它为每个领域选择代表性文件,跨 55–95 个分析类别提取模式。对于大型项目,Pass 1 会运行多次——每个领域组一次。在多栈项目中(如 Java 后端 + React 前端),后端和前端使用 **各自专用的分析提示**。
342
+
343
+ **Pass 2** 将所有 Pass 1 结果合并为统一分析:通用模式(100% 共享)、多数模式(50%+ 共享)、领域特定模式、按严重度分级的反模式,以及横切关注点(命名、安全、数据库、测试、日志、性能)。
344
+
345
+ **Pass 3** 基于合并后的分析生成整个文件体系。它不再读取源代码——只读分析 JSON。在多栈模式下,生成提示会合并后端和前端的目标,一次生成所有标准文档。
346
+
347
+ ---
348
+
349
+ ## 生成的文件结构
350
+
351
+ ```
352
+ your-project/
353
+
354
+ ├── CLAUDE.md ← Claude Code 入口
355
+
356
+ ├── .claude/
357
+ └── rules/ ← Glob 触发的规则
358
+ │ ├── 00.core/
359
+ │ ├── 10.backend/
360
+ │ ├── 20.frontend/
361
+ ├── 30.security-db/
362
+ ├── 40.infra/
363
+ │ └── 50.sync/ 同步提醒规则
364
+
365
+ ├── claudeos-core/ 主要输出目录
366
+ │ ├── generated/ 分析 JSON + 动态提示
367
+ │ ├── standard/ 编码标准(15-19 个文件)
368
+ │ ├── skills/ CRUD 脚手架技能
369
+ │ ├── guide/ 入门、FAQ、故障排除(9 个文件)
370
+ ├── plan/ Master Plans(备份/恢复)
371
+ ├── database/ ← 数据库 Schema、迁移指南
372
+ └── mcp-guide/ MCP 服务器集成指南
373
+
374
+ └── claudeos-core-tools/ ← 本工具包(请勿修改)
375
+ ```
376
+
377
+ 每个标准文件都包含 ✅ 正确示例、❌ 错误示例和规则总结表——全部基于你的实际代码模式,而非通用模板。
378
+
379
+ ---
380
+
381
+ ## 按项目规模自动扩展
382
+
383
+ | 规模 | 领域数 | Pass 1 次数 | `claude -p` 总次数 | 预估时间 |
384
+ |---|---|---|---|---|
385
+ | 小型 | 14 | 1 | 3 | ~5分钟 |
386
+ | 中型 | 5–8 | 2 | 4 | ~8分钟 |
387
+ | 大型 | 9–16 | 3–4 | 5–6 | ~12分钟 |
388
+ | 超大型 | 17+ | 5+ | 7+ | ~18分钟+ |
389
+
390
+ 对于多栈项目(如 Java + React),后端和前端领域合并计数。6 个后端 + 4 个前端领域 = 共 10 个,按"大型"扩展。
391
+
392
+ ---
393
+
394
+ ## 验证工具
395
+
396
+ ClaudeOS-Core 内置 5 个验证工具,生成后自动运行:
397
+
398
+ ```bash
399
+ # 一次运行所有检查(推荐)
400
+ npx claudeos-core health
401
+
402
+ # 单独命令
403
+ npx claudeos-core validate # Plan 磁盘对比
404
+ npx claudeos-core refresh # 磁盘 → Plan 同步
405
+ npx claudeos-core restore # Plan → 磁盘恢复
406
+ ```
407
+
408
+ | 工具 | 功能 |
409
+ |---|---|
410
+ | **manifest-generator** | 构建元数据 JSON(rule-manifest、sync-map、plan-manifest) |
411
+ | **plan-validator** | 比较 Master Plan `<file>` 块与磁盘内容——3 种模式:check、refresh、restore |
412
+ | **sync-checker** | 检测未注册文件(磁盘有但计划中没有)和孤立条目 |
413
+ | **content-validator** | 验证文件质量——空文件、缺少 ✅/❌ 示例、必需章节 |
414
+ | **pass-json-validator** | 验证 Pass 1–3 JSON 结构、必需键和章节完整性 |
415
+
416
+ ---
417
+
418
+ ## Claude Code 如何使用你的文档
419
+
420
+ ClaudeOS-Core 生成的文档,Claude Code 实际读取方式如下:
421
+
422
+ ### 自动读取的文件
423
+
424
+ | 文件 | 时机 | 保证 |
425
+ |---|---|---|
426
+ | `CLAUDE.md` | 每次对话开始 | 始终 |
427
+ | `.claude/rules/00.core/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
428
+ | `.claude/rules/10.backend/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
429
+ | `.claude/rules/30.security-db/*` | 编辑文件时(`paths: ["**/*"]`) | 始终 |
430
+ | `.claude/rules/40.infra/*` | 仅编辑 config/infra 文件时(范围限定 paths) | 有条件 |
431
+ | `.claude/rules/50.sync/*` | 仅编辑 claudeos-core 文件时(范围限定 paths) | 有条件 |
432
+
433
+ ### 通过规则引用按需读取的文件
434
+
435
+ 每个规则文件底部的 `## Reference` 部分链接到对应的 standard。Claude 仅读取与当前任务相关的 standard:
436
+
437
+ - `claudeos-core/standard/**` — 编码模式、✅/❌ 示例、命名规范
438
+ - `claudeos-core/database/**` 数据库 schema(查询、mapper、迁移用)
439
+
440
+ `00.standard-reference.md` 作为目录,用于发现没有对应规则的 standard 文件。
441
+
442
+ ### 不读取的文件(节省上下文)
443
+
444
+ 通过 standard-reference 规则的 `DO NOT Read` 部分明确排除:
445
+
446
+ | 文件夹 | 排除原因 |
447
+ |---|---|
448
+ | `claudeos-core/plan/` | Master Plan 备份(~340KB)。使用 `npx claudeos-core refresh` 同步。 |
449
+ | `claudeos-core/generated/` | 构建元数据 JSON。非编码参考。 |
450
+ | `claudeos-core/guide/` | 面向人类的入门指南。 |
451
+ | `claudeos-core/mcp-guide/` | MCP 服务器文档。非编码参考。 |
452
+
453
+ ---
454
+
455
+ ## 日常工作流
456
+
457
+ ### 安装后
458
+
459
+ ```
460
+ # 像平常一样使用 Claude Code——它会自动引用你的标准:
461
+ "帮我创建订单域的 CRUD"
462
+ "添加用户资料更新 API"
463
+ "按照项目规范重构这段代码"
464
+ ```
465
+
466
+ ### 手动编辑标准文件后
467
+
468
+ ```bash
469
+ # 编辑 standard 或 rules 文件后:
470
+ npx claudeos-core refresh
471
+
472
+ # 验证一切一致
473
+ npx claudeos-core health
474
+ ```
475
+
476
+ ### 文档损坏时
477
+
478
+ ```bash
479
+ # 从 Master Plan 恢复一切
480
+ npx claudeos-core restore
481
+ ```
482
+
483
+ ### CI/CD 集成
484
+
485
+ ```yaml
486
+ # GitHub Actions 示例
487
+ - run: npx claudeos-core validate
488
+ # 退出码 1 阻止 PR
489
+ ```
490
+
491
+ ---
492
+
493
+ ## 有何不同?
494
+
495
+ | | ClaudeOS-Core | Everything Claude Code (50K+ ⭐) | Harness | specs-generator | Claude `/init` |
496
+ |---|---|---|---|---|---|
497
+ | **Approach** | Code analyzes first, then LLM generates | Pre-built config presets | LLM designs agent teams | LLM generates spec docs | LLM writes CLAUDE.md |
498
+ | **Reads your source code** | Deterministic static analysis | | | (LLM reads) | (LLM reads) |
499
+ | **Stack detection** | Code confirms (ORM, DB, build tool, pkg manager) | N/A (stack-agnostic) | LLM guesses | LLM guesses | LLM guesses |
500
+ | **Domain detection** | Code confirms (Java 5 patterns, Kotlin CQRS, Next.js FSD) | N/A | LLM guesses | N/A | N/A |
501
+ | **Same project Same result** | Deterministic analysis | (static files) | (LLM varies) | (LLM varies) | (LLM varies) |
502
+ | **Large project handling** | Domain group splitting (4 domains / 40 files per group) | N/A | No splitting | No splitting | Context window limit |
503
+ | **Output** | CLAUDE.md + Rules + Standards + Skills + Guides + Plans (40-50+ files) | Agents + Skills + Commands + Hooks | Agents + Skills | 6 spec documents | CLAUDE.md (1 file) |
504
+ | **Output location** | `.claude/rules/` (auto-loaded by Claude Code) | `.claude/` various | `.claude/agents/` + `.claude/skills/` | `.claude/steering/` + `specs/` | `CLAUDE.md` |
505
+ | **Post-generation verification** | ✅ 5 automated validators | ❌ | ❌ | ❌ | |
506
+ | **Multi-language output** | ✅ 10 languages | | | ❌ | ❌ |
507
+ | **Multi-stack** | ✅ Backend + Frontend simultaneous | ❌ Stack-agnostic | ❌ | ❌ | Partial |
508
+ | **Agent orchestration** | ❌ | ✅ 28 agents | ✅ 6 patterns | ❌ | ❌ |
509
+
510
+ ### Key difference
511
+
512
+ **Other tools give Claude "generally good instructions." ClaudeOS-Core gives Claude "instructions extracted from your actual code."**
513
+
514
+ ### Complementary, not competing
515
+
516
+ ClaudeOS-Core: **project-specific rules**. Other tools: **agent orchestration**.
517
+ Use both together.
518
+
519
+ ---
520
+ ## FAQ
521
+
522
+ **Q:会修改我的源代码吗?**
523
+ 不会。只创建 `CLAUDE.md`、`.claude/rules/` 和 `claudeos-core/`。你的现有代码不会被修改。
524
+
525
+ **Q:费用多少?**
526
+ 调用 `claude -p` 3–7 次,属于 Claude Code 正常用量范围。
527
+
528
+ **Q:生成的文件应该提交到 Git 吗?**
529
+ 推荐提交。团队可以共享相同的 Claude Code 标准。可考虑将 `claudeos-core/generated/` 加入 `.gitignore`(分析 JSON 可重新生成)。
530
+
531
+ **Q:混合栈项目怎么办(如 Java 后端 + React 前端)?**
532
+ 完全支持。ClaudeOS-Core 自动检测两个栈,将领域标记为 `backend` 或 `frontend`,并为每个使用栈特定的分析提示。Pass 2 合并所有结果,Pass 3 一次生成后端和前端的标准文档。
533
+
534
+ **Q:重新运行会怎样?**
535
+ 如果之前的 Pass 1/2 结果存在,交互式提示让您选择:**Continue**(从中断处继续)或 **Fresh**(删除全部重新开始)。使用 `--force` 跳过提示,始终重新开始。Pass 3 始终重新运行。旧版本可从 Master Plans 恢复。
536
+
537
+ **Q:NestJS 是否有专用模板,还是使用 Express 的模板?**
538
+ NestJS 使用专用的 `node-nestjs` 模板,包含 NestJS 特定的分析类别:`@Module`、`@Injectable`、`@Controller` 装饰器、Guards、Pipes、Interceptors、DI 容器、CQRS 模式和 `Test.createTestingModule`。Express 项目使用独立的 `node-express` 模板。
539
+
540
+ **Q:Vue / Nuxt 项目怎么样?**
541
+ Vue/Nuxt 使用专用的 `vue-nuxt` 模板,覆盖 Composition API、`<script setup>`、defineProps/defineEmits、Pinia 存储、`useFetch`/`useAsyncData`、Nitro 服务器路由和 `@nuxt/test-utils`。Next.js/React 项目使用 `node-nextjs` 模板。
542
+
543
+ **Q:支持 Turborepo / pnpm workspaces / Lerna 单体仓库吗?**
544
+ 支持。ClaudeOS-Core 检测 `turbo.json`、`pnpm-workspace.yaml`、`lerna.json` 或 `package.json#workspaces`,并自动扫描子包的 `package.json` 文件以发现框架/ORM/数据库依赖。域扫描覆盖 `apps/*/src/` 和 `packages/*/src/` 模式。从单体仓库根目录运行。
545
+
546
+ **Q:支持 Kotlin 吗?**
547
+ 支持。ClaudeOS-Core `build.gradle.kts` 或 `build.gradle` 中的 kotlin 插件自动检测 Kotlin。使用专用的 `kotlin-spring` 模板进行 Kotlin 特定分析(data class、sealed class、协程、扩展函数、MockK 等)。
548
+
549
+ **Q:CQRS / BFF 架构呢?**
550
+ 完全支持 Kotlin 多模块项目。ClaudeOS-Core 读取 `settings.gradle.kts`,从模块名检测模块类型(command、query、bff、integration),并将同一域的 Command/Query 模块分组。生成的标准包含 command controller 与 query controller 的独立规则、BFF/Feign 模式和模块间通信规范。
551
+
552
+ **Q:Gradle 多模块 monorepo 呢?**
553
+ ClaudeOS-Core 扫描所有子模块(`**/src/main/kotlin/**/*.kt`),不受嵌套深度限制。模块类型从命名规则推断(例如 `reservation-command-server` → 域: `reservation`,类型: `command`)。共享库(`shared-lib`、`integration-lib`)也会被检测。
554
+
555
+ ---
556
+
557
+ ## 模板结构
558
+
559
+ ```
560
+ pass-prompts/templates/
561
+ ├── common/ # 共享头部/尾部
562
+ ├── java-spring/ # Java / Spring Boot
563
+ ├── kotlin-spring/ # Kotlin / Spring Boot(CQRS、BFF、多模块)
564
+ ├── node-express/ # Node.js / Express
565
+ ├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
566
+ ├── node-fastify/ # Node.js / Fastify
567
+ ├── node-nextjs/ # Next.js / React
568
+ ├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
569
+ ├── angular/ # Angular
570
+ ├── python-django/ # Python / Django (DRF)
571
+ └── python-fastapi/ # Python / FastAPI
572
+ ```
573
+
574
+ `plan-installer` 自动检测你的技术栈,然后组装类型特定的提示。NestJS 和 Vue/Nuxt 使用专门的模板,包含特定于框架的分析类别(如 NestJS 的 `@Module`/`@Injectable`/Guards,Vue 的 `<script setup>`/Pinia/useFetch)。对于多栈项目,会分别生成 `pass1-backend-prompt.md` 和 `pass1-frontend-prompt.md`,而 `pass3-prompt.md` 则合并两个栈的生成目标。
575
+
576
+ ---
577
+
578
+ ## Monorepo 支持
579
+
580
+ ClaudeOS-Core 自动检测 JS/TS 单体仓库并扫描子包依赖。
581
+
582
+ **支持的单体仓库标记**(自动检测):
583
+ - `turbo.json`(Turborepo
584
+ - `pnpm-workspace.yaml`(pnpm workspaces)
585
+ - `lerna.json`(Lerna)
586
+ - `package.json#workspaces`(npm/yarn workspaces)
587
+
588
+ **从单体仓库根目录运行** — ClaudeOS-Core 读取 `apps/*/package.json` 和 `packages/*/package.json` 以发现跨子包的框架/ORM/数据库依赖:
589
+
590
+ ```bash
591
+ cd my-monorepo
592
+ npx claudeos-core init
593
+ ```
594
+
595
+ **自动检测内容:**
596
+ - `apps/web/package.json` 中的依赖(如 `next`, `react`)→ 前端技术栈
597
+ - `apps/api/package.json` 中的依赖(如 `express`, `prisma`)→ 后端技术栈
598
+ - `packages/db/package.json` 中的依赖(如 `drizzle-orm`)→ ORM/数据库
599
+ - `pnpm-workspace.yaml` 中的自定义工作区路径(如 `services/*`)
600
+
601
+ **域扫描也覆盖单体仓库布局:**
602
+ - `apps/api/src/modules/*/` 和 `apps/api/src/*/` 用于后端域
603
+ - `apps/web/app/*/`、`apps/web/src/app/*/`、`apps/web/pages/*/` 用于前端域
604
+ - `packages/*/src/*/` 用于共享包域
605
+
606
+ ```
607
+ my-monorepo/ ← 在这里运行:npx claudeos-core init
608
+ ├── turbo.json 自动检测为 Turborepo
609
+ ├── apps/
610
+ ├── web/ ← 从 apps/web/package.json 检测到 Next.js
611
+ │ ├── app/dashboard/ 检测到前端域
612
+ │ └── package.json { "dependencies": { "next": "^14" } }
613
+ └── api/ ← 从 apps/api/package.json 检测到 Express
614
+ ├── src/modules/users/ ← 检测到后端域
615
+ └── package.json { "dependencies": { "express": "^4" } }
616
+ ├── packages/
617
+ │ ├── db/ ← 从 packages/db/package.json 检测到 Drizzle
618
+ │ └── ui/
619
+ └── package.json ← { "workspaces": ["apps/*", "packages/*"] }
620
+ ```
621
+
622
+ > **注意:** Kotlin/Java 单体仓库的多模块检测使用 `settings.gradle.kts`(参见上方 [Kotlin 多模块域检测](#kotlin-多模块域检测)),不需要 JS 单体仓库标记。
623
+
624
+ ## 故障排除
625
+
626
+ **"claude: command not found"** — Claude Code CLI 未安装或不在 PATH 中。参见 [Claude Code 文档](https://code.claude.com/docs/en/overview)。
627
+
628
+ **"npm install failed"** — Node.js 版本可能过低,需要 v18+。
629
+
630
+ **"0 domains detected"**你的项目结构可能不标准。请参阅[韩文文档](./README.ko.md#트러블슈팅)了解你的技术栈的检测模式。
631
+
632
+ **Kotlin 项目「检测到 0 个域」**确保根目录有 `build.gradle.kts`,源文件在 `**/src/main/kotlin/` 下。多模块项目需要 `settings.gradle.kts` 包含 `include()` 语句。单模块 Kotlin 项目(无 `settings.gradle`)也受支持——从 `src/main/kotlin/` 下的包/类结构中提取域。
633
+
634
+ **「语言检测为 java 而非 kotlin」** — 先检查根 build 文件,再检查最多 5 个子模块 build 文件。确保至少一个包含 `kotlin("jvm")` `org.jetbrains.kotlin`。
635
+
636
+ **「未检测到 CQRS」** — 架构检测依赖模块名中包含 `command` 和 `query` 关键字。
637
+
638
+ ---
639
+
640
+ ## 参与贡献
641
+
642
+ 欢迎贡献!最需要帮助的领域:
643
+
644
+ - **新技术栈模板**Ruby/Rails、Go/Gin、PHP/Laravel、Rust/Axum
645
+ - **Monorepo 深度支持** — 独立子项目根目录、Workspace 检测
646
+ - **测试覆盖** — 持续扩展测试套件(当前 269 项测试,覆盖全部扫描器、技术栈检测、域分组、计划解析、提示生成、CLI 选择器、单体仓库检测、验证工具和 Vite SPA 检测)
647
+
648
+ ---
649
+
650
+ ## 作者
651
+
652
+ **claudeos-core** 创建 — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
653
+
654
+ ## 许可证
655
+
656
+ ISC