@dzhechkov/keysarium 1.4.0 → 1.5.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.
Files changed (79) hide show
  1. package/README.md +50 -3
  2. package/bin/cli.js +0 -0
  3. package/package.json +5 -3
  4. package/templates/.claude/commands/analyst-manual.md +38 -0
  5. package/templates/.claude/commands/casarium.md +55 -4
  6. package/templates/.claude/commands/feature-adr.md +8 -0
  7. package/templates/.claude/rules/trust-tiers.md +5 -0
  8. package/templates/.claude/shards/feature-adr.shard.md +64 -10
  9. package/templates/.claude/shards/phase-ai-factory.shard.md +109 -0
  10. package/templates/.claude/skills/ai-factory-mapper/README.md +90 -0
  11. package/templates/.claude/skills/ai-factory-mapper/SKILL.md +309 -0
  12. package/templates/.claude/skills/ai-factory-mapper/assets/report-template.md +123 -0
  13. package/templates/.claude/skills/ai-factory-mapper/references/catalog.md +230 -0
  14. package/templates/.claude/skills/ai-factory-mapper/references/coverage-formula.md +219 -0
  15. package/templates/.claude/skills/ai-factory-mapper/references/decomposition-checklist.md +183 -0
  16. package/templates/.claude/skills/ai-factory-mapper/references/pattern-library.md +312 -0
  17. package/templates/.claude/skills/ai-factory-mapper/scripts/build_docx_report.js +423 -0
  18. package/templates/.claude/skills/analyst-manual-full/SKILL.md +286 -0
  19. package/templates/.claude/skills/edu-site-generator/SKILL.md +254 -0
  20. package/templates/.claude/skills/edu-site-generator/examples/sample-course-structure.md +116 -0
  21. package/templates/.claude/skills/edu-site-generator/modules/00-content-analysis.md +84 -0
  22. package/templates/.claude/skills/edu-site-generator/modules/01-course-structure.md +75 -0
  23. package/templates/.claude/skills/edu-site-generator/modules/02-data-generation.md +186 -0
  24. package/templates/.claude/skills/edu-site-generator/modules/03-scaffold.md +249 -0
  25. package/templates/.claude/skills/edu-site-generator/modules/04-components.md +130 -0
  26. package/templates/.claude/skills/edu-site-generator/modules/05-gamification.md +163 -0
  27. package/templates/.claude/skills/edu-site-generator/modules/06-deploy.md +88 -0
  28. package/templates/.claude/skills/edu-site-generator/modules/07-verification.md +97 -0
  29. package/templates/.claude/skills/edu-site-generator/references/component-templates.md +436 -0
  30. package/templates/.claude/skills/edu-site-generator/references/data-schemas.md +164 -0
  31. package/templates/.claude/skills/edu-site-generator/references/exercise-catalog.md +110 -0
  32. package/templates/.claude/skills/edu-site-generator/references/tech-stack.md +69 -0
  33. package/templates/.claude/skills/feature-adr/SKILL.md +245 -59
  34. package/templates/.claude/skills/feature-adr/modules/03-adr.md +43 -0
  35. package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +180 -0
  36. package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +56 -7
  37. package/templates/.claude/skills/feature-adr/modules/08-qe.md +87 -23
  38. package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +305 -0
  39. package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +143 -0
  40. package/templates/.claude/skills/feature-adr/references/agentic-qe/brutal-honesty-review.md +240 -0
  41. package/templates/.claude/skills/feature-adr/references/agentic-qe/chaos-engineering-resilience.md +163 -0
  42. package/templates/.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md +446 -0
  43. package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +111 -0
  44. package/templates/.claude/skills/feature-adr/references/agentic-qe/mutation-testing.md +236 -0
  45. package/templates/.claude/skills/feature-adr/references/agentic-qe/performance-testing.md +315 -0
  46. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +126 -0
  47. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-production-swarm.md +108 -0
  48. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-coverage-analysis.md +193 -0
  49. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-requirements-validation.md +254 -0
  50. package/templates/.claude/skills/feature-adr/references/agentic-qe/regression-testing.md +233 -0
  51. package/templates/.claude/skills/feature-adr/references/agentic-qe/risk-based-testing.md +212 -0
  52. package/templates/.claude/skills/feature-adr/references/agentic-qe/security-testing.md +311 -0
  53. package/templates/.claude/skills/feature-adr/references/agentic-qe/shift-left-testing.md +231 -0
  54. package/templates/.claude/skills/feature-adr/references/agentic-qe/tdd-london-chicago.md +249 -0
  55. package/templates/.claude/skills/transcript-site-generator/SKILL.md +287 -0
  56. package/templates/.claude/skills/transcript-site-generator/examples/sample-text-only-site.md +123 -0
  57. package/templates/.claude/skills/transcript-site-generator/examples/sample-transcript-site.md +134 -0
  58. package/templates/.claude/skills/transcript-site-generator/modules/00-input-analysis.md +132 -0
  59. package/templates/.claude/skills/transcript-site-generator/modules/01-content-parsing.md +117 -0
  60. package/templates/.claude/skills/transcript-site-generator/modules/02-site-generation.md +293 -0
  61. package/templates/.claude/skills/transcript-site-generator/modules/03-interactivity.md +406 -0
  62. package/templates/.claude/skills/transcript-site-generator/modules/04-deploy.md +130 -0
  63. package/templates/.claude/skills/transcript-site-generator/modules/05-verification.md +155 -0
  64. package/templates/.claude/skills/transcript-site-generator/references/component-catalog.md +86 -0
  65. package/templates/.claude/skills/transcript-site-generator/references/data-schemas.md +123 -0
  66. package/templates/.claude/skills/transcript-site-generator/references/tech-stack.md +132 -0
  67. package/templates/CLAUDE.md +9 -2
  68. package/templates/docs/edu-site-generator/01-deployment-guide.md +911 -0
  69. package/templates/docs/edu-site-generator/02-admin-guide.md +901 -0
  70. package/templates/docs/edu-site-generator/03-user-guide.md +1008 -0
  71. package/templates/docs/edu-site-generator/04-infrastructure-requirements.md +489 -0
  72. package/templates/docs/edu-site-generator/05-architecture.md +902 -0
  73. package/templates/docs/edu-site-generator/06-user-flows.md +759 -0
  74. package/templates/docs/transcript-site-generator/01-deployment-guide.md +1042 -0
  75. package/templates/docs/transcript-site-generator/02-admin-guide.md +918 -0
  76. package/templates/docs/transcript-site-generator/03-user-guide.md +925 -0
  77. package/templates/docs/transcript-site-generator/04-infrastructure-requirements.md +482 -0
  78. package/templates/docs/transcript-site-generator/05-architecture.md +1068 -0
  79. package/templates/docs/transcript-site-generator/06-user-flows.md +855 -0
@@ -0,0 +1,911 @@
1
+ # Руководство по развёртыванию @dzhechkov/skills-edu-site
2
+
3
+ ## Содержание
4
+
5
+ 1. [Предварительные требования](#1-предварительные-требования)
6
+ 2. [Методы установки](#2-методы-установки)
7
+ 3. [Установка с помощью npx](#3-установка-с-помощью-npx)
8
+ 4. [Автономная установка (standalone)](#4-автономная-установка-standalone)
9
+ 5. [Установка рядом с Keysarium](#5-установка-рядом-с-keysarium)
10
+ 6. [Проверка установки](#6-проверка-установки)
11
+ 7. [Первый запуск — пошаговое руководство](#7-первый-запуск--пошаговое-руководство)
12
+ 8. [Установка зависимостей и сборка сгенерированного сайта](#8-установка-зависимостей-и-сборка-сгенерированного-сайта)
13
+ 9. [Интеграция с @dzhechkov/keysarium](#9-интеграция-с-dzhechkokeysarium)
14
+ 10. [Обновление и удаление](#10-обновление-и-удаление)
15
+ 11. [Устранение неполадок](#11-устранение-неполадок)
16
+
17
+ ---
18
+
19
+ ## 1. Предварительные требования
20
+
21
+ Перед установкой убедитесь, что на вашей машине установлено следующее программное обеспечение.
22
+
23
+ ### 1.1. Node.js 16+
24
+
25
+ `@dzhechkov/skills-edu-site` требует Node.js версии 16 или выше. Рекомендуется использовать Node.js 20 LTS.
26
+
27
+ ```bash
28
+ # Проверка установленной версии
29
+ node --version
30
+ # Ожидаемый вывод: v16.x.x или выше (рекомендуется v20+)
31
+
32
+ npm --version
33
+ # Ожидаемый вывод: 8.x.x или выше
34
+ ```
35
+
36
+ Если Node.js не установлен или версия ниже требуемой:
37
+
38
+ ```bash
39
+ # Установка через nvm (рекомендуемый способ, все платформы)
40
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
41
+ source ~/.bashrc
42
+ nvm install 20
43
+ nvm use 20
44
+ nvm alias default 20
45
+
46
+ # Установка на Ubuntu/Debian (через NodeSource)
47
+ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
48
+ sudo apt install -y nodejs
49
+
50
+ # Установка на macOS (через Homebrew)
51
+ brew install node@20
52
+ echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
53
+ source ~/.zshrc
54
+
55
+ # Установка на Windows (через winget)
56
+ winget install OpenJS.NodeJS.LTS
57
+ ```
58
+
59
+ ### 1.2. Claude Code CLI
60
+
61
+ `@dzhechkov/skills-edu-site` устанавливает скиллы и команды в проект Claude Code. Сам Claude Code CLI должен быть установлен и настроен.
62
+
63
+ ```bash
64
+ # Установка Claude Code CLI глобально
65
+ npm install -g @anthropic-ai/claude-code
66
+
67
+ # Проверка установки
68
+ claude --version
69
+ # Ожидаемый вывод: claude/x.x.x
70
+
71
+ # Если возникает ошибка прав доступа при глобальной установке:
72
+ # Способ 1: использование sudo (только для Linux/macOS)
73
+ sudo npm install -g @anthropic-ai/claude-code
74
+
75
+ # Способ 2: настройка npm prefix (рекомендуется, без sudo)
76
+ mkdir -p ~/.npm-global
77
+ npm config set prefix '~/.npm-global'
78
+ echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
79
+ source ~/.bashrc
80
+ npm install -g @anthropic-ai/claude-code
81
+ ```
82
+
83
+ ### 1.3. npm
84
+
85
+ npm используется как менеджер пакетов для установки зависимостей сгенерированного SPA-приложения (React, Vite, TailwindCSS v4, Zustand).
86
+
87
+ ```bash
88
+ # npm устанавливается автоматически вместе с Node.js
89
+ npm --version
90
+ # Ожидаемый вывод: 8.x.x или выше (рекомендуется npm 10+)
91
+
92
+ # Если npm устарел — обновите:
93
+ npm install -g npm@latest
94
+ ```
95
+
96
+ ### 1.4. Git (опционально, но рекомендуется)
97
+
98
+ Git необходим для управления версиями и для деплоя на GitHub Pages через GitHub Actions.
99
+
100
+ ```bash
101
+ # Проверка установки
102
+ git --version
103
+
104
+ # Установка на Ubuntu/Debian
105
+ sudo apt install -y git
106
+
107
+ # Установка на macOS
108
+ brew install git
109
+
110
+ # Базовая настройка (если git установлен впервые)
111
+ git config --global user.name "Your Name"
112
+ git config --global user.email "your@email.com"
113
+ ```
114
+
115
+ ### 1.5. GitHub аккаунт (для деплоя на GitHub Pages)
116
+
117
+ Для автоматического деплоя сгенерированного сайта на GitHub Pages потребуется:
118
+
119
+ 1. Аккаунт на [github.com](https://github.com)
120
+ 2. Репозиторий, в который будет загружен сгенерированный проект
121
+ 3. Включённый GitHub Pages в настройках репозитория (Settings > Pages > Source: GitHub Actions)
122
+
123
+ ---
124
+
125
+ ## 2. Методы установки
126
+
127
+ Пакет `@dzhechkov/skills-edu-site` можно установить тремя способами в зависимости от вашего сценария использования:
128
+
129
+ | Метод | Когда использовать | Команда |
130
+ |-------|-------------------|---------|
131
+ | **npx (разовая установка)** | Быстрый старт без глобальной установки | `npx @dzhechkov/skills-edu-site init` |
132
+ | **Глобальная установка** | Частое использование в нескольких проектах | `npm install -g @dzhechkov/skills-edu-site` |
133
+ | **Рядом с Keysarium** | Уже установлен `@dzhechkov/keysarium` | `npx @dzhechkov/skills-edu-site init` (определяет keysarium автоматически) |
134
+
135
+ Во всех случаях команда `init` копирует одни и те же файлы в проект. Разница только в том, как запускается CLI.
136
+
137
+ ---
138
+
139
+ ## 3. Установка с помощью npx
140
+
141
+ `npx` позволяет запустить пакет без предварительной установки. Это рекомендуемый способ для первого знакомства с пакетом.
142
+
143
+ ### 3.1. Перейдите в директорию проекта
144
+
145
+ ```bash
146
+ # Перейдите в корень проекта, куда нужно установить edu-site skill
147
+ cd /path/to/your-project
148
+
149
+ # Убедитесь, что вы в правильной директории
150
+ pwd
151
+ ls
152
+ ```
153
+
154
+ Директория проекта должна содержать файлы вашего проекта Claude Code (или быть пустой, если создаёте новый проект).
155
+
156
+ ### 3.2. Запустите установку
157
+
158
+ ```bash
159
+ npx @dzhechkov/skills-edu-site init
160
+ ```
161
+
162
+ CLI отобразит баннер и план установки:
163
+
164
+ ```
165
+ +------------------------------------------------------+
166
+ | DZ-SKILLS-EDU-SITE -- Educational SPA Generator |
167
+ | Gamified learning sites with React + Vite + Tailwind |
168
+ +------------------------------------------------------+
169
+
170
+ Installation plan:
171
+
172
+ + Edu-Site Skill (.claude/skills/edu-site-generator/)
173
+ + Edu-Site Commands (.claude/commands/edu-site*.md)
174
+ + Edu-Site Rules (.claude/rules/edu-site-*.md)
175
+
176
+ [1/3] Installing Edu-Site Skill...
177
+ [2/3] Installing Edu-Site Commands...
178
+ [3/3] Installing Edu-Site Rules...
179
+
180
+ Created .edu-site-skills.json manifest
181
+
182
+ Edu-Site skill pack installed!
183
+
184
+ Installed components:
185
+ - Edu-Site Skill (.claude/skills/edu-site-generator/)
186
+ - Edu-Site Commands (.claude/commands/edu-site*.md)
187
+ - Edu-Site Rules (.claude/rules/edu-site-*.md)
188
+
189
+ Next steps:
190
+ 1. Open Claude Code in this directory
191
+ 2. Provide documentation or topic to generate a learning site
192
+ 3. The 8-step pipeline will create a complete SPA:
193
+ Content Analysis -> Course Structure -> Data Generation ->
194
+ Scaffold -> Components -> Gamification -> Deploy -> Verification
195
+ ```
196
+
197
+ ### 3.3. Предпросмотр без записи (dry-run)
198
+
199
+ Если хотите узнать, что именно будет установлено, не записывая файлы:
200
+
201
+ ```bash
202
+ npx @dzhechkov/skills-edu-site init --dry-run
203
+ ```
204
+
205
+ Команда покажет план установки и завершится без изменений.
206
+
207
+ ### 3.4. Принудительная перезапись (force)
208
+
209
+ Если edu-site skill уже установлен и вы хотите заменить файлы свежими из пакета:
210
+
211
+ ```bash
212
+ npx @dzhechkov/skills-edu-site init --force
213
+ ```
214
+
215
+ > **Внимание:** `--force` перезапишет существующие файлы edu-site. Ваши пользовательские модификации будут утеряны. Сначала сделайте бэкап или зафиксируйте изменения в git.
216
+
217
+ ---
218
+
219
+ ## 4. Автономная установка (standalone)
220
+
221
+ Если вы планируете использовать edu-site генератор регулярно и не хотите каждый раз запускать `npx`, установите пакет глобально.
222
+
223
+ ### 4.1. Глобальная установка
224
+
225
+ ```bash
226
+ npm install -g @dzhechkov/skills-edu-site
227
+
228
+ # Проверка установки
229
+ skills-edu-site --version
230
+ # или
231
+ npx @dzhechkov/skills-edu-site --version
232
+ ```
233
+
234
+ ### 4.2. Инициализация в проекте
235
+
236
+ После глобальной установки перейдите в проект и запустите:
237
+
238
+ ```bash
239
+ cd /path/to/your-project
240
+ skills-edu-site init
241
+ ```
242
+
243
+ Или по-прежнему через npx (будет использована кешированная локальная версия):
244
+
245
+ ```bash
246
+ npx @dzhechkov/skills-edu-site init
247
+ ```
248
+
249
+ ### 4.3. Структура установленных файлов
250
+
251
+ После `init` в корне проекта появятся следующие файлы и директории:
252
+
253
+ ```
254
+ your-project/
255
+ +-- .edu-site-skills.json <- Манифест установки
256
+ +-- .claude/
257
+ +-- skills/
258
+ | +-- edu-site-generator/
259
+ | +-- SKILL.md <- Основной оркестратор
260
+ | +-- modules/
261
+ | | +-- 01-content-analysis.md <- Шаг 1: Анализ контента
262
+ | | +-- 02-course-structure.md <- Шаг 2: Структура курса
263
+ | | +-- 03-data-generation.md <- Шаг 3: Генерация данных
264
+ | | +-- 04-scaffold.md <- Шаг 4: Scaffolding проекта
265
+ | | +-- 05-components.md <- Шаг 5: React-компоненты
266
+ | | +-- 06-gamification.md <- Шаг 6: Геймификация
267
+ | | +-- 07-deploy.md <- Шаг 7: Деплой (GitHub Pages)
268
+ | | +-- 08-verification.md <- Шаг 8: Верификация
269
+ | +-- references/
270
+ | | +-- exercise-types.md <- 6 типов упражнений
271
+ | | +-- component-patterns.md <- Паттерны React-компонентов
272
+ | | +-- tailwind-v4-guide.md <- Справочник TailwindCSS v4
273
+ | | +-- zustand-patterns.md <- Паттерны Zustand store
274
+ | | +-- achievement-templates.md <- Шаблоны достижений
275
+ | +-- examples/
276
+ | +-- sample-sections.js <- Пример файла sections.js
277
+ | +-- sample-exercises.js <- Пример файла exercises.js
278
+ +-- commands/
279
+ | +-- edu-site.md <- /edu-site -- полный пайплайн
280
+ +-- rules/
281
+ +-- edu-site-conventions.md <- Правила генерации
282
+ ```
283
+
284
+ Манифест `.edu-site-skills.json` записывает версию, список компонентов и все установленные файлы. Он используется командами `update`, `remove`, `list` и `doctor`.
285
+
286
+ ---
287
+
288
+ ## 5. Установка рядом с Keysarium
289
+
290
+ `@dzhechkov/skills-edu-site` разработан для совместной работы с `@dzhechkov/keysarium`. При установке в проект, где уже есть Keysarium, edu-site автоматически определяет это и интегрируется.
291
+
292
+ ### 5.1. Определение Keysarium
293
+
294
+ Команда `init` ищет файл `.keysarium.json` в корне проекта. Если он найден — edu-site выводит сообщение об интеграции:
295
+
296
+ ```
297
+ +--------------------------------------------------+
298
+ | @dzhechkov/keysarium detected! |
299
+ | Version: 1.0.0 |
300
+ | Edu-Site will integrate with existing setup. |
301
+ | Shared directories: .claude/commands, rules |
302
+ +--------------------------------------------------+
303
+ ```
304
+
305
+ ### 5.2. Порядок установки с Keysarium
306
+
307
+ Рекомендуемый порядок установки (если оба пакета устанавливаются с нуля):
308
+
309
+ ```bash
310
+ # Шаг 1: Установите Keysarium первым
311
+ npx @dzhechkov/keysarium init
312
+
313
+ # Шаг 2: Установите edu-site поверх
314
+ npx @dzhechkov/skills-edu-site init
315
+ ```
316
+
317
+ Edu-site добавит свои файлы в уже существующие директории `.claude/commands/` и `.claude/rules/`, не затрагивая файлы Keysarium.
318
+
319
+ ### 5.3. Разделение файлов (изоляция)
320
+
321
+ Оба пакета используют соглашение об именовании, чтобы не конфликтовать:
322
+
323
+ | Пакет | Команды | Правила | Скиллы |
324
+ |-------|---------|---------|--------|
325
+ | Keysarium | `casarium.md`, `discovery.md`, ... | `agent-swarm.md`, `checkpoint-protocol.md`, ... | keysarium-скиллы |
326
+ | Edu-Site | `edu-site.md` | `edu-site-conventions.md` | `edu-site-generator/` |
327
+
328
+ Все файлы edu-site начинаются с префикса `edu-site`. Пересечений нет.
329
+
330
+ ---
331
+
332
+ ## 6. Проверка установки
333
+
334
+ ### 6.1. Команда doctor
335
+
336
+ Запустите `doctor` для проверки здоровья установки сразу после `init`:
337
+
338
+ ```bash
339
+ npx @dzhechkov/skills-edu-site doctor
340
+ ```
341
+
342
+ Пример вывода при здоровой установке:
343
+
344
+ ```
345
+ Running health checks for @dzhechkov/skills-edu-site v1.0.0...
346
+
347
+ - Files exist -- All 16 manifest files present
348
+ - Edu-Site skill pack -- SKILL.md present, 8 module(s) in skill pack
349
+ - Edu-Site commands -- 1 command(s): edu-site.md
350
+ - Edu-Site rules -- 1 rule(s): edu-site-conventions.md
351
+ - References -- 5 reference file(s) present
352
+ - Examples -- 2 example file(s) present
353
+ - Keysarium integration -- Active (Keysarium v1.0.0)
354
+
355
+ 7/7 checks passed -- Edu-Site installation is healthy!
356
+ ```
357
+
358
+ ### 6.2. Команда list
359
+
360
+ Для просмотра установленных компонентов с детальным перечнем файлов:
361
+
362
+ ```bash
363
+ npx @dzhechkov/skills-edu-site list
364
+ ```
365
+
366
+ ### 6.3. Проверка в Claude Code
367
+
368
+ Откройте Claude Code в директории проекта и убедитесь, что команда edu-site доступна:
369
+
370
+ ```bash
371
+ # Откройте Claude Code в директории проекта
372
+ claude
373
+
374
+ # Внутри Claude Code проверьте доступность команды
375
+ /edu-site --help
376
+ ```
377
+
378
+ ---
379
+
380
+ ## 7. Первый запуск -- пошаговое руководство
381
+
382
+ Этот раздел проводит вас через полный пайплайн генерации образовательного SPA-приложения.
383
+
384
+ ### 7.1. Сценарий
385
+
386
+ Мы создадим интерактивный обучающий сайт по документации CLI-инструмента, используя 8-шаговый пайплайн.
387
+
388
+ ### 7.2. Подготовка входных данных
389
+
390
+ Edu-site генератор принимает различные типы входных данных:
391
+
392
+ | Тип входа | Пример |
393
+ |-----------|--------|
394
+ | URL документации | `https://docs.example.com/cli-reference` |
395
+ | Локальный файл | `./docs/cli-guide.md` |
396
+ | Вставленный текст | Прямой текст в чат Claude Code |
397
+ | Описание темы | "Обучение основам Docker для начинающих разработчиков" |
398
+
399
+ ### 7.3. Запуск пайплайна
400
+
401
+ В Claude Code введите:
402
+
403
+ ```
404
+ /edu-site https://docs.example.com/cli-reference
405
+ ```
406
+
407
+ Или с текстовым описанием:
408
+
409
+ ```
410
+ /edu-site "Создай обучающий сайт по основам Git: базовые команды, ветвление, слияние, работа с удалёнными репозиториями"
411
+ ```
412
+
413
+ ### 7.4. 8-шаговый пайплайн
414
+
415
+ Пайплайн состоит из 8 последовательных шагов:
416
+
417
+ **Шаг 1: Content Analysis (Анализ контента)**
418
+
419
+ Claude Code анализирует предоставленные материалы, определяет язык (ru/en автоматически), выделяет ключевые темы, концепции и терминологию.
420
+
421
+ ```
422
+ Step 1/8: Content Analysis
423
+ Detected language: en
424
+ Topics identified: 12
425
+ Key concepts: 34
426
+ Estimated sections: 5
427
+ ```
428
+
429
+ **Шаг 2: Course Structure (Структура курса)**
430
+
431
+ На основе анализа формируется иерархия секций, определяется порядок изучения и зависимости между темами.
432
+
433
+ ```
434
+ Step 2/8: Course Structure
435
+ Sections planned:
436
+ 1. Getting Started (3 exercises)
437
+ 2. Core Commands (5 exercises)
438
+ 3. Branching (4 exercises)
439
+ 4. Merging (3 exercises)
440
+ 5. Remote Repositories (4 exercises)
441
+ Total exercises: 19
442
+ ```
443
+
444
+ **Шаг 3: Data Generation (Генерация данных)**
445
+
446
+ Генерируются 4 файла данных: `sections.js`, `exercises.js`, `quizQuestions.js`, `achievements.js`. Каждый содержит структурированные данные для работы приложения.
447
+
448
+ ```
449
+ Step 3/8: Data Generation
450
+ Files planned:
451
+ - src/data/sections.js (5 sections, 24 subsections)
452
+ - src/data/exercises.js (19 exercises, 6 types)
453
+ - src/data/quizQuestions.js (25 questions for final test)
454
+ - src/data/achievements.js (12 achievements)
455
+ ```
456
+
457
+ **Шаг 4: Scaffold (Каркас проекта)**
458
+
459
+ Создаётся структура проекта: Vite конфиг, TailwindCSS v4 настройка, package.json со всеми зависимостями, index.html с SEO-тегами.
460
+
461
+ ```
462
+ Step 4/8: Scaffold
463
+ Created:
464
+ - package.json (React 19, Vite, TailwindCSS v4, Zustand)
465
+ - vite.config.js (base path for GitHub Pages)
466
+ - index.html (OG tags, JSON-LD schema)
467
+ - tailwind.config.js / app.css (theme configuration)
468
+ - .github/workflows/deploy.yml (GitHub Actions)
469
+ ```
470
+
471
+ **Шаг 5: Components (React-компоненты)**
472
+
473
+ Генерируются все React-компоненты: макет (Header, Footer, Sidebar), интерактивные упражнения (6 типов), общие компоненты (Toast, ProgressBar, Badge), страницы (Home, Section, FinalTest, Results).
474
+
475
+ ```
476
+ Step 5/8: Components
477
+ Generated:
478
+ - Layout: Header, Footer, Sidebar, Navigation
479
+ - Interactive: Quiz, Flashcards, Matching, DragToOrder,
480
+ CommandBuilder, ScenarioGame
481
+ - Common: Toast, ProgressBar, Badge, AchievementPopup
482
+ - Pages: HomePage, SectionPage, FinalTestPage, ResultsPage
483
+ Total: 22 components
484
+ ```
485
+
486
+ **Шаг 6: Gamification (Геймификация)**
487
+
488
+ Настраивается Zustand store с persist middleware (localStorage), система достижений, подсчёт очков, progress tracking.
489
+
490
+ ```
491
+ Step 6/8: Gamification
492
+ Configured:
493
+ - Zustand store with persist middleware
494
+ - Points system: +10 per exercise, +5 bonus for streak
495
+ - 12 achievements with unlock criteria
496
+ - Progress tracking per section
497
+ - Toast notifications for achievements
498
+ ```
499
+
500
+ **Шаг 7: Deploy (Деплой)**
501
+
502
+ Генерируется GitHub Actions workflow для автоматического деплоя на GitHub Pages. Настраивается корректный base path в Vite конфиге.
503
+
504
+ ```
505
+ Step 7/8: Deploy
506
+ Created:
507
+ - .github/workflows/deploy.yml
508
+ - Vite base path: /<repository-name>/
509
+ - GitHub Pages configuration ready
510
+ ```
511
+
512
+ **Шаг 8: Verification (Верификация)**
513
+
514
+ Проверяется корректность всех сгенерированных файлов: структура проекта, импорты, наличие всех данных, валидность JSX.
515
+
516
+ ```
517
+ Step 8/8: Verification
518
+ Checks:
519
+ - All imports resolve: PASS
520
+ - Data file structure: PASS
521
+ - Component hierarchy: PASS
522
+ - Router configuration: PASS
523
+ - Build simulation: PASS
524
+
525
+ All 5 checks passed!
526
+ ```
527
+
528
+ ### 7.5. Результат
529
+
530
+ По завершении пайплайна вы получите полностью рабочий проект в указанной директории:
531
+
532
+ ```
533
+ generated-site/
534
+ +-- package.json
535
+ +-- vite.config.js
536
+ +-- index.html
537
+ +-- tailwind.config.js
538
+ +-- src/
539
+ | +-- App.jsx
540
+ | +-- main.jsx
541
+ | +-- app.css
542
+ | +-- data/
543
+ | | +-- sections.js
544
+ | | +-- exercises.js
545
+ | | +-- quizQuestions.js
546
+ | | +-- achievements.js
547
+ | +-- components/
548
+ | | +-- layout/
549
+ | | +-- interactive/
550
+ | | +-- common/
551
+ | | +-- sections/
552
+ | +-- pages/
553
+ | +-- store/
554
+ | | +-- useStore.js
555
+ | +-- hooks/
556
+ +-- .github/
557
+ +-- workflows/
558
+ +-- deploy.yml
559
+ ```
560
+
561
+ ---
562
+
563
+ ## 8. Установка зависимостей и сборка сгенерированного сайта
564
+
565
+ После генерации проекта необходимо установить зависимости и выполнить сборку.
566
+
567
+ ### 8.1. Установка зависимостей
568
+
569
+ ```bash
570
+ cd generated-site/
571
+ npm install
572
+ ```
573
+
574
+ Это установит все зависимости из `package.json`:
575
+
576
+ | Зависимость | Версия | Назначение |
577
+ |-------------|--------|------------|
578
+ | react | ^19.0.0 | UI-библиотека |
579
+ | react-dom | ^19.0.0 | DOM-рендеринг |
580
+ | react-router-dom | ^7.0.0 | Маршрутизация SPA |
581
+ | zustand | ^5.0.0 | State management |
582
+ | @tailwindcss/vite | ^4.0.0 | TailwindCSS v4 интеграция с Vite |
583
+ | tailwindcss | ^4.0.0 | CSS-фреймворк |
584
+ | vite | ^6.0.0 | Сборщик |
585
+ | @vitejs/plugin-react | ^4.0.0 | React-плагин для Vite |
586
+
587
+ ### 8.2. Запуск dev-сервера
588
+
589
+ ```bash
590
+ npm run dev
591
+ ```
592
+
593
+ Откройте `http://localhost:5173` в браузере. Вы увидите главную страницу образовательного сайта с навигацией по секциям.
594
+
595
+ ### 8.3. Production-сборка
596
+
597
+ ```bash
598
+ npm run build
599
+ ```
600
+
601
+ Собранные файлы появятся в директории `dist/`. Размер: примерно 200-500 КБ в зависимости от объёма контента.
602
+
603
+ ### 8.4. Предпросмотр production-сборки
604
+
605
+ ```bash
606
+ npm run preview
607
+ ```
608
+
609
+ Откройте предложенный URL для проверки production-версии локально.
610
+
611
+ ### 8.5. Деплой на GitHub Pages
612
+
613
+ ```bash
614
+ # Инициализируйте git (если ещё нет)
615
+ git init
616
+ git add .
617
+ git commit -m "Initial commit: generated edu site"
618
+
619
+ # Добавьте remote и push
620
+ git remote add origin https://github.com/your-username/your-repo.git
621
+ git push -u origin main
622
+ ```
623
+
624
+ После push GitHub Actions автоматически запустит workflow `deploy.yml`, который:
625
+ 1. Установит зависимости (`npm install`)
626
+ 2. Соберёт проект (`npm run build`)
627
+ 3. Задеплоит `dist/` на GitHub Pages
628
+
629
+ Сайт будет доступен по адресу `https://your-username.github.io/your-repo/`.
630
+
631
+ ---
632
+
633
+ ## 9. Интеграция с @dzhechkov/keysarium
634
+
635
+ ### 9.1. Автоматическое определение
636
+
637
+ При запуске `npx @dzhechkov/skills-edu-site init` в директории, где уже установлен Keysarium (есть файл `.keysarium.json`), edu-site автоматически определяет это и интегрируется.
638
+
639
+ Проверить интеграцию можно через `doctor`:
640
+
641
+ ```bash
642
+ npx @dzhechkov/skills-edu-site doctor
643
+ ```
644
+
645
+ Строка `Keysarium integration` в выводе покажет статус:
646
+ - `Active (Keysarium v1.0.0)` — интеграция активна
647
+ - `Not installed (standalone edu-site mode)` — edu-site работает автономно
648
+
649
+ ### 9.2. Использование в пайплайне Keysarium
650
+
651
+ Edu-site генератор может быть использован как дополнительный инструмент в Keysarium пайплайне для создания обучающих материалов по результатам исследования:
652
+
653
+ ```
654
+ # После завершения исследования — создать обучающий сайт по его результатам
655
+ /edu-site researches/my-case/02_research_findings.md
656
+
657
+ # Создать обучающий сайт по документации разрабатываемого продукта
658
+ /edu-site "Обучение работе с [название продукта из кейса]"
659
+ ```
660
+
661
+ ### 9.3. Параллельное использование команд
662
+
663
+ После установки обоих пакетов в Claude Code доступны команды обоих пайплайнов одновременно:
664
+
665
+ ```
666
+ # Keysarium команды
667
+ /casarium /discovery /explore-case /research
668
+ /cjm-prototype /solve /architecture-phase /presentation
669
+
670
+ # Edu-Site команда
671
+ /edu-site
672
+ ```
673
+
674
+ Конфликтов между командами нет.
675
+
676
+ ---
677
+
678
+ ## 10. Обновление и удаление
679
+
680
+ ### 10.1. Обновление установки
681
+
682
+ Для обновления edu-site до последней версии:
683
+
684
+ ```bash
685
+ npx @dzhechkov/skills-edu-site update
686
+ ```
687
+
688
+ Команда `update`:
689
+ 1. Читает манифест `.edu-site-skills.json`, определяет установленные компоненты
690
+ 2. Сравнивает текущие файлы с шаблонами нового пакета
691
+ 3. Показывает diff по каждому изменённому файлу
692
+ 4. Запрашивает подтверждение перед обновлением
693
+
694
+ ```bash
695
+ # Предпросмотр изменений без записи
696
+ npx @dzhechkov/skills-edu-site update --dry-run
697
+ ```
698
+
699
+ > **Рекомендация:** Перед обновлением зафиксируйте текущее состояние в git:
700
+ > ```bash
701
+ > git add .claude/ .edu-site-skills.json
702
+ > git commit -m "snapshot before skills-edu-site update"
703
+ > ```
704
+
705
+ ### 10.2. Удаление установки
706
+
707
+ ```bash
708
+ npx @dzhechkov/skills-edu-site remove
709
+ ```
710
+
711
+ Команда `remove` удаляет только файлы, перечисленные в манифесте. Файлы Keysarium (если они есть в тех же директориях) не затрагиваются. После удаления манифест `.edu-site-skills.json` также удаляется.
712
+
713
+ > **Важно:** Ранее сгенерированные сайты (в отдельных директориях) НЕ удаляются командой `remove`. Удаляются только файлы скилла из `.claude/`.
714
+
715
+ ---
716
+
717
+ ## 11. Устранение неполадок
718
+
719
+ ### 11.1. Ошибка: "Edu-Site skill pack is already installed"
720
+
721
+ ```
722
+ WARN Edu-Site skill pack is already installed in this directory.
723
+ Run @dzhechkov/skills-edu-site update to update, or use --force to overwrite.
724
+ ```
725
+
726
+ **Причина:** Файл `.edu-site-skills.json` уже существует в директории.
727
+
728
+ **Решение:**
729
+ ```bash
730
+ # Вариант 1: обновить существующую установку
731
+ npx @dzhechkov/skills-edu-site update
732
+
733
+ # Вариант 2: принудительно перезаписать
734
+ npx @dzhechkov/skills-edu-site init --force
735
+ ```
736
+
737
+ ### 11.2. Ошибки Vite при сборке (npm run build)
738
+
739
+ ```
740
+ Error: Could not resolve "./components/interactive/Quiz" from "src/App.jsx"
741
+ ```
742
+
743
+ **Причина:** Отсутствует файл компонента или неверный путь импорта.
744
+
745
+ **Решение:**
746
+ 1. Убедитесь, что пайплайн завершился без ошибок (все 8 шагов показали PASS)
747
+ 2. Проверьте структуру директории `src/components/`:
748
+ ```bash
749
+ find src/components -name "*.jsx" | sort
750
+ ```
751
+ 3. Если файл действительно отсутствует — повторно запустите `/edu-site` с теми же входными данными
752
+
753
+ ### 11.3. Ошибки TailwindCSS v4
754
+
755
+ ```
756
+ Error: Cannot find module 'tailwindcss'
757
+ ```
758
+
759
+ **Причина:** Зависимости не установлены или установлена несовместимая версия TailwindCSS.
760
+
761
+ **Решение:**
762
+ ```bash
763
+ # Убедитесь, что зависимости установлены
764
+ npm install
765
+
766
+ # Если проблема сохраняется — очистите кеш и переустановите
767
+ rm -rf node_modules package-lock.json
768
+ npm install
769
+ ```
770
+
771
+ **Ошибка:** `@tailwindcss/vite requires TailwindCSS v4`
772
+
773
+ ```bash
774
+ # Проверьте версию TailwindCSS
775
+ npm ls tailwindcss
776
+
777
+ # Должна быть v4.x.x
778
+ # Если версия ниже — обновите:
779
+ npm install tailwindcss@latest @tailwindcss/vite@latest
780
+ ```
781
+
782
+ ### 11.4. Ошибка: отсутствуют зависимости при npm install
783
+
784
+ ```
785
+ npm ERR! peer dep missing: react@^19.0.0
786
+ ```
787
+
788
+ **Решение:**
789
+ ```bash
790
+ # Установите с флагом --legacy-peer-deps если есть конфликты
791
+ npm install --legacy-peer-deps
792
+
793
+ # Или обновите Node.js до версии 20+ и npm до 10+
794
+ nvm install 20
795
+ nvm use 20
796
+ npm install
797
+ ```
798
+
799
+ ### 11.5. GitHub Pages показывает 404
800
+
801
+ **Причина 1:** Неверный base path в `vite.config.js`.
802
+
803
+ **Решение:**
804
+ Откройте `vite.config.js` и проверьте значение `base`:
805
+ ```javascript
806
+ // Должно совпадать с именем вашего репозитория
807
+ export default defineConfig({
808
+ base: '/your-repo-name/',
809
+ // ...
810
+ })
811
+ ```
812
+
813
+ Если репозиторий имеет формат `username.github.io` (user site), base должен быть `/`:
814
+ ```javascript
815
+ export default defineConfig({
816
+ base: '/',
817
+ // ...
818
+ })
819
+ ```
820
+
821
+ **Причина 2:** GitHub Actions workflow не настроен.
822
+
823
+ **Решение:**
824
+ 1. Перейдите в Settings > Pages в вашем репозитории
825
+ 2. В Source выберите "GitHub Actions"
826
+ 3. Убедитесь, что файл `.github/workflows/deploy.yml` существует
827
+ 4. Сделайте push — workflow запустится автоматически
828
+
829
+ **Причина 3:** React Router не настроен для GitHub Pages.
830
+
831
+ SPA требует обработки всех маршрутов через `index.html`. Сгенерированный проект использует `HashRouter` вместо `BrowserRouter`, что корректно работает с GitHub Pages без дополнительной конфигурации сервера.
832
+
833
+ ### 11.6. Сайт отображается без стилей
834
+
835
+ **Причина:** TailwindCSS v4 CSS не подключён или не собирается.
836
+
837
+ **Решение:**
838
+ Проверьте, что в `src/main.jsx` (или `src/main.js`) есть импорт CSS:
839
+ ```javascript
840
+ import './app.css'
841
+ ```
842
+
843
+ Проверьте, что `src/app.css` содержит директиву TailwindCSS v4:
844
+ ```css
845
+ @import "tailwindcss";
846
+ ```
847
+
848
+ ### 11.7. Zustand store не сохраняет прогресс после перезагрузки страницы
849
+
850
+ **Причина:** Persist middleware не настроен или localStorage недоступен.
851
+
852
+ **Решение:**
853
+ Проверьте `src/store/useStore.js`:
854
+ ```javascript
855
+ import { create } from 'zustand'
856
+ import { persist } from 'zustand/middleware'
857
+
858
+ const useStore = create(
859
+ persist(
860
+ (set) => ({
861
+ // ... state
862
+ }),
863
+ {
864
+ name: 'edu-site-storage', // key в localStorage
865
+ }
866
+ )
867
+ )
868
+ ```
869
+
870
+ Убедитесь, что localStorage доступен (не заблокирован настройками браузера или режимом инкогнито).
871
+
872
+ ### 11.8. Команда /edu-site не отображается в Claude Code
873
+
874
+ **Причина 1:** Вы не в директории проекта, где установлен edu-site.
875
+
876
+ **Решение:**
877
+ ```bash
878
+ # Убедитесь, что Claude Code запущен в правильной директории
879
+ ls .edu-site-skills.json
880
+ # Если файл не найден — перейдите в правильную директорию и запустите claude снова
881
+ ```
882
+
883
+ **Причина 2:** Claude Code был открыт до установки edu-site.
884
+
885
+ **Решение:** Закройте и снова откройте Claude Code.
886
+
887
+ ### 11.9. Ошибка при генерации: "Could not fetch documentation URL"
888
+
889
+ **Причина:** URL недоступен, сайт требует авторизации, или присутствует anti-bot защита.
890
+
891
+ **Решение:**
892
+ ```bash
893
+ # Вариант 1: скачайте контент вручную и передайте как файл
894
+ curl -o docs.md https://docs.example.com/cli-reference
895
+ /edu-site ./docs.md
896
+
897
+ # Вариант 2: вставьте текст напрямую в чат Claude Code
898
+ /edu-site "Вот текст документации: [вставьте текст]"
899
+
900
+ # Вариант 3: используйте описание темы
901
+ /edu-site "Обучение работе с CLI-инструментом Example: команды init, build, deploy"
902
+ ```
903
+
904
+ ### 11.10. Таблица кодов выхода CLI
905
+
906
+ | Код | Значение |
907
+ |-----|---------|
908
+ | `0` | Успешное выполнение |
909
+ | `1` | Ошибка (неверные аргументы, файлы не найдены, проверки не пройдены) |
910
+
911
+ При коде выхода `1` в `doctor` — прочитайте раздел "Fix suggestions" в выводе. При коде `1` в `init` или `update` — прочитайте сообщение об ошибке и следуйте инструкциям.