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.
- package/CHANGELOG.md +84 -1
- package/CONTRIBUTING.md +15 -4
- package/README.de.md +187 -11
- package/README.es.md +187 -11
- package/README.fr.md +187 -11
- package/README.hi.md +187 -11
- package/README.ja.md +186 -10
- package/README.ko.md +331 -364
- package/README.md +200 -11
- package/README.ru.md +187 -11
- package/README.vi.md +188 -12
- package/README.zh-CN.md +186 -10
- package/bin/cli.js +183 -61
- package/bootstrap.sh +128 -21
- package/content-validator/index.js +131 -60
- package/health-checker/index.js +29 -23
- package/import-linter/index.js +14 -8
- package/manifest-generator/index.js +26 -20
- package/package.json +84 -75
- package/pass-json-validator/index.js +92 -70
- package/pass-prompts/templates/common/header.md +4 -4
- package/pass-prompts/templates/common/lang-instructions.json +27 -0
- package/pass-prompts/templates/common/pass3-footer.md +2 -3
- package/pass-prompts/templates/java-spring/pass1.md +84 -81
- package/pass-prompts/templates/java-spring/pass2.md +66 -66
- package/pass-prompts/templates/java-spring/pass3.md +60 -60
- package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
- package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
- package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
- package/pass-prompts/templates/node-express/pass1.md +73 -73
- package/pass-prompts/templates/node-express/pass2.md +66 -66
- package/pass-prompts/templates/node-express/pass3.md +53 -53
- package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
- package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
- package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
- package/pass-prompts/templates/python-django/pass1.md +78 -78
- package/pass-prompts/templates/python-django/pass2.md +69 -69
- package/pass-prompts/templates/python-django/pass3.md +45 -45
- package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
- package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
- package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
- package/plan-installer/index.js +623 -97
- package/plan-validator/index.js +54 -23
- package/sync-checker/index.js +25 -14
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ npx claudeos-core init
|
|
|
8
8
|
|
|
9
9
|
ClaudeOS-Core reads your codebase, extracts every pattern it finds, and generates a complete set of Standards, Rules, Skills, and Guides tailored to _your_ project. After that, when you tell Claude Code "Create a CRUD for orders", it produces code that matches your existing patterns exactly.
|
|
10
10
|
|
|
11
|
-
[🇨🇳 中文](./README.zh-CN.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)
|
|
11
|
+
[🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.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 automates the entire process:
|
|
|
22
22
|
|
|
23
23
|
1. **Scans** your project — detects stack, domains, ORM, DB, package manager automatically
|
|
24
24
|
2. **Analyzes** your source code in depth — controller patterns, service layers, naming conventions, error handling, security, testing, and 50+ categories
|
|
25
|
-
3. **Generates** a complete documentation ecosystem — `CLAUDE.md`, Standards (15–
|
|
25
|
+
3. **Generates** a complete documentation ecosystem — `CLAUDE.md`, Standards (15–19 files), Rules, Skills, Guides (9 files), Master Plans, DB docs, and MCP guide
|
|
26
26
|
4. **Validates** everything — 6 built-in verification tools ensure consistency
|
|
27
27
|
|
|
28
28
|
Total time: **5–18 minutes**, depending on project size. Zero manual configuration.
|
|
@@ -33,16 +33,51 @@ Total time: **5–18 minutes**, depending on project size. Zero manual configura
|
|
|
33
33
|
|
|
34
34
|
| Stack | Detection | Analysis Depth |
|
|
35
35
|
|---|---|---|
|
|
36
|
-
| **Java / Spring Boot** | `build.gradle`, `pom.xml
|
|
36
|
+
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 package patterns | 10 categories, 59 sub-items |
|
|
37
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 categories, 95 sub-items |
|
|
37
38
|
| **Node.js / Express / NestJS** | `package.json` | 9 categories, 57 sub-items |
|
|
38
|
-
| **Next.js / React / Vue** | `package.json`
|
|
39
|
+
| **Next.js / React / Vue** | `package.json`, `next.config.*`, FSD support | 9 categories, 55 sub-items |
|
|
39
40
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 categories, 55 sub-items |
|
|
40
41
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 categories, 58 sub-items |
|
|
41
42
|
|
|
42
|
-
Auto-detected: language & version, framework & version, ORM (MyBatis, JPA, Prisma, TypeORM, SQLAlchemy, etc.), database (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), package manager (Gradle, Maven, npm, yarn, pnpm, pip, poetry).
|
|
43
|
+
Auto-detected: language & version, framework & version, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, etc.), database (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), package manager (Gradle, Maven, npm, yarn, pnpm, pip, poetry), architecture (CQRS, BFF — from module names), multi-module structure (from settings.gradle).
|
|
43
44
|
|
|
44
45
|
**You don't specify anything. It's all detected automatically.**
|
|
45
46
|
|
|
47
|
+
### Java Domain Detection (5 patterns with fallback)
|
|
48
|
+
|
|
49
|
+
| Priority | Pattern | Structure | Example |
|
|
50
|
+
|---|---|---|---|
|
|
51
|
+
| A | Layer-first | `controller/{domain}/` | `controller/user/UserController.java` |
|
|
52
|
+
| B | Domain-first | `{domain}/controller/` | `user/controller/UserController.java` |
|
|
53
|
+
| D | Module prefix | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
|
|
54
|
+
| E | DDD/Hexagonal | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
55
|
+
| C | Flat | `controller/*.java` | `controller/UserController.java` → extracts `user` from class name |
|
|
56
|
+
|
|
57
|
+
Service-only domains (without controllers) are also detected. Skips: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2`, etc.
|
|
58
|
+
|
|
59
|
+
### Kotlin Multi-Module Domain Detection
|
|
60
|
+
|
|
61
|
+
For Kotlin projects with Gradle multi-module structure (e.g., CQRS monorepo):
|
|
62
|
+
|
|
63
|
+
| Step | What It Does | Example |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| 1 | Scan `settings.gradle.kts` for `include()` | Finds 14 modules |
|
|
66
|
+
| 2 | Detect module type from name | `reservation-command-server` → type: `command` |
|
|
67
|
+
| 3 | Extract domain from module name | `reservation-command-server` → domain: `reservation` |
|
|
68
|
+
| 4 | Group same domain across modules | `reservation-command-server` + `common-query-server` → 1 domain |
|
|
69
|
+
| 5 | Detect architecture | Has `command` + `query` modules → CQRS |
|
|
70
|
+
|
|
71
|
+
Supported module types: `command`, `query`, `bff`, `integration`, `standalone`, `library`. Shared libraries (`shared-lib`, `integration-lib`) are detected as special domains.
|
|
72
|
+
|
|
73
|
+
### Frontend Domain Detection
|
|
74
|
+
|
|
75
|
+
- **App Router**: `app/{domain}/page.tsx` (Next.js)
|
|
76
|
+
- **Pages Router**: `pages/{domain}/index.tsx`
|
|
77
|
+
- **FSD (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
|
|
78
|
+
- **RSC/Client split**: Detects `client.tsx` pattern, tracks Server/Client component separation
|
|
79
|
+
- **Config fallback**: Detects Next.js/Vite/Nuxt from config files when not in `package.json` (monorepo support)
|
|
80
|
+
|
|
46
81
|
---
|
|
47
82
|
|
|
48
83
|
## Quick Start
|
|
@@ -57,16 +92,153 @@ Auto-detected: language & version, framework & version, ORM (MyBatis, JPA, Prism
|
|
|
57
92
|
```bash
|
|
58
93
|
cd /your/project/root
|
|
59
94
|
|
|
60
|
-
# Option A: npx (recommended)
|
|
95
|
+
# Option A: npx (recommended — no install needed)
|
|
61
96
|
npx claudeos-core init
|
|
62
97
|
|
|
63
|
-
# Option B:
|
|
98
|
+
# Option B: global install
|
|
99
|
+
npm install -g claudeos-core
|
|
100
|
+
claudeos-core init
|
|
101
|
+
|
|
102
|
+
# Option C: project devDependency
|
|
103
|
+
npm install --save-dev claudeos-core
|
|
104
|
+
npx claudeos-core init
|
|
105
|
+
|
|
106
|
+
# Option D: git clone (for development/contribution)
|
|
64
107
|
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
65
108
|
bash claudeos-core-tools/bootstrap.sh
|
|
66
109
|
```
|
|
67
110
|
|
|
68
111
|
That's it. After 5–18 minutes, all documentation is generated and ready to use.
|
|
69
112
|
|
|
113
|
+
### Manual Step-by-Step Installation
|
|
114
|
+
|
|
115
|
+
If you want full control over each phase — or if the automated pipeline fails at any step — you can run each stage manually. This is also useful for understanding how ClaudeOS-Core works internally.
|
|
116
|
+
|
|
117
|
+
#### Step 1: Clone and install dependencies
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
cd /your/project/root
|
|
121
|
+
|
|
122
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
123
|
+
cd claudeos-core-tools && npm install && cd ..
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### Step 2: Create directory structure
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Rules
|
|
130
|
+
mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
|
|
131
|
+
|
|
132
|
+
# Standards
|
|
133
|
+
mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
|
|
134
|
+
|
|
135
|
+
# Skills
|
|
136
|
+
mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
|
|
137
|
+
|
|
138
|
+
# Guide, Plan, Database, MCP, Generated
|
|
139
|
+
mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
|
|
140
|
+
mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### Step 3: Run plan-installer (project analysis)
|
|
144
|
+
|
|
145
|
+
This scans your project, detects the stack, finds domains, splits them into groups, and generates prompts.
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Output (in `claudeos-core/generated/`):**
|
|
152
|
+
- `project-analysis.json` — detected stack, domains, frontend info
|
|
153
|
+
- `domain-groups.json` — domain groups for Pass 1
|
|
154
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — analysis prompts
|
|
155
|
+
- `pass2-prompt.md` — merge prompt
|
|
156
|
+
- `pass3-prompt.md` — generation prompt
|
|
157
|
+
|
|
158
|
+
You can inspect these files to verify detection accuracy before proceeding.
|
|
159
|
+
|
|
160
|
+
#### Step 4: Pass 1 — Deep code analysis (per domain group)
|
|
161
|
+
|
|
162
|
+
Run Pass 1 for each domain group. Check `domain-groups.json` for the number of groups.
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Check how many groups
|
|
166
|
+
cat claudeos-core/generated/domain-groups.json | node -e "
|
|
167
|
+
const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
|
|
168
|
+
g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
|
|
169
|
+
"
|
|
170
|
+
|
|
171
|
+
# Run Pass 1 for each group (replace N with group number)
|
|
172
|
+
# For group 1:
|
|
173
|
+
cat claudeos-core/generated/pass1-backend-prompt.md \
|
|
174
|
+
| sed "s/{{DOMAIN_GROUP}}/user, order, product/g" \
|
|
175
|
+
| sed "s/{{PASS_NUM}}/1/g" \
|
|
176
|
+
| claude -p --dangerously-skip-permissions
|
|
177
|
+
|
|
178
|
+
# For group 2 (if exists):
|
|
179
|
+
cat claudeos-core/generated/pass1-backend-prompt.md \
|
|
180
|
+
| sed "s/{{DOMAIN_GROUP}}/payment, system, delivery/g" \
|
|
181
|
+
| sed "s/{{PASS_NUM}}/2/g" \
|
|
182
|
+
| claude -p --dangerously-skip-permissions
|
|
183
|
+
|
|
184
|
+
# For frontend groups, use pass1-frontend-prompt.md instead
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Verify:** `ls claudeos-core/generated/pass1-*.json` should show one JSON per group.
|
|
188
|
+
|
|
189
|
+
#### Step 5: Pass 2 — Merge analysis results
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
193
|
+
| claude -p --dangerously-skip-permissions
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Verify:** `claudeos-core/generated/pass2-merged.json` should exist with 9+ top-level keys.
|
|
197
|
+
|
|
198
|
+
#### Step 6: Pass 3 — Generate all documentation
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
202
|
+
| claude -p --dangerously-skip-permissions
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Verify:** `CLAUDE.md` should exist in your project root.
|
|
206
|
+
|
|
207
|
+
#### Step 7: Run verification tools
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Generate metadata (required before other checks)
|
|
211
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
212
|
+
|
|
213
|
+
# Run all checks
|
|
214
|
+
node claudeos-core-tools/health-checker/index.js
|
|
215
|
+
|
|
216
|
+
# Or run individual checks:
|
|
217
|
+
node claudeos-core-tools/import-linter/index.js # @import path validation
|
|
218
|
+
node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk consistency
|
|
219
|
+
node claudeos-core-tools/sync-checker/index.js # Unregistered/orphaned files
|
|
220
|
+
node claudeos-core-tools/content-validator/index.js # File quality checks
|
|
221
|
+
node claudeos-core-tools/pass-json-validator/index.js # Pass JSON format checks
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
#### Step 8: Verify the results
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Count generated files
|
|
228
|
+
find .claude claudeos-core -type f | grep -v node_modules | wc -l
|
|
229
|
+
|
|
230
|
+
# Check CLAUDE.md
|
|
231
|
+
head -30 CLAUDE.md
|
|
232
|
+
|
|
233
|
+
# Check a standard file
|
|
234
|
+
cat claudeos-core/standard/00.core/01.project-overview.md | head -20
|
|
235
|
+
|
|
236
|
+
# Check rules
|
|
237
|
+
ls .claude/rules/*/
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
> **Tip:** If any step fails, you can fix the issue and re-run just that step. Pass 1/2 results are cached — if `pass1-N.json` or `pass2-merged.json` already exists, the automated pipeline skips them. Delete the file to force re-run.
|
|
241
|
+
|
|
70
242
|
### Start Using
|
|
71
243
|
|
|
72
244
|
```
|
|
@@ -108,7 +280,7 @@ npx claudeos-core init
|
|
|
108
280
|
|
|
109
281
|
### Why 3 Passes?
|
|
110
282
|
|
|
111
|
-
**Pass 1** is the only pass that reads your source code. It selects representative files per domain and extracts patterns across 55–
|
|
283
|
+
**Pass 1** is the only pass that reads your source code. It selects representative files per domain and extracts patterns across 55–95 analysis categories (per stack). For large projects, Pass 1 runs multiple times — one per domain group. In multi-stack projects (e.g., Java backend + React frontend), backend and frontend domains use **different analysis prompts** tailored to each stack.
|
|
112
284
|
|
|
113
285
|
**Pass 2** merges all Pass 1 results into a unified analysis: common patterns (100% shared), majority patterns (50%+ shared), domain-specific patterns, anti-patterns by severity, and cross-cutting concerns (naming, security, DB, testing, logging, performance). Backend and frontend results are merged together.
|
|
114
286
|
|
|
@@ -140,7 +312,7 @@ your-project/
|
|
|
140
312
|
│ │ ├── pass1-frontend-prompt.md ← Frontend analysis prompt (if detected)
|
|
141
313
|
│ │ ├── pass2-prompt.md ← Merge prompt
|
|
142
314
|
│ │ └── pass3-prompt.md ← Generation prompt (combined)
|
|
143
|
-
│ ├── standard/ ← Coding standards (15-
|
|
315
|
+
│ ├── standard/ ← Coding standards (15-19 files)
|
|
144
316
|
│ │ ├── 00.core/ ← Overview, architecture, naming
|
|
145
317
|
│ │ ├── 10.backend-api/ ← API patterns (stack-specific)
|
|
146
318
|
│ │ ├── 20.frontend-ui/ ← Frontend patterns (if detected)
|
|
@@ -247,9 +419,10 @@ npx claudeos-core restore
|
|
|
247
419
|
|
|
248
420
|
| | ClaudeOS-Core | SuperClaude | Manual CLAUDE.md | Generic Skills |
|
|
249
421
|
|---|---|---|---|---|
|
|
250
|
-
| **Reads your code** | ✅ Deep analysis (55–
|
|
422
|
+
| **Reads your code** | ✅ Deep analysis (55–95 categories) | ❌ Behavioral injection | ❌ Manual writing | ❌ Pre-built templates |
|
|
251
423
|
| **Project-specific output** | ✅ Every file reflects your patterns | ❌ Generic commands | Partially | ❌ One-size-fits-all |
|
|
252
424
|
| **Multi-stack** | ✅ Auto-detected + separate analysis | ❌ Stack-agnostic | Manual | Varies |
|
|
425
|
+
| **Kotlin + CQRS/BFF** | ✅ Multi-module, Command/Query split | ❌ | ❌ | ❌ |
|
|
253
426
|
| **Self-verifying** | ✅ 6 validation tools | ❌ | ❌ | ❌ |
|
|
254
427
|
| **Backup / Restore** | ✅ Master Plan system | ❌ | ❌ | ❌ |
|
|
255
428
|
| **Setup time** | ~5–18min (automated) | ~5min (manual config) | Hours–Days | ~5min |
|
|
@@ -273,6 +446,15 @@ Fully supported. ClaudeOS-Core auto-detects both stacks, tags domains as `backen
|
|
|
273
446
|
**Q: What happens on re-run?**
|
|
274
447
|
Pass 1/2 are skipped if their JSON already exists. Pass 3 always re-runs. Previous versions can be restored from Master Plans.
|
|
275
448
|
|
|
449
|
+
**Q: Does it support Kotlin?**
|
|
450
|
+
Yes. ClaudeOS-Core auto-detects Kotlin from `build.gradle.kts` or the kotlin plugin in `build.gradle`. It uses a dedicated `kotlin-spring` template with Kotlin-specific analysis (data classes, sealed classes, coroutines, extension functions, MockK, etc.).
|
|
451
|
+
|
|
452
|
+
**Q: What about CQRS / BFF architecture?**
|
|
453
|
+
Fully supported for Kotlin multi-module projects. ClaudeOS-Core reads `settings.gradle.kts`, detects module types (command, query, bff, integration) from module names, and groups the same domain across Command/Query modules. The generated standards include separate rules for command controllers vs query controllers, BFF/Feign patterns, and inter-module communication conventions.
|
|
454
|
+
|
|
455
|
+
**Q: What about Gradle multi-module monorepos?**
|
|
456
|
+
ClaudeOS-Core scans all submodules (`**/src/main/kotlin/**/*.kt`) regardless of nesting depth. Module types are inferred from naming conventions (e.g., `reservation-command-server` → domain: `reservation`, type: `command`). Shared libraries (`shared-lib`, `integration-lib`) are also detected.
|
|
457
|
+
|
|
276
458
|
---
|
|
277
459
|
|
|
278
460
|
## Template Structure
|
|
@@ -281,6 +463,7 @@ Pass 1/2 are skipped if their JSON already exists. Pass 3 always re-runs. Previo
|
|
|
281
463
|
pass-prompts/templates/
|
|
282
464
|
├── common/ # Shared header/footer
|
|
283
465
|
├── java-spring/ # Java / Spring Boot
|
|
466
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
284
467
|
├── node-express/ # Node.js / Express / NestJS
|
|
285
468
|
├── node-nextjs/ # Next.js / React / Vue
|
|
286
469
|
├── python-django/ # Python / Django (DRF)
|
|
@@ -332,7 +515,13 @@ my-monorepo/ ← Don't run here (root has no framework deps)
|
|
|
332
515
|
|
|
333
516
|
**"npm install failed"** — Node.js version may be too low. Requires v18+.
|
|
334
517
|
|
|
335
|
-
**"0 domains detected"** — Your project structure may be non-standard. See the detection patterns
|
|
518
|
+
**"0 domains detected"** — Your project structure may be non-standard. See the detection patterns above for your stack.
|
|
519
|
+
|
|
520
|
+
**"0 domains detected" on Kotlin project** — Ensure your project has `build.gradle.kts` (or `build.gradle` with kotlin plugin) at the root, and source files are under `**/src/main/kotlin/`. For multi-module projects, ensure `settings.gradle.kts` contains `include()` statements. Single-module Kotlin projects (without `settings.gradle`) are also supported — domains are extracted from package/class structure under `src/main/kotlin/`.
|
|
521
|
+
|
|
522
|
+
**"Language detected as java instead of kotlin"** — ClaudeOS-Core checks the root `build.gradle(.kts)` first, then submodule build files. If the root build file uses `java` plugin without `kotlin`, but submodules use Kotlin, the tool checks up to 5 submodule build files as fallback. If still not detected, ensure at least one `build.gradle.kts` contains `kotlin("jvm")` or `org.jetbrains.kotlin`.
|
|
523
|
+
|
|
524
|
+
**"CQRS not detected"** — Architecture detection relies on module names containing `command` and `query` keywords. If your modules use different naming (e.g., `write-server`, `read-server`), the CQRS architecture won't be auto-detected. You can manually adjust the generated prompts after plan-installer runs.
|
|
336
525
|
|
|
337
526
|
---
|
|
338
527
|
|
package/README.ru.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.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
11
|
+
[🇺🇸 English](./README.md) · [🇰🇷 한국어](./README.ko.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.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–
|
|
25
|
+
3. **Генерирует** полную экосистему документации — `CLAUDE.md`, Standards (15–19 файлов), Rules, Skills, Guides (9 файлов), Master Plans, документацию БД и руководство 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
|
|
36
|
+
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 паттернов пакетов | 10 категорий, 59 подпунктов |
|
|
37
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 категорий, 95 подпунктов |
|
|
37
38
|
| **Node.js / Express / NestJS** | `package.json` | 9 категорий, 57 подпунктов |
|
|
38
|
-
| **Next.js / React / Vue** | `package.json`
|
|
39
|
+
| **Next.js / React / Vue** | `package.json`, `next.config.*`, поддержка FSD | 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
|
+
Домены только с сервисами (без контроллеров) тоже обнаруживаются. Пропускаются: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2` и т.д.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Обнаружение доменов Kotlin мультимодульных проектов
|
|
62
|
+
|
|
63
|
+
Для проектов Kotlin с Gradle мультимодульной структурой (например: CQRS монорепо):
|
|
64
|
+
|
|
65
|
+
| Шаг | Действие | Пример |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| 1 | Сканирование `settings.gradle.kts` на наличие `include()` | Найдено 14 модулей |
|
|
68
|
+
| 2 | Определение типа модуля по имени | `reservation-command-server` → тип: `command` |
|
|
69
|
+
| 3 | Извлечение домена из имени модуля | `reservation-command-server` → домен: `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 (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
|
|
80
|
+
- **RSC/Client разделение**: Обнаружение паттерна `client.tsx`, отслеживание разделения Server/Client
|
|
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:
|
|
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** — единственный pass, который читает исходный код. Он выбирает репрезентативные файлы по доменам и извлекает паттерны по 55–
|
|
270
|
+
**Pass 1** — единственный pass, который читает исходный код. Он выбирает репрезентативные файлы по доменам и извлекает паттерны по 55–95 категориям анализа (по стеку). Для крупных проектов Pass 1 запускается несколько раз — по одному на группу доменов. В мульти-стек проектах (например: Java backend + React frontend) backend и frontend используют **разные промпты анализа**, адаптированные под каждый стек.
|
|
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-
|
|
296
|
+
│ ├── standard/ ← Стандарты кода (15-19 файлов)
|
|
138
297
|
│ ├── skills/ ← 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–
|
|
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
|
**В: Что происходит при повторном запуске?**
|
|
255
415
|
Pass 1/2 пропускаются, если их JSON уже существует. Pass 3 всегда перезапускается. Предыдущие версии можно восстановить из Master Plans.
|
|
256
416
|
|
|
417
|
+
**В: Поддерживается ли Kotlin?**
|
|
418
|
+
Да. ClaudeOS-Core автоматически определяет Kotlin из `build.gradle.kts` или плагина kotlin в `build.gradle`. Используется специальный шаблон `kotlin-spring` с Kotlin-специфичным анализом (data class, sealed class, корутины, функции-расширения, MockK и т.д.).
|
|
419
|
+
|
|
420
|
+
**В: Как насчёт архитектуры CQRS / BFF?**
|
|
421
|
+
Полностью поддерживается для Kotlin мультимодульных проектов. ClaudeOS-Core читает `settings.gradle.kts`, определяет типы модулей (command, query, bff, integration) из их имён и группирует одинаковые домены по модулям Command/Query. Сгенерированные стандарты включают отдельные правила для command-контроллеров и query-контроллеров, паттерны BFF/Feign и соглашения о межмодульном взаимодействии.
|
|
422
|
+
|
|
423
|
+
**В: Как насчёт 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 @@ Pass 1/2 пропускаются, если их JSON уже существуе
|
|
|
262
431
|
pass-prompts/templates/
|
|
263
432
|
├── common/ # Общий заголовок/футер
|
|
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/ ← Не запускайте здесь (в к
|
|
|
313
483
|
|
|
314
484
|
**"npm install failed"** — Версия Node.js может быть слишком старой. Требуется v18+.
|
|
315
485
|
|
|
316
|
-
**"0 domains detected"** — Структура вашего проекта может быть нестандартной. Смотрите паттерны обнаружения в [корейской документации](./README.ko.md
|
|
486
|
+
**"0 domains detected"** — Структура вашего проекта может быть нестандартной. Смотрите паттерны обнаружения в [корейской документации](./README.ko.md#트러블슈팅) для вашего стека.
|
|
487
|
+
|
|
488
|
+
**«0 доменов обнаружено» в Kotlin-проекте** — Убедитесь, что в корне проекта есть `build.gradle.kts` (или `build.gradle` с плагином kotlin), а исходные файлы находятся в `**/src/main/kotlin/`. Для мультимодульных проектов `settings.gradle.kts` должен содержать операторы `include()`. Одномодульные Kotlin-проекты (без `settings.gradle`) также поддерживаются — домены извлекаются из структуры пакетов/классов в `src/main/kotlin/`.
|
|
489
|
+
|
|
490
|
+
**«Язык определён как java вместо kotlin»** — ClaudeOS-Core сначала проверяет корневой `build.gradle(.kts)`, затем файлы сборки подмодулей. Убедитесь, что хотя бы один содержит `kotlin("jvm")` или `org.jetbrains.kotlin`.
|
|
491
|
+
|
|
492
|
+
**«CQRS не обнаружен»** — Определение архитектуры зависит от наличия ключевых слов `command` и `query` в именах модулей. Если ваши модули используют другие имена, можно вручную скорректировать сгенерированные промпты.
|
|
317
493
|
|
|
318
494
|
---
|
|
319
495
|
|