claudeos-core 1.0.7 → 1.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.

Potentially problematic release.


This version of claudeos-core might be problematic. Click here for more details.

Files changed (44) hide show
  1. package/CHANGELOG.md +84 -1
  2. package/CONTRIBUTING.md +15 -4
  3. package/README.de.md +187 -11
  4. package/README.es.md +187 -11
  5. package/README.fr.md +187 -11
  6. package/README.hi.md +187 -11
  7. package/README.ja.md +186 -10
  8. package/README.ko.md +331 -364
  9. package/README.md +200 -11
  10. package/README.ru.md +187 -11
  11. package/README.vi.md +188 -12
  12. package/README.zh-CN.md +186 -10
  13. package/bin/cli.js +183 -61
  14. package/bootstrap.sh +128 -21
  15. package/content-validator/index.js +131 -60
  16. package/health-checker/index.js +29 -23
  17. package/import-linter/index.js +14 -8
  18. package/manifest-generator/index.js +26 -20
  19. package/package.json +84 -75
  20. package/pass-json-validator/index.js +92 -70
  21. package/pass-prompts/templates/common/header.md +4 -4
  22. package/pass-prompts/templates/common/lang-instructions.json +27 -0
  23. package/pass-prompts/templates/common/pass3-footer.md +2 -3
  24. package/pass-prompts/templates/java-spring/pass1.md +84 -81
  25. package/pass-prompts/templates/java-spring/pass2.md +66 -66
  26. package/pass-prompts/templates/java-spring/pass3.md +60 -60
  27. package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
  28. package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
  29. package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
  30. package/pass-prompts/templates/node-express/pass1.md +73 -73
  31. package/pass-prompts/templates/node-express/pass2.md +66 -66
  32. package/pass-prompts/templates/node-express/pass3.md +53 -53
  33. package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
  34. package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
  35. package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
  36. package/pass-prompts/templates/python-django/pass1.md +78 -78
  37. package/pass-prompts/templates/python-django/pass2.md +69 -69
  38. package/pass-prompts/templates/python-django/pass3.md +45 -45
  39. package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
  40. package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
  41. package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
  42. package/plan-installer/index.js +623 -97
  43. package/plan-validator/index.js +54 -23
  44. package/sync-checker/index.js +25 -14
package/README.vi.md CHANGED
@@ -8,7 +8,7 @@ npx claudeos-core init
8
8
 
9
9
  ClaudeOS-Core đọc codebase của bạn, trích xuất mọi pattern tìm thấy và tạo ra bộ Standards, Rules, Skills và Guides hoàn chỉnh được tùy chỉnh cho _dự án của bạn_. Sau đó, khi bạn nói với Claude Code "Tạo CRUD cho đơn hàng", nó sẽ tạo ra code khớp chính xác với các pattern hiện có của bạn.
10
10
 
11
- [🇺🇸 English](./README.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md) · [🇰🇷 한국어](./README.ko.md)
11
+ [🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
12
12
 
13
13
  ---
14
14
 
@@ -22,7 +22,7 @@ ClaudeOS-Core tự động hóa toàn bộ quy trình:
22
22
 
23
23
  1. **Quét** dự án — tự động phát hiện stack, domain, ORM, database, package manager
24
24
  2. **Phân tích chuyên sâu** mã nguồn — controller patterns, service layers, quy ước đặt tên, xử lý lỗi, bảo mật, testing và hơn 50 danh mục
25
- 3. **Tạo** hệ sinh thái tài liệu hoàn chỉnh — `CLAUDE.md`, Standards (15–17 file), Rules, Skills, Guides (9 file), Master Plans, tài liệu DB và hướng dẫn MCP
25
+ 3. **Tạo** hệ sinh thái tài liệu hoàn chỉnh — `CLAUDE.md`, Standards (15–19 file), Rules, Skills, Guides (9 file), Master Plans, tài liệu DB và hướng dẫn MCP
26
26
  4. **Xác thực** mọi thứ — 6 công cụ kiểm tra tích hợp đảm bảo tính nhất quán
27
27
 
28
28
  Tổng thời gian: **5–18 phút**, tùy thuộc vào quy mô dự án. Không cần cấu hình thủ công.
@@ -33,16 +33,53 @@ Tổng thời gian: **5–18 phút**, tùy thuộc vào quy mô dự án. Không
33
33
 
34
34
  | Stack | Phát Hiện | Độ Sâu Phân Tích |
35
35
  |---|---|---|
36
- | **Java / Spring Boot** | `build.gradle`, `pom.xml` | 10 danh mục, 59 mục con |
36
+ | **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 package patterns | 10 danh mục, 59 mục con |
37
+ | **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 danh mục, 95 mục con |
37
38
  | **Node.js / Express / NestJS** | `package.json` | 9 danh mục, 57 mục con |
38
- | **Next.js / React / Vue** | `package.json` (next, react, vue) | 9 danh mục, 55 mục con |
39
+ | **Next.js / React / Vue** | `package.json`, `next.config.*`, hỗ trợ FSD | 9 danh mục, 55 mục con |
39
40
  | **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 danh mục, 55 mục con |
40
41
  | **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 danh mục, 58 mục con |
41
42
 
42
- Tự động phát hiện: ngôn ngữ & phiên bản, framework & phiên bản, ORM (MyBatis, JPA, Prisma, TypeORM, SQLAlchemy, v.v.), database (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), package manager (Gradle, Maven, npm, yarn, pnpm, pip, poetry).
43
+ Tự động phát hiện: ngôn ngữ & phiên bản, framework & phiên bản, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, v.v.), database (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), package manager (Gradle, Maven, npm, yarn, pnpm, pip, poetry), kiến trúc (CQRS, BFF — phát hiện từ tên module), cấu trúc multi-module (từ settings.gradle).
43
44
 
44
45
  **Bạn không cần chỉ định gì cả. Tất cả được phát hiện tự động.**
45
46
 
47
+
48
+ ### Phát Hiện Domain Java (5 pattern với fallback)
49
+
50
+ | Ưu tiên | Pattern | Cấu trúc | Ví dụ |
51
+ |---|---|---|---|
52
+ | A | Layer trước | `controller/{domain}/` | `controller/user/UserController.java` |
53
+ | B | Domain trước | `{domain}/controller/` | `user/controller/UserController.java` |
54
+ | D | Module prefix | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
55
+ | E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
56
+ | C | Phẳng | `controller/*.java` | `controller/UserController.java` → trích `user` từ tên class |
57
+
58
+ Các domain chỉ có service (không có controller) cũng được phát hiện. Bỏ qua: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2`, v.v.
59
+
60
+
61
+ ### Phát Hiện Domain Kotlin Multi-Module
62
+
63
+ Dành cho dự án Kotlin với cấu trúc Gradle multi-module (ví dụ: CQRS monorepo):
64
+
65
+ | Bước | Hành Động | Ví Dụ |
66
+ |---|---|---|
67
+ | 1 | Quét `settings.gradle.kts` tìm `include()` | Tìm thấy 14 module |
68
+ | 2 | Phát hiện loại module từ tên | `reservation-command-server` → type: `command` |
69
+ | 3 | Trích xuất domain từ tên module | `reservation-command-server` → domain: `reservation` |
70
+ | 4 | Nhóm cùng domain qua các module | `reservation-command-server` + `common-query-server` → 1 domain |
71
+ | 5 | Phát hiện kiến trúc | Có module `command` + `query` → CQRS |
72
+
73
+ Loại module hỗ trợ: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Thư viện chia sẻ (`shared-lib`, `integration-lib`) được phát hiện như domain đặc biệt.
74
+
75
+ ### Phát Hiện Domain Frontend
76
+
77
+ - **App Router**: `app/{domain}/page.tsx` (Next.js)
78
+ - **Pages Router**: `pages/{domain}/index.tsx`
79
+ - **FSD (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
80
+ - **RSC/Client split**: Phát hiện pattern `client.tsx`, theo dõi tách Server/Client
81
+ - **Config fallback**: Phát hiện Next.js/Vite/Nuxt từ file config (hỗ trợ monorepo)
82
+
46
83
  ---
47
84
 
48
85
  ## Bắt Đầu Nhanh
@@ -57,15 +94,137 @@ Tự động phát hiện: ngôn ngữ & phiên bản, framework & phiên bản,
57
94
  ```bash
58
95
  cd /your/project/root
59
96
 
60
- # Cách A: npx (khuyến nghị)
97
+ # Cách A: npx (khuyến nghị — không cần cài đặt)
61
98
  npx claudeos-core init
62
99
 
63
- # Cách B: git clone (cho phát triển/đóng góp)
100
+ # Cách B: cài đặt global
101
+ npm install -g claudeos-core
102
+ claudeos-core init
103
+
104
+ # Cách C: devDependency của dự án
105
+ npm install --save-dev claudeos-core
106
+ npx claudeos-core init
107
+
108
+ # Cách D: git clone (cho phát triển/đóng góp)
64
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
65
110
  bash claudeos-core-tools/bootstrap.sh
66
111
  ```
67
112
 
68
- Vậy xong. Sau 5–18 phút, toàn bộ tài liệu được tạo và sẵn sàng sử dụng.
113
+ Chỉ vậy thôi. Sau 5–18 phút, tất cả tài liệu được tạo và sẵn sàng sử dụng.
114
+
115
+ ### Cài Đặt Thủ Công Từng Bước
116
+
117
+ Nếu bạn muốn kiểm soát hoàn toàn từng giai đoạn — hoặc nếu pipeline tự động thất bại ở bước nào đó — bạn có thể chạy từng bước thủ công. Điều này cũng hữu ích để hiểu cách ClaudeOS-Core hoạt động bên trong.
118
+
119
+ #### Step 1: Clone và cài đặt dependencies
120
+
121
+ ```bash
122
+ cd /your/project/root
123
+
124
+ git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
125
+ cd claudeos-core-tools && npm install && cd ..
126
+ ```
127
+
128
+ #### Step 2: Tạo cấu trúc thư mục
129
+
130
+ ```bash
131
+ # Rules
132
+ mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
133
+
134
+ # Standards
135
+ mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
136
+
137
+ # Skills
138
+ mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
139
+
140
+ # Guide, Plan, Database, MCP, Generated
141
+ mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
142
+ mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
143
+ ```
144
+
145
+ #### Step 3: Chạy plan-installer (phân tích dự án)
146
+
147
+ Quét dự án, phát hiện stack, tìm domain, chia nhóm và tạo prompt.
148
+
149
+ ```bash
150
+ node claudeos-core-tools/plan-installer/index.js
151
+ ```
152
+
153
+ **Đầu ra (`claudeos-core/generated/`):**
154
+ - `project-analysis.json` — stack phát hiện, domain, thông tin frontend
155
+ - `domain-groups.json` — nhóm domain cho Pass 1
156
+ - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — prompt phân tích
157
+ - `pass2-prompt.md` — prompt hợp nhất
158
+ - `pass3-prompt.md` — prompt tạo
159
+
160
+ Bạn có thể kiểm tra các file này để xác minh độ chính xác phát hiện trước khi tiếp tục.
161
+
162
+ #### Step 4: Pass 1 — Phân tích code sâu theo nhóm domain
163
+
164
+ Chạy Pass 1 cho mỗi nhóm domain. Kiểm tra `domain-groups.json` để biết số nhóm.
165
+
166
+ ```bash
167
+ # Check groups
168
+ cat claudeos-core/generated/domain-groups.json | node -e "
169
+ const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
170
+ g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
171
+ "
172
+
173
+ # Run Pass 1 for group 1:
174
+ cat claudeos-core/generated/pass1-backend-prompt.md \
175
+ | sed "s/{{DOMAIN_GROUP}}/user, order, product/g" \
176
+ | sed "s/{{PASS_NUM}}/1/g" \
177
+ | claude -p --dangerously-skip-permissions
178
+
179
+ # For frontend groups, use pass1-frontend-prompt.md instead
180
+ ```
181
+
182
+ **Xác minh:** `ls claudeos-core/generated/pass1-*.json` phải hiển thị một JSON cho mỗi nhóm.
183
+
184
+ #### Step 5: Pass 2 — Hợp nhất kết quả phân tích
185
+
186
+ ```bash
187
+ cat claudeos-core/generated/pass2-prompt.md \
188
+ | claude -p --dangerously-skip-permissions
189
+ ```
190
+
191
+ **Xác minh:** `claudeos-core/generated/pass2-merged.json` phải tồn tại với 9+ key cấp cao nhất.
192
+
193
+ #### Step 6: Pass 3 — Tạo tất cả tài liệu
194
+
195
+ ```bash
196
+ cat claudeos-core/generated/pass3-prompt.md \
197
+ | claude -p --dangerously-skip-permissions
198
+ ```
199
+
200
+ **Xác minh:** `CLAUDE.md` phải tồn tại ở thư mục gốc dự án.
201
+
202
+ #### Step 7: Chạy công cụ xác thực
203
+
204
+ ```bash
205
+ # Tạo metadata (bắt buộc trước các kiểm tra khác)
206
+ node claudeos-core-tools/manifest-generator/index.js
207
+
208
+ # Chạy tất cả kiểm tra
209
+ node claudeos-core-tools/health-checker/index.js
210
+
211
+ # Hoặc chạy kiểm tra riêng lẻ:
212
+ node claudeos-core-tools/import-linter/index.js # @import validation
213
+ node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
214
+ node claudeos-core-tools/sync-checker/index.js # Sync status
215
+ node claudeos-core-tools/content-validator/index.js # Content quality
216
+ node claudeos-core-tools/pass-json-validator/index.js # JSON format
217
+ ```
218
+
219
+ #### Step 8: Xác minh kết quả
220
+
221
+ ```bash
222
+ find .claude claudeos-core -type f | grep -v node_modules | wc -l
223
+ head -30 CLAUDE.md
224
+ ls .claude/rules/*/
225
+ ```
226
+
227
+ > **Mẹo:** Nếu bước nào thất bại, bạn có thể chạy lại chỉ bước đó. Kết quả Pass 1/2 được cache — nếu `pass1-N.json` hoặc `pass2-merged.json` đã tồn tại, pipeline tự động sẽ bỏ qua. Xóa file để buộc chạy lại.
69
228
 
70
229
  ### Bắt Đầu Sử Dụng
71
230
 
@@ -108,7 +267,7 @@ npx claudeos-core init
108
267
 
109
268
  ### Tại Sao 3 Pass?
110
269
 
111
- **Pass 1** là pass duy nhất đọc mã nguồn. Nó chọn file đại diện cho mỗi domain và trích xuất pattern trên 55–59 danh mục phân tích (theo stack). Với dự án lớn, Pass 1 chạy nhiều lần — mỗi nhóm domain một lần. Trong dự án multi-stack (ví dụ: Java backend + React frontend), backend và frontend sử dụng **prompt phân tích riêng biệt** phù hợp với từng stack.
270
+ **Pass 1** là pass duy nhất đọc mã nguồn. Nó chọn file đại diện cho mỗi domain và trích xuất pattern trên 55–95 danh mục phân tích (theo stack). Với dự án lớn, Pass 1 chạy nhiều lần — mỗi nhóm domain một lần. Trong dự án multi-stack (ví dụ: Java backend + React frontend), backend và frontend sử dụng **prompt phân tích riêng biệt** phù hợp với từng stack.
112
271
 
113
272
  **Pass 2** hợp nhất tất cả kết quả Pass 1 thành phân tích thống nhất: pattern chung (100% chia sẻ), pattern đa số (50%+ chia sẻ), pattern riêng domain, anti-pattern theo mức độ nghiêm trọng và các mối quan tâm xuyên suốt (đặt tên, bảo mật, DB, testing, logging, hiệu suất).
114
273
 
@@ -134,7 +293,7 @@ your-project/
134
293
 
135
294
  ├── claudeos-core/ ← Thư mục đầu ra chính
136
295
  │ ├── generated/ ← JSON phân tích + prompt động
137
- │ ├── standard/ ← Tiêu chuẩn code (15-17 file)
296
+ │ ├── standard/ ← Tiêu chuẩn code (15-19 file)
138
297
  │ ├── skills/ ← Skills scaffolding CRUD
139
298
  │ ├── guide/ ← Onboarding, FAQ, troubleshooting (9 file)
140
299
  │ ├── plan/ ← Master Plans (backup/khôi phục)
@@ -228,9 +387,10 @@ npx claudeos-core restore
228
387
 
229
388
  | | ClaudeOS-Core | SuperClaude | CLAUDE.md Thủ Công | Skills Chung |
230
389
  |---|---|---|---|---|
231
- | **Đọc code của bạn** | ✅ Phân tích sâu (55–59 danh mục) | ❌ Tiêm hành vi | ❌ Viết thủ công | ❌ Template có sẵn |
390
+ | **Đọc code của bạn** | ✅ Phân tích sâu (55–95 danh mục) | ❌ Tiêm hành vi | ❌ Viết thủ công | ❌ Template có sẵn |
232
391
  | **Đầu ra riêng dự án** | ✅ Mọi file phản ánh pattern của bạn | ❌ Lệnh chung | Một phần | ❌ Một cỡ cho tất cả |
233
392
  | **Multi-stack** | ✅ Tự phát hiện + phân tích riêng | ❌ Không phân biệt stack | Thủ công | Không chắc |
393
+ | **Kotlin + CQRS/BFF** | ✅ Multi-module, Command/Query split | ❌ | ❌ | ❌ |
234
394
  | **Tự xác thực** | ✅ 6 công cụ validation | ❌ | ❌ | ❌ |
235
395
  | **Backup / Khôi phục** | ✅ Hệ thống Master Plan | ❌ | ❌ | ❌ |
236
396
  | **Thời gian cài đặt** | ~5–18 phút (tự động) | ~5 phút (cấu hình thủ công) | Hàng giờ–ngày | ~5 phút |
@@ -254,6 +414,15 @@ Hỗ trợ hoàn toàn. ClaudeOS-Core tự phát hiện cả hai stack, gắn ta
254
414
  **H: Chạy lại thì sao?**
255
415
  Pass 1/2 bị bỏ qua nếu JSON đã tồn tại. Pass 3 luôn chạy lại. Phiên bản trước có thể khôi phục từ Master Plans.
256
416
 
417
+ **H: Có hỗ trợ Kotlin không?**
418
+ Có. ClaudeOS-Core tự động phát hiện Kotlin từ `build.gradle.kts` hoặc kotlin plugin trong `build.gradle`. Sử dụng template chuyên dụng `kotlin-spring` để phân tích các pattern đặc thù của Kotlin (data class, sealed class, coroutine, extension function, MockK, v.v.).
419
+
420
+ **H: Kiến trúc CQRS / BFF thì sao?**
421
+ Hỗ trợ đầy đủ cho các dự án Kotlin multi-module. ClaudeOS-Core đọc `settings.gradle.kts`, phát hiện loại module (command, query, bff, integration) từ tên module, và nhóm các module Command/Query cùng domain lại. Các standard được tạo bao gồm quy tắc riêng cho command controller vs query controller, pattern BFF/Feign và quy ước giao tiếp giữa các module.
422
+
423
+ **H: Gradle multi-module monorepo thì sao?**
424
+ ClaudeOS-Core quét tất cả submodule (`**/src/main/kotlin/**/*.kt`) bất kể độ sâu lồng nhau. Loại module được suy luận từ quy ước đặt tên (ví dụ: `reservation-command-server` → domain: `reservation`, type: `command`). Thư viện chia sẻ (`shared-lib`, `integration-lib`) cũng được phát hiện.
425
+
257
426
  ---
258
427
 
259
428
  ## Cấu Trúc Template
@@ -262,6 +431,7 @@ Pass 1/2 bị bỏ qua nếu JSON đã tồn tại. Pass 3 luôn chạy lại. P
262
431
  pass-prompts/templates/
263
432
  ├── common/ # Header/footer chung
264
433
  ├── java-spring/ # Java / Spring Boot
434
+ ├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
265
435
  ├── node-express/ # Node.js / Express / NestJS
266
436
  ├── node-nextjs/ # Next.js / React / Vue
267
437
  ├── python-django/ # Python / Django (DRF)
@@ -313,7 +483,13 @@ my-monorepo/ ← Đừng chạy ở đây (gốc không có f
313
483
 
314
484
  **"npm install failed"** — Phiên bản Node.js có thể quá thấp. Yêu cầu v18+.
315
485
 
316
- **"0 domains detected"** — Cấu trúc dự án có thể không chuẩn. Xem pattern phát hiện trong [tài liệu tiếng Hàn](./README.ko.md#-문제-해결--troubleshooting) cho stack của bạn.
486
+ **"0 domains detected"** — Cấu trúc dự án có thể không chuẩn. Xem pattern phát hiện trong [tài liệu tiếng Hàn](./README.ko.md#트러블슈팅) cho stack của bạn.
487
+
488
+ **Dự án Kotlin "phát hiện 0 domain"** — Đảm bảo thư mục gốc có `build.gradle.kts` (hoặc `build.gradle` với kotlin plugin), và file nguồn nằm dưới `**/src/main/kotlin/`. Với dự án multi-module, `settings.gradle.kts` phải chứa câu lệnh `include()`. Dự án Kotlin đơn module (không có `settings.gradle`) cũng được hỗ trợ — domain được trích xuất từ cấu trúc package/class dưới `src/main/kotlin/`.
489
+
490
+ **"Ngôn ngữ phát hiện là java thay vì kotlin"** — ClaudeOS-Core kiểm tra `build.gradle(.kts)` gốc trước, sau đó kiểm tra file build của submodule. Đảm bảo ít nhất một file chứa `kotlin("jvm")` hoặc `org.jetbrains.kotlin`.
491
+
492
+ **"Không phát hiện CQRS"** — Phát hiện kiến trúc phụ thuộc vào tên module chứa từ khóa `command` và `query`. Nếu module của bạn dùng tên khác, có thể điều chỉnh thủ công các prompt đã tạo.
317
493
 
318
494
  ---
319
495
 
package/README.zh-CN.md CHANGED
@@ -8,7 +8,7 @@ npx claudeos-core init
8
8
 
9
9
  ClaudeOS-Core 读取你的代码库,提取所有模式,生成一套完全适配 _你的_ 项目的 Standards、Rules、Skills 和 Guides。之后,当你告诉 Claude Code "创建一个订单 CRUD"时,它会生成完全符合你现有模式的代码。
10
10
 
11
- [🇺🇸 English](./README.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) · [🇰🇷 한국어](./README.ko.md)
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
12
 
13
13
  ---
14
14
 
@@ -22,7 +22,7 @@ ClaudeOS-Core 将整个过程自动化:
22
22
 
23
23
  1. **扫描** 你的项目——自动检测技术栈、领域、ORM、数据库、包管理器
24
24
  2. **深度分析** 源代码——控制器模式、服务层、命名规范、异常处理、安全、测试等 50+ 个类别
25
- 3. **生成** 完整的文档体系——`CLAUDE.md`、Standards(15–17 个文件)、Rules、Skills、Guides(9 个文件)、Master Plans、DB 文档和 MCP 指南
25
+ 3. **生成** 完整的文档体系——`CLAUDE.md`、Standards(15–19 个文件)、Rules、Skills、Guides(9 个文件)、Master Plans、DB 文档和 MCP 指南
26
26
  4. **验证** 一切——6 个内置验证工具确保一致性
27
27
 
28
28
  总耗时:**5–18 分钟**,取决于项目规模。零手动配置。
@@ -33,16 +33,53 @@ ClaudeOS-Core 将整个过程自动化:
33
33
 
34
34
  | 技术栈 | 检测方式 | 分析深度 |
35
35
  |---|---|---|
36
- | **Java / Spring Boot** | `build.gradle`、`pom.xml` | 10 大类,59 小项 |
36
+ | **Java / Spring Boot** | `build.gradle`、`pom.xml`、5种包模式自动回退 | 10 大类,59 小项 |
37
+ | **Kotlin / Spring Boot** | `build.gradle.kts`、kotlin 插件、`settings.gradle.kts`、CQRS/BFF 自动检测 | 12 大类,95 小项 |
37
38
  | **Node.js / Express / NestJS** | `package.json` | 9 大类,57 小项 |
38
39
  | **Next.js / React / Vue** | `package.json`(next、react、vue) | 9 大类,55 小项 |
39
40
  | **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大类,55 小项 |
40
41
  | **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大类,58 小项 |
41
42
 
42
- 自动检测:语言及版本、框架及版本、ORM(MyBatis、JPA、Prisma、TypeORM、SQLAlchemy 等)、数据库(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、包管理器(Gradle、Maven、npm、yarn、pnpm、pip、poetry)。
43
+ 自动检测:语言及版本、框架及版本、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、数据库(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、包管理器(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、架构(CQRS、BFF — 从模块名检测)、多模块结构(从 settings.gradle 检测)。
43
44
 
44
45
  **你不需要指定任何内容,一切自动检测。**
45
46
 
47
+
48
+ ### Java 域检测(5种模式自动回退)
49
+
50
+ | 优先级 | 模式 | 结构 | 示例 |
51
+ |---|---|---|---|
52
+ | A | 层优先 | `controller/{domain}/` | `controller/user/UserController.java` |
53
+ | B | 域优先 | `{domain}/controller/` | `user/controller/UserController.java` |
54
+ | D | 模块前缀 | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
55
+ | E | DDD/六角形 | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
56
+ | C | 扁平 | `controller/*.java` | `controller/UserController.java` → 从类名提取 `user` |
57
+
58
+ 无 Controller 的纯 Service 域也会被检测。跳过:`common`、`config`、`util`、`front`、`admin`、`v1`、`v2` 等。
59
+
60
+
61
+ ### Kotlin 多模块域检测
62
+
63
+ 适用于 Gradle 多模块结构的 Kotlin 项目(如 CQRS 单体仓库):
64
+
65
+ | 步骤 | 操作 | 示例 |
66
+ |---|---|---|
67
+ | 1 | 扫描 `settings.gradle.kts` 中的 `include()` | 发现 14 个模块 |
68
+ | 2 | 从模块名检测类型 | `reservation-command-server` → type: `command` |
69
+ | 3 | 从模块名提取域 | `reservation-command-server` → domain: `reservation` |
70
+ | 4 | 跨模块合并相同域 | `reservation-command-server` + `common-query-server` → 1 个域 |
71
+ | 5 | 检测架构 | 有 `command` + `query` 模块 → CQRS |
72
+
73
+ 支持的模块类型:`command`、`query`、`bff`、`integration`、`standalone`、`library`。共享库(`shared-lib`、`integration-lib`)作为特殊域检测。
74
+
75
+ ### 前端域检测
76
+
77
+ - **App Router**:`app/{domain}/page.tsx`(Next.js)
78
+ - **Pages Router**:`pages/{domain}/index.tsx`
79
+ - **FSD(功能切片设计)**:`features/*/`、`widgets/*/`、`entities/*/`
80
+ - **RSC/Client 分离**:检测 `client.tsx` 模式,追踪服务端/客户端组件分离
81
+ - **配置文件回退**:从配置文件检测 Next.js/Vite/Nuxt(monorepo 支持)
82
+
46
83
  ---
47
84
 
48
85
  ## 快速开始
@@ -57,16 +94,138 @@ ClaudeOS-Core 将整个过程自动化:
57
94
  ```bash
58
95
  cd /your/project/root
59
96
 
60
- # 方式 A:npx(推荐)
97
+ # 方式 A:npx(推荐 — 无需安装)
61
98
  npx claudeos-core init
62
99
 
63
- # 方式 B:git clone(用于开发/贡献)
100
+ # 方式 B:全局安装
101
+ npm install -g claudeos-core
102
+ claudeos-core init
103
+
104
+ # 方式 C:项目 devDependency
105
+ npm install --save-dev claudeos-core
106
+ npx claudeos-core init
107
+
108
+ # 方式 D:git clone(用于开发/贡献)
64
109
  git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
65
110
  bash claudeos-core-tools/bootstrap.sh
66
111
  ```
67
112
 
68
113
  就这样。5–18 分钟后,所有文档生成完毕,即可使用。
69
114
 
115
+ ### 手动逐步安装
116
+
117
+ 如果您想完全控制每个阶段,或者自动管道在某个步骤失败,可以手动运行每个阶段。这也有助于理解 ClaudeOS-Core 的内部工作原理。
118
+
119
+ #### Step 1:克隆并安装依赖
120
+
121
+ ```bash
122
+ cd /your/project/root
123
+
124
+ git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
125
+ cd claudeos-core-tools && npm install && cd ..
126
+ ```
127
+
128
+ #### Step 2:创建目录结构
129
+
130
+ ```bash
131
+ # Rules
132
+ mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
133
+
134
+ # Standards
135
+ mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
136
+
137
+ # Skills
138
+ mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
139
+
140
+ # Guide, Plan, Database, MCP, Generated
141
+ mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
142
+ mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
143
+ ```
144
+
145
+ #### Step 3:运行 plan-installer(项目分析)
146
+
147
+ 扫描您的项目,检测技术栈,发现域,分组,并生成提示词。
148
+
149
+ ```bash
150
+ node claudeos-core-tools/plan-installer/index.js
151
+ ```
152
+
153
+ **输出(`claudeos-core/generated/`):**
154
+ - `project-analysis.json` — 检测到的技术栈、域、前端信息
155
+ - `domain-groups.json` — Pass 1 的域分组
156
+ - `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — 分析提示词
157
+ - `pass2-prompt.md` — 合并提示词
158
+ - `pass3-prompt.md` — 生成提示词
159
+
160
+ 在继续之前,您可以检查这些文件以验证检测准确性。
161
+
162
+ #### Step 4:Pass 1 — 按域组深度代码分析
163
+
164
+ 为每个域组运行 Pass 1。检查 `domain-groups.json` 获取组数。
165
+
166
+ ```bash
167
+ # Check groups
168
+ cat claudeos-core/generated/domain-groups.json | node -e "
169
+ const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
170
+ g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
171
+ "
172
+
173
+ # Run Pass 1 for group 1:
174
+ cat claudeos-core/generated/pass1-backend-prompt.md \
175
+ | sed "s/{{DOMAIN_GROUP}}/user, order, product/g" \
176
+ | sed "s/{{PASS_NUM}}/1/g" \
177
+ | claude -p --dangerously-skip-permissions
178
+
179
+ # For frontend groups, use pass1-frontend-prompt.md instead
180
+ ```
181
+
182
+ **验证:** `ls claudeos-core/generated/pass1-*.json` 应显示每组一个 JSON。
183
+
184
+ #### Step 5:Pass 2 — 合并分析结果
185
+
186
+ ```bash
187
+ cat claudeos-core/generated/pass2-prompt.md \
188
+ | claude -p --dangerously-skip-permissions
189
+ ```
190
+
191
+ **验证:** `claudeos-core/generated/pass2-merged.json` 应存在且包含 9 个以上顶层键。
192
+
193
+ #### Step 6:Pass 3 — 生成所有文档
194
+
195
+ ```bash
196
+ cat claudeos-core/generated/pass3-prompt.md \
197
+ | claude -p --dangerously-skip-permissions
198
+ ```
199
+
200
+ **验证:** 项目根目录应存在 `CLAUDE.md`。
201
+
202
+ #### Step 7:运行验证工具
203
+
204
+ ```bash
205
+ # 生成元数据(其他检查前必须运行)
206
+ node claudeos-core-tools/manifest-generator/index.js
207
+
208
+ # 运行全部检查
209
+ node claudeos-core-tools/health-checker/index.js
210
+
211
+ # 或运行单独检查:
212
+ node claudeos-core-tools/import-linter/index.js # @import validation
213
+ node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
214
+ node claudeos-core-tools/sync-checker/index.js # Sync status
215
+ node claudeos-core-tools/content-validator/index.js # Content quality
216
+ node claudeos-core-tools/pass-json-validator/index.js # JSON format
217
+ ```
218
+
219
+ #### Step 8:验证结果
220
+
221
+ ```bash
222
+ find .claude claudeos-core -type f | grep -v node_modules | wc -l
223
+ head -30 CLAUDE.md
224
+ ls .claude/rules/*/
225
+ ```
226
+
227
+ > **提示:** 如果某个步骤失败,可以仅重新运行该步骤。Pass 1/2 结果会被缓存 — 如果 `pass1-N.json` 或 `pass2-merged.json` 已存在,自动管道会跳过。删除文件可强制重新运行。
228
+
70
229
  ### 开始使用
71
230
 
72
231
  ```
@@ -108,7 +267,7 @@ npx claudeos-core init
108
267
 
109
268
  ### 为什么是 3 个 Pass?
110
269
 
111
- **Pass 1** 是唯一读取源代码的阶段。它为每个领域选择代表性文件,跨 55–59 个分析类别提取模式。对于大型项目,Pass 1 会运行多次——每个领域组一次。在多栈项目中(如 Java 后端 + React 前端),后端和前端使用 **各自专用的分析提示**。
270
+ **Pass 1** 是唯一读取源代码的阶段。它为每个领域选择代表性文件,跨 55–95 个分析类别提取模式。对于大型项目,Pass 1 会运行多次——每个领域组一次。在多栈项目中(如 Java 后端 + React 前端),后端和前端使用 **各自专用的分析提示**。
112
271
 
113
272
  **Pass 2** 将所有 Pass 1 结果合并为统一分析:通用模式(100% 共享)、多数模式(50%+ 共享)、领域特定模式、按严重度分级的反模式,以及横切关注点(命名、安全、数据库、测试、日志、性能)。
114
273
 
@@ -134,7 +293,7 @@ your-project/
134
293
 
135
294
  ├── claudeos-core/ ← 主要输出目录
136
295
  │ ├── generated/ ← 分析 JSON + 动态提示
137
- │ ├── standard/ ← 编码标准(15-17 个文件)
296
+ │ ├── standard/ ← 编码标准(15-19 个文件)
138
297
  │ ├── skills/ ← CRUD 脚手架技能
139
298
  │ ├── guide/ ← 入门、FAQ、故障排除(9 个文件)
140
299
  │ ├── plan/ ← Master Plans(备份/恢复)
@@ -228,9 +387,10 @@ npx claudeos-core restore
228
387
 
229
388
  | | ClaudeOS-Core | SuperClaude | 手动 CLAUDE.md | 通用 Skills |
230
389
  |---|---|---|---|---|
231
- | **读取你的代码** | ✅ 深度分析(55–59 类别) | ❌ 行为注入 | ❌ 手动编写 | ❌ 预置模板 |
390
+ | **读取你的代码** | ✅ 深度分析(55–95 类别) | ❌ 行为注入 | ❌ 手动编写 | ❌ 预置模板 |
232
391
  | **项目定制输出** | ✅ 每个文件反映你的模式 | ❌ 通用命令 | 部分 | ❌ 一刀切 |
233
392
  | **多栈支持** | ✅ 自动检测 + 分别分析 | ❌ 栈无关 | 手动 | 不一定 |
393
+ | **Kotlin + CQRS/BFF** | ✅ 多模块, Command/Query 分离 | ❌ | ❌ | ❌ |
234
394
  | **自验证** | ✅ 6 个验证工具 | ❌ | ❌ | ❌ |
235
395
  | **备份 / 恢复** | ✅ Master Plan 系统 | ❌ | ❌ | ❌ |
236
396
  | **配置时间** | ~5–18分钟(自动) | ~5分钟(手动配置) | 数小时–数天 | ~5分钟 |
@@ -254,6 +414,15 @@ npx claudeos-core restore
254
414
  **Q:重新运行会怎样?**
255
415
  如果 Pass 1/2 的 JSON 已存在,则跳过。Pass 3 始终重新运行。旧版本可从 Master Plans 恢复。
256
416
 
417
+ **Q:支持 Kotlin 吗?**
418
+ 支持。ClaudeOS-Core 从 `build.gradle.kts` 或 `build.gradle` 中的 kotlin 插件自动检测 Kotlin。使用专用的 `kotlin-spring` 模板进行 Kotlin 特定分析(data class、sealed class、协程、扩展函数、MockK 等)。
419
+
420
+ **Q:CQRS / BFF 架构呢?**
421
+ 完全支持 Kotlin 多模块项目。ClaudeOS-Core 读取 `settings.gradle.kts`,从模块名检测模块类型(command、query、bff、integration),并将同一域的 Command/Query 模块分组。生成的标准包含 command controller 与 query controller 的独立规则、BFF/Feign 模式和模块间通信规范。
422
+
423
+ **Q:Gradle 多模块 monorepo 呢?**
424
+ ClaudeOS-Core 扫描所有子模块(`**/src/main/kotlin/**/*.kt`),不受嵌套深度限制。模块类型从命名规则推断(例如 `reservation-command-server` → 域: `reservation`,类型: `command`)。共享库(`shared-lib`、`integration-lib`)也会被检测。
425
+
257
426
  ---
258
427
 
259
428
  ## 模板结构
@@ -262,6 +431,7 @@ npx claudeos-core restore
262
431
  pass-prompts/templates/
263
432
  ├── common/ # 共享头部/尾部
264
433
  ├── java-spring/ # Java / Spring Boot
434
+ ├── kotlin-spring/ # Kotlin / Spring Boot(CQRS、BFF、多模块)
265
435
  ├── node-express/ # Node.js / Express / NestJS
266
436
  ├── node-nextjs/ # Next.js / React / Vue
267
437
  ├── python-django/ # Python / Django (DRF)
@@ -313,7 +483,13 @@ my-monorepo/ ← 不要在这里运行(根目录没有框
313
483
 
314
484
  **"npm install failed"** — Node.js 版本可能过低,需要 v18+。
315
485
 
316
- **"0 domains detected"** — 你的项目结构可能不标准。请参阅[韩文文档](./README.ko.md#-문제-해결--troubleshooting)了解你的技术栈的检测模式。
486
+ **"0 domains detected"** — 你的项目结构可能不标准。请参阅[韩文文档](./README.ko.md#트러블슈팅)了解你的技术栈的检测模式。
487
+
488
+ **Kotlin 项目「检测到 0 个域」** — 确保根目录有 `build.gradle.kts`,源文件在 `**/src/main/kotlin/` 下。多模块项目需要 `settings.gradle.kts` 包含 `include()` 语句。单模块 Kotlin 项目(无 `settings.gradle`)也受支持——从 `src/main/kotlin/` 下的包/类结构中提取域。
489
+
490
+ **「语言检测为 java 而非 kotlin」** — 先检查根 build 文件,再检查最多 5 个子模块 build 文件。确保至少一个包含 `kotlin("jvm")` 或 `org.jetbrains.kotlin`。
491
+
492
+ **「未检测到 CQRS」** — 架构检测依赖模块名中包含 `command` 和 `query` 关键字。
317
493
 
318
494
  ---
319
495