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.ru.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.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
-
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/` — потому что он прочитал ваш реальный код.
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 plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 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
- Домены только с сервисами (без контроллеров) тоже обнаруживаются через директории `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/`. Пропускаются: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` и т.д.
93
-
94
-
95
- ### Обнаружение доменов Kotlin мультимодульных проектов
96
-
97
- Для проектов Kotlin с Gradle мультимодульной структурой (например: CQRS монорепо):
98
-
99
- | Шаг | Действие | Пример |
100
- |---|---|---|
101
- | 1 | Сканирование `settings.gradle.kts` на наличие `include()` | Найдено 14 модулей |
102
- | 2 | Определение типа модуля по имени | `reservation-command-server` тип: `command` |
103
- | 3 | Извлечение домена из имени модуля | `reservation-command-server` → домен: `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 (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
114
- - **RSC/Client разделение**: Обнаружение паттерна `client.tsx`, отслеживание разделения Server/Client
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
- При запуске `init` без `--lang` появляется интерактивный селектор (стрелки или цифровые клавиши):
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
- ...
167
- ❯ 8. ruРусский (Russian)
168
- ...
169
-
170
- ↑↓ Move 1-0 Jump Enter Select ESC Cancel
171
- ```
172
-
173
- При навигации описание переключается на соответствующий язык. Чтобы пропустить селектор:
174
-
175
- ```bash
176
- npx claudeos-core init --lang ru # Русский
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
- ├── ⚙️ Backend-группы → backend-промпт
326
- └── 🎨 Frontend-группы frontend-промпт
327
-
328
- ├── [5] Pass 2 × 1 (claude -p) Слияние анализа (~1 мин)
329
- └── Консолидация ВСЕХ результатов Pass 1 (backend + frontend)
330
-
331
- ├── [6] Pass 3 × 1 (claude -p) ← Генерация всего (~3-5 мин)
332
- └── Объединённый промпт (цели backend + frontend)
333
-
334
- └── [7] Валидация ← Автозапуск health checker
335
- ```
336
-
337
- ### Почему 3 Pass?
338
-
339
- **Pass 1** единственный pass, который читает исходный код. Он выбирает репрезентативные файлы по доменам и извлекает паттерны по 55–95 категориям анализа (по стеку). Для крупных проектов Pass 1 запускается несколько раз — по одному на группу доменов. В мульти-стек проектах (например: Java backend + React frontend) backend и frontend используют **разные промпты анализа**, адаптированные под каждый стек.
340
-
341
- **Pass 2** объединяет все результаты Pass 1 в единый анализ: общие паттерны (100% совпадение), мажоритарные паттерны (50%+), доменно-специфичные паттерны, анти-паттерны по степени серьёзности и сквозные аспекты (именование, безопасность, БД, тестирование, логирование, производительность).
342
-
343
- **Pass 3** берёт объединённый анализ и генерирует всю файловую экосистему. Он никогда не читает исходный код только JSON анализа. В мульти-стек режиме промпт генерации объединяет цели backend и frontend, чтобы оба набора стандартов были сгенерированы за один pass.
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/ Skills скаффолдинга CRUD
367
- │ ├── guide/ Онбординг, FAQ, устранение неполадок (9 файлов)
368
- │ ├── plan/ Master Plans (бэкап/восстановление)
369
- │ ├── database/ Схема БД, руководство миграции
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) домены backend и frontend считаются вместе. 6 backend + 4 frontend = 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** | Сравнивает блоки `<file>` Master Plan с диском — 3 режима: check, refresh, restore |
410
- | **sync-checker** | Обнаруживает незарегистрированные файлы (на диске, но не в плане) и осиротевшие записи |
411
- | **content-validator** | Проверяет качество файлов пустые файлы, отсутствующие примеры ✅/❌, обязательные секции |
412
- | **pass-json-validator** | Проверяет структуру JSON Pass 1–3, обязательные ключи и полноту секций |
413
-
414
- ---
415
-
416
- ## Как Claude Code использует вашу документацию
417
-
418
- Вот как Claude Code фактически читает документацию, сгенерированную ClaudeOS-Core:
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
- Каждый файл правил ссылается на соответствующий standard в секции `## Reference`. Claude читает только standard, релевантный текущей задаче:
434
-
435
- - `claudeos-core/standard/**` Паттерны кодирования, примеры ✅/❌, соглашения об именах
436
- - `claudeos-core/database/**` — Схема БД (для запросов, мапперов, миграций)
437
-
438
- `00.standard-reference.md` служит каталогом для обнаружения standards без соответствующего правила.
439
-
440
- ### Файлы, которые НЕ читаются (экономия контекста)
441
-
442
- Явно исключены через секцию `DO NOT Read` правила standard-reference:
443
-
444
- | Папка | Причина исключения |
445
- |---|---|
446
- | `claudeos-core/plan/` | Резервные копии Master Plan (~340КБ). Используйте `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
- **В: Изменяет ли он мой исходный код?**
521
- Нет. Создаются только `CLAUDE.md`, `.claude/rules/` и `claudeos-core/`. Ваш существующий код никогда не изменяется.
522
-
523
- **В: Сколько это стоит?**
524
- Вызывает `claude -p` 3–7 раз. Это в рамках обычного использования Claude Code.
525
-
526
- **В: Нужно ли коммитить сгенерированные файлы в Git?**
527
- Рекомендуется. Ваша команда может использовать одни и те же стандарты Claude Code. Рассмотрите добавление `claudeos-core/generated/` в `.gitignore` (JSON анализа можно перегенерировать).
528
-
529
- **В: Что с проектами смешанного стека (например: Java backend + React frontend)?**
530
- Полная поддержка. ClaudeOS-Core автоматически определяет оба стека, помечает домены как `backend` или `frontend` и использует специфические промпты анализа для каждого. Pass 2 объединяет всё, а Pass 3 генерирует стандарты backend и frontend за один проход.
531
-
532
- **В: Что происходит при повторном запуске?**
533
- Если предыдущие результаты Pass 1/2 существуют, интерактивный промпт позволяет выбрать: **Continue** (продолжить с места остановки) или **Fresh** (удалить всё и начать заново). Используйте `--force`, чтобы пропустить промпт и всегда начинать заново. Pass 3 всегда перезапускается. Предыдущие версии можно восстановить из Master Plans.
534
-
535
- **В: Работает ли с Turborepo / pnpm workspaces / Lerna monorepo?**
536
- Да. ClaudeOS-Core определяет `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` или `package.json#workspaces` и автоматически сканирует `package.json` подпакетов для обнаружения зависимостей фреймворков/ORM/БД. Сканирование доменов охватывает паттерны `apps/*/src/` и `packages/*/src/`. Запускайте из корня monorepo.
537
-
538
- **В: Использует ли NestJS собственный шаблон или шаблон Express?**
539
- NestJS использует выделенный шаблон `node-nestjs` с NestJS-специфичными категориями анализа: декораторы `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, DI-контейнер, паттерны CQRS и `Test.createTestingModule`. Проекты Express используют отдельный шаблон `node-express`.
540
-
541
- **В: Как насчёт проектов Vue / Nuxt?**
542
- Vue/Nuxt использует выделенный шаблон `vue-nuxt`, охватывающий Composition API, `<script setup>`, defineProps/defineEmits, хранилища Pinia, `useFetch`/`useAsyncData`, серверные маршруты Nitro и `@nuxt/test-utils`. Проекты Next.js/React используют шаблон `node-nextjs`.
543
-
544
- **В: Поддерживается ли Kotlin?**
545
- Да. ClaudeOS-Core автоматически определяет Kotlin из `build.gradle.kts` или плагина kotlin в `build.gradle`. Используется специальный шаблон `kotlin-spring` с Kotlin-специфичным анализом (data class, sealed class, корутины, функции-расширения, MockK и т.д.).
546
-
547
- **В: Как насчёт архитектуры CQRS / BFF?**
548
- Полностью поддерживается для Kotlin мультимодульных проектов. ClaudeOS-Core читает `settings.gradle.kts`, определяет типы модулей (command, query, bff, integration) из их имён и группирует одинаковые домены по модулям Command/Query. Сгенерированные стандарты включают отдельные правила для command-контроллеров и query-контроллеров, паттерны BFF/Feign и соглашения о межмодульном взаимодействии.
549
-
550
- **В: Как насчёт 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, multi-module)
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 используют выделенные шаблоны с фреймворк-специфичными категориями анализа (например, `@Module`/`@Injectable`/Guards для NestJS, `<script setup>`/Pinia/useFetch для Vue). Для мульти-стек проектов генерируются отдельные `pass1-backend-prompt.md` и `pass1-frontend-prompt.md`, а `pass3-prompt.md` объединяет цели генерации обоих стеков.
573
-
574
- ---
575
-
576
- ## Поддержка Monorepo
577
-
578
- ClaudeOS-Core автоматически определяет JS/TS monorepo-структуры и сканирует подпакеты для обнаружения зависимостей.
579
-
580
- **Поддерживаемые маркеры monorepo** (определяются автоматически):
581
- - `turbo.json` (Turborepo)
582
- - `pnpm-workspace.yaml` (pnpm workspaces)
583
- - `lerna.json` (Lerna)
584
- - `package.json#workspaces` (npm/yarn workspaces)
585
-
586
- **Запускайте из корня monorepo** — 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`) — frontend-стек
595
- - Зависимости из `apps/api/package.json` (например, `express`, `prisma`) — backend-стек
596
- - Зависимости из `packages/db/package.json` (например, `drizzle-orm`) — ORM/БД
597
- - Пользовательские пути воркспейсов из `pnpm-workspace.yaml` (например, `services/*`)
598
-
599
- **Сканирование доменов также охватывает monorepo-структуры:**
600
- - `apps/api/src/modules/*/` и `apps/api/src/*/` для backend-доменов
601
- - `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` для frontend-доменов
602
- - `packages/*/src/*/` для доменов общих пакетов
603
-
604
- ```
605
- my-monorepo/ ← Запускайте здесь: npx claudeos-core init
606
- ├── turbo.json ← Автоопределение как Turborepo
607
- ├── apps/
608
- ├── web/ Next.js определён из apps/web/package.json
609
- │ │ ├── app/dashboard/ ← Frontend-домен обнаружен
610
- │ └── package.json { "dependencies": { "next": "^14" } }
611
- └── api/ Express определён из apps/api/package.json
612
- ├── src/modules/users/ Backend-домен обнаружен
613
- └── package.json { "dependencies": { "express": "^4" } }
614
- ├── packages/
615
- ├── db/ Drizzle определён из packages/db/package.json
616
- │ └── ui/
617
- └── package.json { "workspaces": ["apps/*", "packages/*"] }
618
- ```
619
-
620
- > **Примечание:** Для Kotlin/Java monorepo мультимодульное определение использует `settings.gradle.kts` (см. [Обнаружение доменов Kotlin мультимодульных проектов](#обнаружение-доменов-kotlin-мультимодульных-проектов) выше) и не требует JS monorepo-маркеров.
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
- **«0 доменов обнаружено» в Kotlin-проекте** Убедитесь, что в корне проекта есть `build.gradle.kts` (или `build.gradle` с плагином kotlin), а исходные файлы находятся в `**/src/main/kotlin/`. Для мультимодульных проектов `settings.gradle.kts` должен содержать операторы `include()`. Одномодульные Kotlin-проекты (без `settings.gradle`) также поддерживаются — домены извлекаются из структуры пакетов/классов в `src/main/kotlin/`.
631
-
632
- **«Язык определён как java вместо kotlin»** ClaudeOS-Core сначала проверяет корневой `build.gradle(.kts)`, затем файлы сборки подмодулей. Убедитесь, что хотя бы один содержит `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
- - **Глубокая поддержка монорепо** — Отдельные корни подпроектов, обнаружение воркспейсов
644
- - **Покрытие тестами**Расширение набора тестов (сейчас 256 тестов, покрывающих все сканеры, обнаружение стека, группировку доменов, парсинг планов, генерацию промптов, селекторы CLI, обнаружение monorepo и инструменты проверки)
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.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
+
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/` — потому что он прочитал ваш реальный код.
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 plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 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
+ Домены только с сервисами (без контроллеров) тоже обнаруживаются через директории `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/`. Пропускаются: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` и т.д.
94
+
95
+
96
+ ### Обнаружение доменов Kotlin мультимодульных проектов
97
+
98
+ Для проектов Kotlin с Gradle мультимодульной структурой (например: CQRS монорепо):
99
+
100
+ | Шаг | Действие | Пример |
101
+ |---|---|---|
102
+ | 1 | Сканирование `settings.gradle.kts` на наличие `include()` | Найдено 14 модулей |
103
+ | 2 | Определение типа модуля по имени | `reservation-command-server` → тип: `command` |
104
+ | 3 | Извлечение домена из имени модуля | `reservation-command-server` домен: `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 (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
115
+ - **RSC/Client разделение**: Обнаружение паттерна `client.tsx`, отслеживание разделения Server/Client
116
+ - **Нестандартные вложенные пути**: обнаружение страниц, компонентов и FSD-слоёв в `src/*/pages/`, `src/*/components/`, `src/*/features/` (например, `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
+ При запуске `init` без `--lang` появляется интерактивный селектор (стрелки или цифровые клавиши):
158
+
159
+ ```
160
+ ╔══════════════════════════════════════════════════╗
161
+ ║ Select generated document language (required) ║
162
+ ╚══════════════════════════════════════════════════╝
163
+
164
+ Сгенерированные файлы (CLAUDE.md, Standards, Rules,
165
+ Skills, Guides) будут написаны на русском языке.
166
+
167
+ 1. enEnglish
168
+ ...
169
+ ❯ 8. ru — Русский (Russian)
170
+ ...
171
+
172
+ ↑↓ Move 1-0 Jump Enter Select ESC Cancel
173
+ ```
174
+
175
+ При навигации описание переключается на соответствующий язык. Чтобы пропустить селектор:
176
+
177
+ ```bash
178
+ npx claudeos-core init --lang ru # Русский
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
+ ├── ⚙️ Backend-группы → backend-промпт
328
+ └── 🎨 Frontend-группы frontend-промпт
329
+
330
+ ├── [5] Pass 2 × 1 (claude -p) ← Слияние анализа (~1 мин)
331
+ │ └── Консолидация ВСЕХ результатов Pass 1 (backend + frontend)
332
+
333
+ ├── [6] Pass 3 × 1 (claude -p) ← Генерация всего (~3-5 мин)
334
+ └── Объединённый промпт (цели backend + frontend)
335
+
336
+ └── [7] Валидация ← Автозапуск health checker
337
+ ```
338
+
339
+ ### Почему 3 Pass?
340
+
341
+ **Pass 1** единственный pass, который читает исходный код. Он выбирает репрезентативные файлы по доменам и извлекает паттерны по 55–95 категориям анализа (по стеку). Для крупных проектов Pass 1 запускается несколько раз — по одному на группу доменов. В мульти-стек проектах (например: Java backend + React frontend) backend и frontend используют **разные промпты анализа**, адаптированные под каждый стек.
342
+
343
+ **Pass 2** объединяет все результаты Pass 1 в единый анализ: общие паттерны (100% совпадение), мажоритарные паттерны (50%+), доменно-специфичные паттерны, анти-паттерны по степени серьёзности и сквозные аспекты (именование, безопасность, БД, тестирование, логирование, производительность).
344
+
345
+ **Pass 3** берёт объединённый анализ и генерирует всю файловую экосистему. Он никогда не читает исходный код — только JSON анализа. В мульти-стек режиме промпт генерации объединяет цели backend и frontend, чтобы оба набора стандартов были сгенерированы за один pass.
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/ Skills скаффолдинга CRUD
369
+ │ ├── guide/ Онбординг, FAQ, устранение неполадок (9 файлов)
370
+ ├── plan/ Master Plans (бэкап/восстановление)
371
+ ├── database/ ← Схема БД, руководство миграции
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) домены backend и frontend считаются вместе. 6 backend + 4 frontend = 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** | Сравнивает блоки `<file>` Master Plan с диском 3 режима: check, refresh, restore |
412
+ | **sync-checker** | Обнаруживает незарегистрированные файлы (на диске, но не в плане) и осиротевшие записи |
413
+ | **content-validator** | Проверяет качество файлов — пустые файлы, отсутствующие примеры ✅/❌, обязательные секции |
414
+ | **pass-json-validator** | Проверяет структуру JSON Pass 1–3, обязательные ключи и полноту секций |
415
+
416
+ ---
417
+
418
+ ## Как Claude Code использует вашу документацию
419
+
420
+ Вот как Claude Code фактически читает документацию, сгенерированную ClaudeOS-Core:
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
+ Каждый файл правил ссылается на соответствующий standard в секции `## Reference`. Claude читает только standard, релевантный текущей задаче:
436
+
437
+ - `claudeos-core/standard/**` — Паттерны кодирования, примеры ✅/❌, соглашения об именах
438
+ - `claudeos-core/database/**` Схема БД (для запросов, мапперов, миграций)
439
+
440
+ `00.standard-reference.md` служит каталогом для обнаружения standards без соответствующего правила.
441
+
442
+ ### Файлы, которые НЕ читаются (экономия контекста)
443
+
444
+ Явно исключены через секцию `DO NOT Read` правила standard-reference:
445
+
446
+ | Папка | Причина исключения |
447
+ |---|---|
448
+ | `claudeos-core/plan/` | Резервные копии Master Plan (~340КБ). Используйте `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
+ **В: Изменяет ли он мой исходный код?**
523
+ Нет. Создаются только `CLAUDE.md`, `.claude/rules/` и `claudeos-core/`. Ваш существующий код никогда не изменяется.
524
+
525
+ **В: Сколько это стоит?**
526
+ Вызывает `claude -p` 3–7 раз. Это в рамках обычного использования Claude Code.
527
+
528
+ **В: Нужно ли коммитить сгенерированные файлы в Git?**
529
+ Рекомендуется. Ваша команда может использовать одни и те же стандарты Claude Code. Рассмотрите добавление `claudeos-core/generated/` в `.gitignore` (JSON анализа можно перегенерировать).
530
+
531
+ **В: Что с проектами смешанного стека (например: Java backend + React frontend)?**
532
+ Полная поддержка. ClaudeOS-Core автоматически определяет оба стека, помечает домены как `backend` или `frontend` и использует специфические промпты анализа для каждого. Pass 2 объединяет всё, а Pass 3 генерирует стандарты backend и frontend за один проход.
533
+
534
+ **В: Что происходит при повторном запуске?**
535
+ Если предыдущие результаты Pass 1/2 существуют, интерактивный промпт позволяет выбрать: **Continue** (продолжить с места остановки) или **Fresh** (удалить всё и начать заново). Используйте `--force`, чтобы пропустить промпт и всегда начинать заново. Pass 3 всегда перезапускается. Предыдущие версии можно восстановить из Master Plans.
536
+
537
+ **В: Работает ли с Turborepo / pnpm workspaces / Lerna monorepo?**
538
+ Да. ClaudeOS-Core определяет `turbo.json`, `pnpm-workspace.yaml`, `lerna.json` или `package.json#workspaces` и автоматически сканирует `package.json` подпакетов для обнаружения зависимостей фреймворков/ORM/БД. Сканирование доменов охватывает паттерны `apps/*/src/` и `packages/*/src/`. Запускайте из корня monorepo.
539
+
540
+ **В: Использует ли NestJS собственный шаблон или шаблон Express?**
541
+ NestJS использует выделенный шаблон `node-nestjs` с NestJS-специфичными категориями анализа: декораторы `@Module`, `@Injectable`, `@Controller`, Guards, Pipes, Interceptors, DI-контейнер, паттерны CQRS и `Test.createTestingModule`. Проекты Express используют отдельный шаблон `node-express`.
542
+
543
+ **В: Как насчёт проектов Vue / Nuxt?**
544
+ Vue/Nuxt использует выделенный шаблон `vue-nuxt`, охватывающий Composition API, `<script setup>`, defineProps/defineEmits, хранилища Pinia, `useFetch`/`useAsyncData`, серверные маршруты Nitro и `@nuxt/test-utils`. Проекты Next.js/React используют шаблон `node-nextjs`.
545
+
546
+ **В: Поддерживается ли Kotlin?**
547
+ Да. ClaudeOS-Core автоматически определяет Kotlin из `build.gradle.kts` или плагина kotlin в `build.gradle`. Используется специальный шаблон `kotlin-spring` с Kotlin-специфичным анализом (data class, sealed class, корутины, функции-расширения, MockK и т.д.).
548
+
549
+ **В: Как насчёт архитектуры CQRS / BFF?**
550
+ Полностью поддерживается для Kotlin мультимодульных проектов. ClaudeOS-Core читает `settings.gradle.kts`, определяет типы модулей (command, query, bff, integration) из их имён и группирует одинаковые домены по модулям Command/Query. Сгенерированные стандарты включают отдельные правила для command-контроллеров и query-контроллеров, паттерны BFF/Feign и соглашения о межмодульном взаимодействии.
551
+
552
+ **В: Как насчёт 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, multi-module)
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 используют выделенные шаблоны с фреймворк-специфичными категориями анализа (например, `@Module`/`@Injectable`/Guards для NestJS, `<script setup>`/Pinia/useFetch для Vue). Для мульти-стек проектов генерируются отдельные `pass1-backend-prompt.md` и `pass1-frontend-prompt.md`, а `pass3-prompt.md` объединяет цели генерации обоих стеков.
575
+
576
+ ---
577
+
578
+ ## Поддержка Monorepo
579
+
580
+ ClaudeOS-Core автоматически определяет JS/TS monorepo-структуры и сканирует подпакеты для обнаружения зависимостей.
581
+
582
+ **Поддерживаемые маркеры monorepo** (определяются автоматически):
583
+ - `turbo.json` (Turborepo)
584
+ - `pnpm-workspace.yaml` (pnpm workspaces)
585
+ - `lerna.json` (Lerna)
586
+ - `package.json#workspaces` (npm/yarn workspaces)
587
+
588
+ **Запускайте из корня monorepo** — 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`) — frontend-стек
597
+ - Зависимости из `apps/api/package.json` (например, `express`, `prisma`) — backend-стек
598
+ - Зависимости из `packages/db/package.json` (например, `drizzle-orm`) — ORM/БД
599
+ - Пользовательские пути воркспейсов из `pnpm-workspace.yaml` (например, `services/*`)
600
+
601
+ **Сканирование доменов также охватывает monorepo-структуры:**
602
+ - `apps/api/src/modules/*/` и `apps/api/src/*/` для backend-доменов
603
+ - `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/` для frontend-доменов
604
+ - `packages/*/src/*/` для доменов общих пакетов
605
+
606
+ ```
607
+ my-monorepo/ ← Запускайте здесь: npx claudeos-core init
608
+ ├── turbo.json Автоопределение как Turborepo
609
+ ├── apps/
610
+ ├── web/ Next.js определён из apps/web/package.json
611
+ │ ├── app/dashboard/ Frontend-домен обнаружен
612
+ │ └── package.json { "dependencies": { "next": "^14" } }
613
+ └── api/ Express определён из apps/api/package.json
614
+ ├── src/modules/users/ ← Backend-домен обнаружен
615
+ └── package.json { "dependencies": { "express": "^4" } }
616
+ ├── packages/
617
+ │ ├── db/ Drizzle определён из packages/db/package.json
618
+ │ └── ui/
619
+ └── package.json ← { "workspaces": ["apps/*", "packages/*"] }
620
+ ```
621
+
622
+ > **Примечание:** Для Kotlin/Java monorepo мультимодульное определение использует `settings.gradle.kts` (см. [Обнаружение доменов Kotlin мультимодульных проектов](#обнаружение-доменов-kotlin-мультимодульных-проектов) выше) и не требует JS monorepo-маркеров.
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
+ **«0 доменов обнаружено» в Kotlin-проекте**Убедитесь, что в корне проекта есть `build.gradle.kts` (или `build.gradle` с плагином kotlin), а исходные файлы находятся в `**/src/main/kotlin/`. Для мультимодульных проектов `settings.gradle.kts` должен содержать операторы `include()`. Одномодульные Kotlin-проекты (без `settings.gradle`) также поддерживаются — домены извлекаются из структуры пакетов/классов в `src/main/kotlin/`.
633
+
634
+ **«Язык определён как java вместо kotlin»** ClaudeOS-Core сначала проверяет корневой `build.gradle(.kts)`, затем файлы сборки подмодулей. Убедитесь, что хотя бы один содержит `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
+ - **Глубокая поддержка монорепо** — Отдельные корни подпроектов, обнаружение воркспейсов
646
+ - **Покрытие тестами** — Расширение набора тестов (сейчас 269 тестов, покрывающих все сканеры, обнаружение стека, группировку доменов, парсинг планов, генерацию промптов, селекторы CLI, обнаружение monorepo, инструменты проверки и обнаружение 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