project-files/: - CLAUDE.md.template (266 lines) - docs/Pravila_raboty_Claude.template.md (720 lines) - docs/Plugin_stack_rules.template.md (916 lines) - docs/Tooling.template.md (613 lines) - docs/CHANGELOG_claude_md.template.md - docs/visualizations/hooks-skills-plugins-map.html (3122 lines) - .mcp.json.template (universal: playwright/github/semgrep; laravel-boost dropped) user-level-files/: - hooks/ (10 Python files: skill-marker, skill-check, economy-* x8) - settings-fragment.json (enabledPlugins + permissions + hooks only) - marketplaces.json (3 sources) - plugins-manifest.json (4 plugins pinned with gitCommitSha) - mcp-user.template.json (magic with <<MAGIC_API_KEY>> placeholder) Gitleaks scan: 0 findings. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
88 KiB
Приложение Н — Tooling, скиллы и плагины Claude (v8.3)
Дата: 10.05.2026 (поздний вечер)
Версия: 1.15 (закрытие 4 находок третьего аудита правил использования плагинов и скилов в части, касающейся Tooling: P1-03/04/05 — sync cross-refs шапки на актуальные версии связанных документов после bump'ов CLAUDE.md v1.85 → v1.86 и PSR_v1 v1.6 → v1.7 («Pravila v1.9+»→«v1.10+», «PSR_v1 v1.5+»→«v1.7+», «CLAUDE.md v1.84+»→«v1.86+»; «+»-нотация сохранена как forward-compat); §11.5/§12 — формулировка «28 инструментов» → «33 формализованных позиции» (исторически фраза «28» оставалась в DevOps-разделе с эпохи v1.0, но смысловое назначение фразы — «реестр Лидерры», который теперь имеет 33 формализованных позиции; §13 история версий и changelog'и сохранены без правки — это снимки эпох и часть истории). Координация — PSR_v1 v1.6 → v1.7 + CLAUDE.md v1.85 → v1.86. Pravila v1.10 — без правок. Через /claude-md-management:claude-md-improver.)
Предыдущая версия: 1.14 (закрытие 3 находок второго аудита: §10.3 шаг 2 sync с §4.1, §13 +v1.13 +v1.14 entries, §7 priority chain +Tooling explicit slot 2b).
Адресат: Claude + разработчики проекта Лидерра
Назначение: единый источник истины по 33 формализованным позициям тулчейна (29 «активных» номеров фаз + 3 off-phase инструмента-резерв в категориях UI-пул и инфраструктура — UPM, 21st, claude-md-management; +1 заменённый PG MCP исторически), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент.
Связано:
Pravila_raboty_Claude_v1_1.mdv1.10+ — §11 «Superpowers override», §12 «Superpowers hard rule», §12.3 SoT для exclusions, §13 «paired stack + расширенный пул UI-инструментов» + claude-md-management как off-pool, §13.6 hard-rule tier-таблица, §13.9 hard-link на R10 PSR_v1, §13.10 hard-link на R14 PSR_v1, §4.8 «Шифры приложений» (Н занят)Plugin_stack_rules_v1.mdv1.7+ — координация paired-stack ядра (Superpowers + Frontend Design) + расширенного пула (UPM + 21st Magic MCP) + инфраструктурного плагина (claude-md-management) + R15 motion-системы (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка)CLAUDE.md(корень репозитория) v1.86+ — оперативная карта инструментов с приоритетом правил (уровень 0 = Pravila §12, уровень 3 = Plugin_stack_rules_v1); §3.3 +#31 UPM +#32 21st +#33 claude-md-management; §5 п.5 свёрнут со ссылкой на PSR_v1 R14; §5 п.11 cross-ref на Pravila §12.3 SoT; §5 п.12 motion-runtime denylist; §6 счётчик 33 (3 off-phase tools)README_АРХИВ_v8_4.mdv8.4+ — состав архива
Что нового в v1.13 (10.05.2026):
- §7 «Source of truth» обновлён с 5-уровневой на 7-уровневую цепочку. Добавлен
Plugin_stack_rules_v1.md(PSR_v1) уровнем 3 — координирующий слой между paired-stack ядром (Superpowers + Frontend Design) и расширенным UI-пулом (UPM + 21st). Также явно вынесен Pravila §12 (Superpowers hard rule) уровнем 0 — выше всех остальных параграфов Pravila. Sync с CLAUDE.md §1. Закрывает audit находку «Tooling §7 не упоминает PSR_v1 в иерархии» (1 из 14 находок). - §4.7 (новый) — #33 claude-md-management plugin формализован как off-phase инфраструктурный инструмент. Был фактически включён в
~/.claude/settings.json(enabledPlugins.claude-md-management@claude-plugins-official=true) с момента появления требования CLAUDE.md §5 п.10 «правки CLAUDE.md только через плагин» — но до v1.13 без формализации в реестре. Теперь имеет номер #33 (по аналогии с UPM #31 и 21st #32 в v1.12), при этом в отдельной категории (инфраструктурная, не UI) — поэтому не попадает под Pravila §13 расширенного UI-пула и не проходит R6.0/R6.1 фильтр / R14 pipeline. Закрывает audit находку «5-й включённый плагин без номера в реестре». - §6 «Конфликты и решения» расширен с 5 до 10 строк. Добавлены 5 новых конфликтов из PSR_v1 v1.4: (6) UPM ↔ FD на одной фазе, (7) 21st ↔ существующий Vuetify-компонент, (8) 21st ↔ брендовый App*-компонент, (9) framer-motion ↔ motion-v, (10) UPM ↔ 21st на одной фазе. Закрывает audit находку «Tooling §6 застрял на v1.0».
- §4.6 — settings.json → ~/.claude.json: уточнено, что API-ключ 21st хранится именно в
~/.claude.json, не в~/.claude/settings.json(отдельный файл без секретов). При случайном попадании в репо ротация — через 21st.dev dashboard. Закрывает audit находку «текстовая неточность в комментарии безопасности». - §0 сводка обновлена: добавлена строка «off-phase tools» с 3 инструментами (UPM #31, 21st #32, claude-md-management #33). Итого формализованных позиций: 33 (19/29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически).
- Связано: Pravila v1.8 → v1.9 (§12.3 SoT, §13.2 +claude-md-management как off-pool, §13.6 hard-rule tier, §0 scope-метка); PSR_v1 v1.4 → v1.5 (R10.1 на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер, R0.1 scope); CLAUDE.md v1.83 → v1.84 (§1 scope, §3.3 +#33, §5 п.5 свёрнут, §5 п.11 cross-ref, §6 счётчик 33).
Что было в v1.12 (10.05.2026):
- #31 UI UX Pro Max (skill,
nextlevelbuilder/ui-ux-pro-max-skill) формализован как «инструмент-резерв вне фаз». Был фактически включён в~/.claude/settings.json(enabledPlugins.ui-ux-pro-max@ui-ux-pro-max-skill=true) до v1.12 без формализации. Теперь зафиксирован: роль = резерв-библиотека (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков, 10 стеков); активация — только через PSR_v1 v1.4 R14.3 pipeline (фаза 2 R2 как fallback к FD ИЛИ фаза 1 R2 как «третий вариант» в R12 архитектурном). Никогда не решатель (R10.2 PSR_v1). Не закрывает задачу (R7). Обязательный стек-фильтр R6.0 PSR_v1 (срезать React/Next/Tailwind/shadcn материалы) + hard-override Forest R6.1. См. §4.5 ниже. - #32 21st.dev Magic MCP (
magicMCP-сервер) формализован как «инструмент-резерв вне фаз». Был фактически подключён в~/.claude.json(с API-ключом, npm-пакет@21st-dev/magic@latest) до v1.12 без формализации. Tools:mcp__magic__21st_magic_component_builder,_inspiration,_refiner,logo_search. Роль = генератор стартовых шаблонов для UI-компонентов, отсутствующих в Vuetify иresources/js/components/. По умолчанию выдаёт React + Tailwind + shadcn — обязательный полный pipeline R14.4 PSR_v1: pre-check R0.6 (брендовый App*? Vuetify-эквивалент? существующий компонент? — все три «нет» обязательно) → R6.0 фильтр (JSX→Vue SFC, Tailwind→utility-CSS, shadcn→Vuetify) → R6.1 hard-override (палитра/шрифты/иконки → Forest, Lucide) → FD адаптация → возврат в фазу 5 R2 stack-flow. Никогда не решатель. Не закрывает задачу. Pa11y обязателен на deployable (R7). См. §4.6 ниже. - Структура §4 обновлена: добавлены §4.5 «Резерв-библиотека UI — UI UX Pro Max» и §4.6 «Генератор шаблонов — 21st.dev Magic MCP». Оба не привязаны к фазе по тулчейну (post-MVP инструменты-резерв).
- §9 «Что НЕ ставим» дополнен разделом «Motion runtime библиотеки» (R15 PSR_v1 v1.4): framer-motion (R15.1 hard-запрет, React-only), motion-v (R15.2 условно по 4 триггерам), gsap, anime.js, react-spring (R15.1-аналог, React-only), lottie-web, popmotion, @motionone/dom — все под R0.6 пункт 11 hard-стоп. Default motion stack: Vue native
<Transition>+ Vuetify transitions + CSS @keyframes + View Transitions API. - Сводка §0: 28 «активных» номеров фаз → 29 номеров фаз (как было в v1.10/v1.11) + 2 формализованных «вне фаз» в v1.12 (UPM + 21st Magic MCP) = 31 формализованных позиций тулчейна (но активных «по фазе» считаются только 19 из 29 на текущий момент; UPM + 21st — off-phase tools).
- Связано: Pravila v1.7 → v1.8 (§13 расширен, §13.10 hard-link на R14); CLAUDE.md v1.82 → v1.83 (§3.3 + новые строки, §5 п.5 расширен, §5 п.12 motion-runtime новый); PSR_v1 v1.3 → v1.4 (R6/R6.1/R10/R11/R0.6/R13/R14/R15).
Что нового в v1.10 (09.05.2026):
- #30 Frontend Design plugin (Anthropic) добавлен в фазе 2 (paired stack со Superpowers). Запрет CLAUDE.md §5 п.5 снят 09.05.2026 по явному решению заказчика. Координация двух плагинов вынесена в
docs/Plugin_stack_rules_v1.md(10 правил: gate, классификация, фазы UI-фичи, разделение TDD/визуал, ревью по аспекту, стек-фильтр Vue+Vuetify, gate готовности, тай-брейкеры). 8 ранее найденных конфликтов между плагинами закрыты патчами. Установка через~/.claude/settings.json:extraKnownMarketplaces+enabledPlugins.frontend-design@anthropics-claude-plugins=true. Обязательный стек-фильтр (Правило 6 Plugin_stack_rules_v1): Vue 3 + Vuetify 3, отфильтровывать React/Tailwind/shadcn/JSX. A11y технический остаётся за Pa11y (CLAUDE.md §5 п.3); Frontend Design покрывает только a11y-принципы. Активных инструментов фазы 2: 6 → 7. Всего активных: 18 → 19 из 28 → 29 номеров. - Структура §4 обновлена: добавлен §4.4 «Доменный слой UI — Frontend Design plugin». Ранее §4 (фаза 2) состоял из §4.1 Superpowers + §4.2 Frontend-инструменты + §4.3 Histoire. Теперь — §4.1 Superpowers + §4.2 Frontend-инструменты + §4.3 Histoire + §4.4 Frontend Design plugin.
Что было в v1.6 (08.05.2026 поздний вечер):
- #15 squawk v2.51.0 установлен (npm-wrapper
squawk-cli+ бинарь скопирован вbin/squawk.exe, паттерн как у gitleaks/lychee). Конфиг.squawk.tomlв корне отключает 9 правил: 5 bootstrap-неприменимых (require-timeout-settings, prefer-robust-stmts, require-concurrent-index-creation, constraint-missing-not-valid, adding-foreign-key-constraint) и 4 дизайнных (prefer-identity, prefer-text-field, prefer-bigint-over-int, prefer-bigint-over-smallint). Smoke-test наdb/schema.sql— 0 issues с конфигом. Pre-commit хук вlefthook.yml(job 7) на staged*.sql. npm-скриптnpm run lint:sql. - #16 pgFormatter v5.9 установлен (Perl-скрипт + lib/ из GitHub Releases распакованы в
bin/pgFormatter/, запуск через Cygwin Perl 5.42.2 из Git for Windows). Без pre-commit хука auto-fix — diff против db/schema.sql 3255 строк (pgFormatter переписывает UPPERCASE→lowercase для типов, плотный одностроковый стиль для колонок, перетасовывает inline-комментарии). Стиль schema.sql ручной (выровненные колонки, ASCII-разделители) — авто-fix недопустим. Доступ через npm-скриптыnpm run format:sql:check(dry-run + diff) иnpm run format:sql(пишет вdb/schema.sql.formattedдля review, не перезаписывает source). - Активных инструментов фазы 1: 13 из 17. Установлено в фазе 1: #10 Boost, #11 Pint, #12 Larastan, #13 Roave/SA, #14 IDE Helper, #15 squawk, #16 pgFormatter, #18 Pest 4. Не применимо: #17 pg_partman (Windows native стек не имеет PG-расширения, заменён ручным cron'ом). Фаза 1 по тулчейну закрыта — следующий триггер (фаза 2) — первый коммит в
resources/js/.
Что было в v1.5 (08.05.2026 поздний вечер):
- #10 Laravel Boost v2.4.6 установлен ВРУЧНУЮ (коммит
e04f53b). Wizardphp artisan boost:installсломан в обоих режимах на этой машине: интерактив падает на UTF-8 кириллице в пути при рендереlaravel/promptsmultiselect,--no-interactionпадает в баге L13ConfiguresPrompts::multiselectFallback(null → array_map crash). Manual setup:app/boost.json(3 ключа: agents/guidelines/mcp), записьlaravel-boostв корневом.mcp.json(command=php, args=[app/artisan, boost:mcp]), кастомный guidelineapp/.ai/guidelines/vuetify.md. Smoke-test JSON-RPC 2024-11-05 — 9 tools (database-query/schema/connections, application-info, last-error, read-log-entries, search-docs, browser-logs, get-absolute-url). Подробности — memoryfeedback_environment.mdп.26. - Уточнение к §3.1 п.3 «отключить guidelines» — избыточно. Boost через
laravel/rosterauto-detect видит установленные пакеты в composer.lock; то, что не установлено (Inertia, Livewire, Tailwind, Filament, Flux UI, Nova, Folio, Volt, Wayfinder, Sail, PHPUnit), не серверится. Список оставлен в §3.1 как исторический контекст того, что мы НЕ ставим (CLAUDE.md §5 п.2), но как «отключение» в boost.json не реализуется. - Уточнение к §10.2 пути — кастомные guidelines идут в
app/.ai/guidelines/*.md(или*.blade.php), а не вresources/boost/guidelines/. Подтверждено source-кодомGuidelineComposer::userGuidelineDir = '.ai/guidelines'. - #13 Roave/SecurityAdvisories установлен (коммит
0eb2f72). Метапакетroave/security-advisories:dev-latestвrequire-dev. Conflict-only — блокирует install версий с известными CVE. На текущем снапшоте — 0 advisories. - Активных инструментов фазы 1: 11 из 17 (на момент v1.5; в v1.6 → 13/17 после squawk+pgFormatter). Установлено в фазе 1: #10 Boost, #11 Pint, #12 Larastan, #13 Roave/SA, #14 IDE Helper, #18 Pest 4. Остаются: #15 squawk (Windows binary), #16 pgFormatter (Perl), #17 pg_partman (заменён ручным cron'ом — Windows native стек не имеет PG-расширения, см. project_phase1_strategy).
Что нового в v1.4 (08.05.2026 поздний вечер): Laravel 11 → Laravel 13 в §0 (стек) и §3.2 (фаза 1 backend). Произошло так: при composer create-project laravel/laravel app без ^11 Composer подтянул свежайшую — laravel/framework: ^13.7 (Laravel 13.7, релиз ~Feb 2026). Live-проверка совместимости 5 ключевых плагинов прошла без блокеров: Boost v2.4.6 (composer dry-run резолвит lock без conflict), Larastan v3.9.6 (analyse прошёл с baseline), Pest v4.7.0 (smoke-test 2/2 за 281 ms), barryvdh/laravel-ide-helper v3.7.0 (ide-helper:generate создал _ide_helper.php), laravel/pint v1.29 (pint --test passed). Заказчик 08.05 (поздний вечер) принял Laravel 13 как latest stable. Откат дороговат — rm -rf app/ && composer create-project laravel/laravel:^11 app && повторить predis/Pest/Pint/Larastan/IDE Helper. Техдолг: синхронизация narrative ТЗ + Vybor_oblaka_v8_3.md + Админка_SaaS_v8_2.md под Laravel 13 — отдельная задача для следующих сессий (пока эти документы упоминают Laravel 11 как было). Подробности в Открытые_вопросы_v8_3.md §3 и блоке v1.17.
Установлены 3 dev-инструмента из фазы 1 (Прил. Н #11/#12/#14): laravel/pint v1.29, larastan/larastan v3.9.6 (+ phpstan v2.1.54), barryvdh/laravel-ide-helper v3.7.0. phpstan.neon level 5 + phpstan-baseline.neon (3 ошибки в default scaffold зафиксированы как baseline). composer.json scripts: composer pint, composer pint:test, composer stan, composer ide-helper.
Что было в v1.3 (08.05.2026 поздний вечер): Pest 3 → Pest 4 в §3.3 п.18 (тестирование), §6 п.2 (конфликт), §10.1 п.9 (boost:install). Решение: при composer require pestphp/pest --dev --with-all-dependencies без ^3 composer подтянул Pest v4.7.0; smoke-test 2/2 на default-тестах Laravel прошёл за 281 ms — backward-compat подтверждён. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — composer require pestphp/pest:^3. Подробности в Открытые_вопросы_v8_3.md §3 и блоке «Что изменилось в v1.16» там же.
Что было в v1.2 (08.05.2026 вечер): Sail отключён из allow-list Boost (§3.1 п.2/п.3). Причина: машина — OpenStack-VPS, nested virtualization выключена провайдером, Docker Desktop/WSL2/Hyper-V запустить невозможно (HypervisorPresent = True, но guest не получает VT-x). Переход на native-стек: PostgreSQL 16 (choco install postgresql16, Windows-сервис) + Memurai Developer (choco install memurai-developer.install, Redis 7-совместимый Windows-сервис, free до 1GB). pg_partman/pg_audit/pg_anonymizer на native Windows — ручная сборка/замена; на MVP — заменить ручным cron'ом для партиций и triggers (которые уже в schema v8.5). Подробности в memory/project_phase1_strategy.md.
Что было в v1.1 (08.05.2026): закрыт CTO-12 — выбран Pest 3 (не PHPUnit). Обновлены §3.1 п.4 (boost:install), §3.4 (тестирование), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура перехода). Обоснование выбора — в Открытые_вопросы_v8_3.md §3 (Pest dataset'ы для 14 статусов / 34 RLS, architecture testing для закрепления правил Claude, родной для Boost).
Что было в v1.0: первая версия 06.05.2026. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10 пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell.
0. Сводка
| Фаза | Триггер | Активных к концу фазы | Δ к предыдущей |
|---|---|---|---|
| 0 — сейчас (документация + 8 HTML-прототипов) | сразу | 9 | +9 |
| 1 — старт Laravel | composer create-project laravel/laravel |
17 | +9 новых, −1 заменённый (PostgreSQL MCP → Laravel Boost) |
| 2 — старт frontend | первый коммит в resources/js/ (Vue 3 + Vuetify 3) |
24 | +7 (включая #30 Frontend Design plugin, добавлен post-MVP в v1.10) |
| 3 — pre-production | ~спринт 12, перед публичным релизом | 29 | +5 |
| off-phase tools | по факту включения в ~/.claude/settings.json / ~/.claude.json |
+3 | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits) |
Итого формализованных позиций: 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7 (off-phase). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9.
Ключевой принцип фазирования: не активируем фазу N+1, пока не закрыт триггер фазы N. Без composer create-project Boost не работает; без Vuetify-приложения Histoire бесполезен.
1. Принципы выбора
- Один инструмент на задачу. Если две тулзы делают одно — оставляем одну, явно указываем какую (см. §6 «Конфликты и решения»).
- Dev-only для local tooling. Boost, IDE Helper, Pint, Histoire и т. п. ставятся как
--devи не идут в production. - Pre-commit для быстрых проверок, CI для медленных. gitleaks / markdownlint / Pint — pre-commit. Larastan / Semgrep / Trivy / Pa11y — CI.
- Контекст Claude — это ресурс. Не ставим тулзы, дублирующие моё базовое поведение (Memory MCP, Sequential Thinking MCP).
- Phase-gating. Триггер каждой фазы — конкретное действие в репозитории. До триггера — не ставим.
- Дополнение, не замена правил Claude. Любой плагин уступает в приоритете
Pravila_raboty_Claude_v1_1.md— см. §7. - Бесплатное предпочтительнее платного при сопоставимом качестве. Dependabot вместо Snyk; Semgrep CE вместо CodeQL Enterprise.
2. Фаза 0 — текущая (9 инструментов)
Применяется немедленно. Покрывает работу с документацией (17 файлов в docs/ + db/) и HTML-прототипами (web/*.html, 2 из 8 готовы).
2.1. MCP-серверы (3)
| # | Инструмент | Установка | Когда использовать | Не использовать когда |
|---|---|---|---|---|
| 1 | PostgreSQL MCP (@modelcontextprotocol/server-postgres) |
claude mcp add postgres ... |
Валидация db/schema.sql запросами к локальной БД (information_schema, \d <table>, FK-проверки) |
На production-БД; после установки Boost (заменяется) |
| 2 | Playwright MCP (@playwright/mcp) |
claude mcp add playwright ... |
Открыть web/*.html, скриншот, проверка интерактива (zxcvbn в 01-login, ApexCharts в 02-dashboard) |
Для unit-тестов Vue (это Vitest в фазе 2) |
| 3 | GitHub MCP | claude mcp add github ... |
Issues по Биз-10..16, PR с авто-changelog, привязка коммитов к ID открытых вопросов | С токеном, имеющим delete_repo или admin:org |
2.2. Линтеры документации (4)
| # | Инструмент | Установка | Когда использовать | Конфликт |
|---|---|---|---|---|
| 4 | markdownlint-cli2 | npm i -D markdownlint-cli2 |
Стиль 17 .md файлов (заголовки, таблицы, списки, длина строк) |
Не использовать Prettier для .md — портит таблицы |
| 5 | cspell + словари ru/en + проектный | npm i -D cspell @cspell/dict-ru_ru @cspell/dict-en_us |
Орфография ru/en + кастомный словарь («Лидерра», «УПД», «РКН», «ГЦК», «КЦ», «Yandex», «Vuetify») | — |
| 6 | lychee | cargo install lychee или GitHub Releases |
Проверка кросс-ссылок между 17 файлами архива (правило §4.7 правил Claude) | Не использовать markdown-link-check (lychee быстрее, на Rust) |
| 7 | Stylelint + stylelint-config-standard ^40.0.0 |
npm i -D stylelint stylelint-config-standard |
Стиль CSS в <style> прототипов; в фазе 2 распространяется на Vue SFC |
— |
2.3. Безопасность (2)
| # | Инструмент | Установка | Когда использовать |
|---|---|---|---|
| 8 | gitleaks | GitHub Releases (gitleaks_<v>_windows_x64.zip) |
Pre-commit hook: поиск телефонов, email, токенов, ИНН, КЭП в diff. Правило §5.2 правил Claude |
| 9 | Pa11y | npm i -D pa11y pa11y-ci |
WCAG 2.1 AA проверка прототипов. Требование брендбука §3.4. Единственный источник истины по a11y во всём проекте |
3. Фаза 1 — старт Laravel (+9 новых, −1 заменён, итого 17 активных)
Триггер: composer create-project laravel/laravel app в подпапке проекта.
3.1. Главное — замена PostgreSQL MCP на Laravel Boost
| # | Инструмент | Установка | Что заменяет |
|---|---|---|---|
| Laravel Boost | composer require laravel/boost --dev + php artisan boost:install |
Заменяет PostgreSQL MCP (#1). Даёт 9 MCP-tools (Application Info, Database Query, Database Schema, Browser Logs, Last Error, Read Log Entries, Get Absolute URL, Search Docs, Database Connections) + guidelines + Documentation API на 17 000+ фрагментов |
Обязательные настройки при boost:install:
CLAUDE.md— НЕ перезаписывать. Сохранить уже существующий (см. §7). Слить вручную, если Boost создаст черновик: добавить boost-секции в конец, оставив §1–§7 нашего CLAUDE.md выше.- Из 25+ встроенных guidelines оставить только: Laravel Framework, Pint, Pennant, MCP. (Sail убран 08.05.2026 — на текущей машине Docker невозможен из-за отсутствия nested virtualization, см. project_phase1_strategy memory. Native стек: native PostgreSQL 16 + Memurai Redis-compatible.)
- Отключить: Inertia, Livewire, Tailwind, Filament, Flux UI, Nova, Folio, Volt, Wayfinder, Sail — у нас их нет (Sail отключён 08.05.2026 после обнаружения OpenStack-VPS без nested-virt; native стек = единственный путь).
- Pest 4 — выбран (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер, см. Открытые_вопросы_v8_3.md §3). Отключить guideline PHPUnit, оставить только Pest. composer.json в
app/уже наpestphp/pest: ^4.7. - Создать кастомный guideline для Vuetify 3:
resources/boost/guidelines/vuetify.blade.php(см. §10.2). - Запретить production DB connection —
.env.productionне должен попадать в локальный Boost-конфиг. .mcp.json— в репозиторий (не в gitignore), чтобы у команды одинаковая конфигурация (расхождение со стандартной рекомендацией Boost'а).
3.2. Анализаторы PHP (4)
| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 11 | Laravel Pint | composer require laravel/pint --dev |
Code style PSR-12. Pre-commit hook |
| 12 | Larastan (PHPStan для Laravel) | composer require larastan/larastan --dev |
Статанализ типов, level 8/9. CI-only (медленно для pre-commit) |
| 13 | Roave/SecurityAdvisories | composer require --dev roave/security-advisories:dev-latest |
Превентивная блокировка установки composer-пакетов с известными CVE |
| 14 | Laravel IDE Helper | composer require barryvdh/laravel-ide-helper --dev |
Stubs для IDE (фасады, модели, мета-инфо) |
3.3. БД-инструменты (3)
| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 15 | squawk | npm i -g squawk-cli + копия ~/AppData/Roaming/npm/.../binaries/squawk → bin/squawk.exe (npm-wrapper не находит spawn-target без .exe на Windows) |
Линтер миграций PostgreSQL — предупреждает о блокирующих ALTER на партиционированных таблицах (deals, supplier_lead_costs). Конфиг .squawk.toml отключает 9 правил (5 bootstrap + 4 дизайнных). Pre-commit hook на staged *.sql |
| 16 | pgFormatter | curl -L https://github.com/darold/pgFormatter/archive/refs/tags/v5.9.tar.gz | tar xz; копия pg_format + lib/ в bin/pgFormatter/; запуск через Cygwin Perl 5.42.2 из Git for Windows |
Форматирование SQL. Только ручной режим через npm run format:sql:check / npm run format:sql — без авто-fix хука (diff vs db/schema.sql 3255 строк, ручной стиль не перезаписывается) |
| 17 | pg_partman | Расширение PostgreSQL: CREATE EXTENSION pg_partman |
Автоматическое создание помесячных партиций deals_YYYY_MM и supplier_lead_costs_YYYY_MM (вместо ручного списка из db/schema.sql) |
3.4. Тестирование (1)
| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 18 | Pest 4 | composer require pestphp/pest --dev --with-all-dependencies + vendor/bin/pest --init |
Тесты PHP. Pest 3 → Pest 4 после live-проверки на стеке 08.05.2026 поздний вечер (CTO-12 переоткрыт+закрыт, см. Открытые_вопросы_v8_3.md §3). Использовать datasets для параметризации 14 статусов воронки и 34 RLS-политик; architecture testing — для закрепления правил Claude (например, запрет mocks на integration-тестах). Бонус Pest 4: browser testing (без Dusk), stress, mutation v2 |
4. Фаза 2 — старт frontend (+7 новых, итого 24 активных)
Триггер: первый коммит в resources/js/ или отдельную папку Vue-приложения.
4.1. Поведенческий слой — Superpowers (полный, hard rule)
Обновлено 09.05.2026 (v1.9 Прил. Н): заказчик ввёл hard rule §12 правил Claude: «всегда в первую очередь пользуешься superpowers. При этом ты не можешь игнорировать и обходить это правило». §9 «Отступления» к §12 не применяется. Карта 14 skills → 14 типов задач — в Pravila §12.2.
Прежнее (08–09.05.2026): v1.7 — 3/13 skills с запретами; v1.8 — снятие запретов через §11 override (вариант "A. Полное снятие"). Сейчас (v1.9) — обязательное первоочерёдное использование.
| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 19 | Superpowers v5.1.0 (все 14 skills) | Декларативно через ~/.claude/settings.json: extraKnownMarketplaces.superpowers-dev ({"source":"github","repo":"obra/superpowers"}) + enabledPlugins.superpowers@superpowers-dev=true. Перезапуск Claude Code → плагин подгружается из marketplace в кэш автоматически. /plugin install в VSCode-extension недоступен |
brainstorming, dispatching-parallel-agents, executing-plans, finishing-a-development-branch, receiving-code-review, requesting-code-review, subagent-driven-development, systematic-debugging, test-driven-development, using-git-worktrees, using-superpowers, verification-before-completion, writing-plans, writing-skills |
TDD биллинга/RLS, разбор инцидентов, двухстадийный review schema.sql, planning-flow для крупных эпиков, parallel agents для независимых задач |
Снятые ранее запреты (для исторической записи):
brainstorming— раньше дублировал §4.5 правил Claude. Теперь Pravila §11.1 разрешает override §4.5 при явном вызове skill.writing-plans+executing-plans— раньше дублировали §8.4. Теперь §11.1 разрешает хранить план в формате skill.dispatching-parallel-agents— раньше конфликтовал с §2.2. Теперь §11.1 разрешает закрытие подзадач без отдельного «закрываем»; финальные закрытия открытых вопросов реестра — по-прежнему только заказчиком.using-git-worktrees— Windows-нестабильность сохраняется как факт среды (см. §11.2 правил), но запрет в правилах снят.
Что остаётся: §1 (роль), §3.6 (язык), §5 (ПДн), §7 (финал-закрытие открытых вопросов) — не override-ятся (см. Pravila §11.2).
4.2. Frontend-инструменты (4)
| # | Инструмент | Установка | Роль | Конфликт |
|---|---|---|---|---|
| 20 | Volar (Vue.volar) |
VSCode Marketplace | Language server для .vue (типы, intellisense, навигация) |
— |
| 21 | vue-tsc | npm i -D vue-tsc typescript |
Type-check .vue файлов |
Только в CI, не в редакторе — иначе тормозит Volar |
| 22 | ESLint + Prettier + eslint-config-prettier + eslint-plugin-vue (связка, 1 инструмент в учёте) | npm i -D eslint prettier eslint-config-prettier eslint-plugin-vue |
Линт + форматтер JS/Vue. eslint-config-prettier обязательно — отключает в ESLint всё, что делает Prettier. Для .md Prettier отключён через .prettierignore (markdownlint главный) |
Связка ставится только целиком. Без eslint-config-prettier — конфликт правил |
| 23 | Vitest + @vue/test-utils |
npm i -D vitest @vue/test-utils @vitest/ui |
Тесты компонентов. Синтаксис близок к Pest для унификации backend↔frontend | Не использовать Jest — один тест-раннер на проект |
4.3. Каталог компонентов (1)
| # | Инструмент | Установка | Роль | Альтернатива |
|---|---|---|---|---|
| 24 | Histoire 1.0-beta.1 | npm i -D --legacy-peer-deps histoire @histoire/plugin-vue |
Каталог Vue-компонентов на базе Vuetify. Передача дизайнеру (Диз-1) и frontend-команде. Vite 8 несовместимость: заявлен peerDep vite ^7, ставим через --legacy-peer-deps; runtime smoke OK (08.05.2026 поздний вечер). При выходе beta.2+ с поддержкой Vite 8 — обновить. Конфиг: app/histoire.config.ts + app/resources/js/histoire.setup.ts (Vuetify через defineSetupVue3) |
Не Storybook — он тяжелее, медленнее, ориентирован на React |
4.4. Доменный слой UI — Frontend Design plugin (paired со Superpowers)
Введено 09.05.2026 (v1.10 Прил. Н): запрет CLAUDE.md §5 п.5 на Frontend Design plugin снят по явному решению заказчика. Координация с #19 Superpowers — через
docs/Plugin_stack_rules_v1.md(v1.6, 16 правил R0–R15; cross-ref bumped в Tooling v1.14, раньше «10 правил» с эпохи v1.0). Парный stack одного приоритетного уровня; между плагинами нет иерархии. См. Pravila §13.
| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 30 | Frontend Design plugin (Anthropic) | Декларативно через ~/.claude/settings.json: extraKnownMarketplaces.anthropics-claude-plugins ({"source":"github","repo":"anthropics/claude-plugins"} или другой источник, утверждённый Anthropic) + enabledPlugins.frontend-design@anthropics-claude-plugins=true. Перезапуск Claude Code → плагин подгружается из marketplace. /plugin install в VSCode-extension недоступен — ставится только через settings.json |
Доменное знание UI: компоненты, layout, цвет, типография, паттерны, состояния (loading/empty/error), a11y-принципы | Чисто визуальные задачи (палитра, типография, layout-эскиз, выбор паттерна, иконка, состояния) и фазы 2/5/7 UI-фичи (см. Plugin_stack_rules_v1 Правило 2) |
Обязательный стек-фильтр (Правило 6 Plugin_stack_rules_v1):
| Что брать (универсально) | Что отфильтровать (стек-зависимо) |
|---|---|
| Принципы (a11y, контраст, фокус, иерархия, spacing-шкала) | Конкретные имена компонентов чужого стека |
| Паттерны (modal-flow, form-validation UX, empty/loading/error states) | Tailwind-классы, shadcn-импорты, JSX (CLAUDE.md §5 п.2) |
| Структуры состояний и переходов | Конкретные библиотеки иконок (у нас Lucide) |
| Цветовые/типографические системы как принципы | Конкретные палитры/шрифты (у нас Forest v8 + Inter/JetBrains Mono) |
Ответ Frontend Design без выполненной адаптации = неполный ответ, возвращается в плагин на доработку.
A11y: Frontend Design покрывает только a11y-принципы (контраст, фокус-порядок, иерархия). Технический a11y (DOM-семантика, aria-роли, keyboard) остаётся за Pa11y (CLAUDE.md §5 п.3). Без подмены источника истины.
Live-отмены (Правило 0.4.B Plugin_stack_rules_v1):
- «не используй Frontend сейчас» — отключает Frontend Design на текущее действие, Superpowers остаётся.
- «не используй плагины сейчас» — отключает весь stack на текущее действие.
4.5. Резерв-библиотека UI — UI UX Pro Max plugin (off-phase tool)
Введено 10.05.2026 (v1.12 Прил. Н): формализован как «инструмент-резерв вне фаз». Был фактически включён через
~/.claude/settings.jsonещё с момента активации (до v1.12 — без правил). Координация — PSR_v1 v1.6+ R10/R11/R14.3 (cross-ref bumped в Tooling v1.14).
| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 31 | ui-ux-pro-max (skill, marketplace nextlevelbuilder/ui-ux-pro-max-skill) |
~/.claude/settings.json: extraKnownMarketplaces.ui-ux-pro-max-skill ({"source":"github","repo":"nextlevelbuilder/ui-ux-pro-max-skill"}) + enabledPlugins.ui-ux-pro-max@ui-ux-pro-max-skill=true. Перезапуск Claude Code → плагин подгружается из marketplace в кэш |
Резерв-библиотека: 50+ aesthetic-стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков, 161 product type, 57 шрифтовых пар, 10 стеков (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, HTML/CSS) | (1) Frontend Design выдал «не покрывает» / нужна узкоспецифика (chart-стек, экзотические шрифтовые пары, региональные UX-паттерны); (2) R12 архитектурное решение — UPM как источник «третьего варианта» в A/B/C по Pravila §4.5 (R11.5 PSR_v1) |
Обязательные правила использования (PSR_v1 v1.6+):
| Правило | Где | Что значит |
|---|---|---|
| R10.2 «UPM read-only для решений» | R10.1 PSR_v1 | UPM выдаёт материал (палитра/паттерн/гайдлайн), решение принимает FD/Superpowers |
| R10.1 «не параллельно» | R10.1 PSR_v1 | UPM активируется последовательно, не одновременно с FD |
| R6.0 стек-фильтр | R6 PSR_v1 | срезать React/Next/Tailwind/shadcn материалы; оставить Vue + HTML/CSS-уровневые принципы |
| R6.1 hard-override Forest | R6.1 PSR_v1 | UPM-палитра/шрифты/aesthetic игнорируются; Brandbook v2 Forest приоритетнее |
| R11.3 запрет инверсии иерархии | R11 PSR_v1 | UPM-палитра НЕ заменяет Brandbook, даже если «выглядит лучше» |
| R7 не закрывает задачу | R7 PSR_v1 | UPM никогда не закрыватель (нет в списке gate'ов) |
| R11.5 активация в R12 | R11.5 PSR_v1 | На фазе 1 R2 для архитектурных решений как источник «третьего варианта» |
| R14.3 место в pipeline | R14.3 PSR_v1 | Подзадача внутри R14 pipeline'а, не самостоятельный flow |
Live-отмена (R0.4.B PSR_v1): /ui-ux-pro-max — прямой вызов на одно действие (R6.0 фильтр и R6.1 override остаются обязательными).
4.6. Генератор шаблонов — 21st.dev Magic MCP (off-phase tool)
Введено 10.05.2026 (v1.12 Прил. Н): формализован как «инструмент-резерв вне фаз». Был фактически подключён через
~/.claude.json(с API-ключом, npm-пакет@21st-dev/magic@latest) ещё с момента активации (до v1.12 — без правил). Координация — PSR_v1 v1.6+ R10/R14.4 (cross-ref bumped в Tooling v1.14).
| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 32 | 21st.dev Magic MCP (magic сервер) |
~/.claude.json → mcpServers.magic.command="cmd" + args=["/c", "npx", "@21st-dev/magic@latest", "API_KEY=<ключ>"] (npm wrapper). Tools: mcp__magic__21st_magic_component_builder, _inspiration, _refiner, logo_search |
Генератор стартовых шаблонов для UI-компонентов (LLM-based, по умолчанию React + Tailwind + shadcn) | (1) задача = UI-фича по R1 PSR_v1; (2) нужный паттерн отсутствует в Vuetify-наборе и resources/js/components/; (3) задача не попадает в R0.6 hard-стоп (не брендовый App*, не изменение токенов, не cross-cutting); (4) FD на фазе 2 R2 принял решение «нужен кастомный компонент» |
Обязательный pipeline R14.4 PSR_v1:
1. Pre-check R0.6 пункты 9–10 (ОБЯЗАТЕЛЬНО):
- Брендовый App*-компонент? → hard-стоп, R12 архитектурное (3 варианта §4.5)
- Vuetify-эквивалент существует? → hard-стоп, использовать Vuetify
- Существующий компонент в resources/js/components/? → hard-стоп, использовать его
- Если на все три «нет» → продолжить
2. Вызов mcp__magic__21st_magic_component_builder с описанием паттерна
3. Сгенерированный черновик (по умолчанию React + Tailwind + shadcn) → R6.0 фильтр:
- JSX → Vue SFC template
- Tailwind classes → Vuetify utility / inline CSS
- shadcn components → Vuetify-эквивалент
- React imports/hooks → Vue Composition API
4. → R6.1 hard-override:
- Палитра → Forest (Teal/Ivory/теало-нуар)
- Шрифты → Inter / JetBrains Mono
- Иконки → Lucide
5. → FD адаптирует под фазу 5 R2
6. → возврат в фазу 5 stack-flow
7. Pa11y проход (R7) на deployable артефакт ОБЯЗАТЕЛЕН перед commit
Сгенерированный JSX-черновик НЕ коммитится в resources/js/ напрямую — только после полного pipeline'а.
Запрет дублирования (R14.5): одна задача = один генератор. UPM и 21st не запускаются на одной фазе.
Live-отмена (R0.4.B PSR_v1): «вызови magic» / «через 21st» / «дай шаблон через magic» — прямой вызов на одно действие (pre-check R0.6 + R6.0 + R6.1 + FD-адаптация остаются обязательными).
Безопасность: API-ключ в ~/.claude.json в открытом виде. Файл глобальный, не в репо (gitleaks ловит при попытке коммита). При случайном попадании именно ~/.claude.json (где хранится API-ключ; не путать с ~/.claude/settings.json — отдельный файл без секретов) в репо — немедленно ротировать ключ через 21st.dev dashboard.
4.7. Инфраструктурный слой — claude-md-management plugin (off-phase tool)
Введено 10.05.2026 (v1.13 Прил. Н): формализован как «инструмент-резерв вне фаз, инфраструктурная категория». Был фактически включён через
~/.claude/settings.json(enabledPlugins.claude-md-management@claude-plugins-official=true) с момента появления CLAUDE.md §5 п.10 (требование «правки CLAUDE.md только через плагин») — до v1.13 без формализации в реестре. Категория инфраструктурная, отличная от UI-пула (UPM/21st) — поэтому отдельная нумерация и не попадает под Pravila §13 (расширенный UI-пул).
| # | Инструмент | Установка | Состав | Когда использовать |
|---|---|---|---|---|
| 33 | claude-md-management (skills, marketplace anthropics/claude-plugins-official) |
~/.claude/settings.json: extraKnownMarketplaces.claude-plugins-official ({"source":"github","repo":"anthropics/claude-plugins-official"}) + enabledPlugins.claude-md-management@claude-plugins-official=true |
Два skill: claude-md-improver (audit + targeted updates CLAUDE.md по references/quality-criteria.md), revise-claude-md (capture session learnings в CLAUDE.md) |
Обязательно при любом изменении CLAUDE.md (CLAUDE.md §5 п.10). Прямые Edit/Write по корневому CLAUDE.md без вызова skill — нарушение §5 п.10 |
Обязательные правила использования (PSR_v1 v1.6+):
| Правило | Где | Что значит |
|---|---|---|
| R10.1 инфраструктурный, не UI | R10.1 PSR_v1 | claude-md-management в отдельной категории от UPM/21st; не попадает в R14 pipeline UI-генераторов |
| R10.2 «инструмент, не решатель» | R10.1 PSR_v1 | Skill выполняет правки по делегированию из stack-flow или по явной /команде пользователя; не подменяет stack-gate |
| R0.4.A не требует gate | R0.4.A PSR_v1 | Тривиальные синки (опечатки, версии, кросс-ссылки) — без stack-gate, но через claude-md-improver (CLAUDE.md §5 п.10) |
| CLAUDE.md §5 п.10 SoT для интерфейса | CLAUDE.md | Единственный канал правок CLAUDE.md; внутри flow продолжают действовать §4 правил Claude (синхронизация Pravila + Tooling) |
Live-отмена (R0.4.B PSR_v1): /claude-md-management:claude-md-improver или /claude-md-management:revise-claude-md — прямой вызов на одно действие.
Аналогичные категории (built-in skills Claude Code, не плагины через marketplace): review, security-review, init, simplify, update-config, keybindings-help, fewer-permission-prompts, loop, schedule, claude-api. Активируются по явному /имя от пользователя; не входят в enabledPlugins. См. PSR_v1 R10.1 блок 2 для полного реестра.
5. Фаза 3 — pre-production (+5 новых, итого 29 активных)
Триггер: ~спринт 12, перед публичным релизом MVP.
| # | Инструмент | Установка | Категория | Роль |
|---|---|---|---|---|
| 25 | Semgrep + Semgrep MCP | pip install semgrep + claude mcp add semgrep |
SAST | Скан по антипаттернам Прил. М §6.6: пароль в <input type="text">, API-ключи в <input type="text">, hardcoded URL вроде prostats.info/bitrix24/webhook.php |
| 26 | Trivy | GitHub Releases | Container scan | Скан Docker-образов перед push в Yandex Container Registry |
| 27 | GitHub Dependabot | .github/dependabot.yml |
Dependency scan | Авто-PR с фиксом CVE для composer.json и package.json |
| 28 | pg_audit (расширение PostgreSQL) | CREATE EXTENSION pgaudit |
Compliance | Аудит-логи в дополнение к auth_log, pd_processing_log, incidents_log (требование 152-ФЗ) |
| 29 | pg_anonymizer (расширение PostgreSQL) | CREATE EXTENSION anon |
Compliance | Маскирование ПДн в dev/staging-дампах. Правило §5.1 правил Claude (+7XXXXXXXXXX, ***@***) |
Нумерация 25–29 — это глобальные индексы в порядке введения. Активных в финале — 28 (см. §0): из 29 номеров минус #1 (PostgreSQL MCP) — заменён Boost'ом.
6. Конфликты и решения
10 зон, где без явного правила я выберу не тот инструмент (5 классических из v1.0 + 5 новых из v1.4 PSR_v1, формализованных в Прил. Н v1.13):
| # | Конфликт | Решение |
|---|---|---|
| 1 | PostgreSQL MCP ↔ Laravel Boost (Database Query) в момент перехода фазы 0→1 | В момент boost:install сразу убрать PG MCP из .mcp.json. Не оставлять оба активными |
| 2 | Pest ↔ PHPUnit | Pest 4 (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На boost:install отключить guideline PHPUnit |
| 3 | vue-tsc ↔ Volar inline check | Volar — для редактора (быстрый). vue-tsc — только в CI (полный pass) |
| 4 | ESLint stylistic ↔ Prettier | eslint-config-prettier обязателен. Без него — конфликт правил |
| 5 | Pa11y ↔ Lighthouse a11y | Lighthouse не входит в 28 (он инфраструктурный, см. §12). Если будет добавлен — отключить категорию accessibility через --only-categories=performance,best-practices |
| 6 | UPM (#31) ↔ Frontend Design (#30) на одной фазе UI-фичи | PSR_v1 R10.1 + R14.5: не параллельно. UPM активируется последовательно как fallback (R14.3 «FD выдал не покрывает») или как «третий вариант» в R12 архитектурном (R11.5). Решатель — всегда FD; UPM — материал |
| 7 | 21st Magic MCP (#32) ↔ существующий Vuetify-компонент | PSR_v1 R0.6 пункт 10: hard-стоп даже в Auto mode. Для v-data-table/v-text-field/v-dialog/v-select/v-card/v-btn и др. — использовать Vuetify, 21st не вызывается. Дублирование инструментов на одну задачу = нарушение CLAUDE.md §5 п.6 |
| 8 | 21st Magic MCP (#32) ↔ брендовый компонент App* | PSR_v1 R0.6 пункт 9: hard-стоп. Для AppButton/AppCard/AppDataTable/AppDialog и любых App*-семейств — R12 архитектурное (3 варианта по Pravila §4.5), 21st не вызывается. Брендовая оболочка проектируется руками с FD-принципами |
| 9 | framer-motion ↔ motion-v (Vue порт) | PSR_v1 R15.1 + R15.2: framer-motion — hard-запрет навсегда (React-only архитектурно, не работает в Vue). motion-v — условно по 4 триггерам (а)+(б)+(в)+(г). По умолчанию ни то, ни другое — стойка R15.3 (Vue native + Vuetify + CSS + View Transitions API) |
| 10 | UPM (#31) ↔ 21st Magic MCP (#32) на одной фазе | PSR_v1 R14.5: не на одной фазе. UPM работает на фазах 1/2 R2 (brainstorming + visual design); 21st — на фазе 5 R2 (визуальная сборка). Если кажется, что нужны оба — задача декомпозируется на под-задачи |
7. Source of truth — приоритет правил
При противоречии между правилами (синхронизировано с CLAUDE.md §1, 7-уровневая файловая иерархия; добавлен PSR_v1 уровнем 3 в v1.13):
0. docs/Pravila_raboty_Claude_v1_1.md §12 (Superpowers hard rule — выше всех)
↓
1. docs/Pravila_raboty_Claude_v1_1.md (остальные параграфы — продуктовые правила, утверждены заказчиком)
↓
2. CLAUDE.md (корень — оперативная карта, авто-загружается Claude Code)
↓
3. docs/Plugin_stack_rules_v1.md (PSR_v1 — координация paired-stack ядра + расширенного UI-пула + motion-системы)
↓
4. .claude/settings.json (хуки, permissions — исполняется средой)
↓
5. memory/*.md (динамическая память между сессиями Claude)
↓
6. Прочие плагины и встроенные skills Claude Code (поведенческие подсказки, ниже всех)
Правило применения: при любом конфликте — выбирается верхний источник. Нижестоящие игнорируются в части, которая противоречит верхним. Это правило явно зафиксировано в CLAUDE.md §1. Scope: общая файловая/слоевая иерархия. Внутрипараграфный приоритет внутри Pravila — см. Pravila §0; scope головенства stack'а — см. PSR_v1 R0.1.
Tooling Прил. Н в priority chain (v1.14+): этот файл (детальный реестр 33 инструментов) сидит уровнем 2b alongside CLAUDE.md (общая оперативная карта) — оба operational maps. При прямом конфликте между ними побеждает CLAUDE.md как корневая карта Claude Code. Раньше (до v1.14) Tooling формально не был в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Файлы CLAUDE.md / Pravila / Tooling» — формальная дыра при конфликте «Tooling vs PSR_v1». Закрыто в v1.14 (audit P2-01).
Полная цепочка с Tooling: 0 (Pravila §12) → 1 (Pravila) → 2a (CLAUDE.md) + 2b (этот файл, alongside) → 3 (PSR_v1) → 4 (settings.json) → 5 (memory) → 6 (прочие плагины).
8. Source of truth — конфиги
Где какой конфиг лежит и кто его редактирует:
| Конфиг | Где | Редактирует | В git? |
|---|---|---|---|
.markdownlint.json |
корень | разработчик | ✅ |
cspell.json + cspell-words.txt |
корень | разработчик (словарь обновляется по PR) | ✅ |
.lychee.toml |
корень | разработчик | ✅ |
.gitleaks.toml |
корень | security lead | ✅ |
.stylelintrc.json |
корень | frontend lead (фаза 2) | ✅ |
pa11y.config.json |
корень | frontend lead | ✅ |
.claude/settings.json (хуки, permissions) |
.claude/ |
Claude (по запросу через /update-config) |
✅ |
.mcp.json (MCP-серверы) |
корень | разработчик (не Boost) | ✅ — расхождение с дефолтом Boost'а |
CLAUDE.md |
корень | Claude (по запросу заказчика) | ✅ |
boost.json |
корень | разработчик | ✅ |
pint.json |
корень (фаза 1) | backend lead | ✅ |
phpstan.neon (Larastan) |
корень (фаза 1) | backend lead | ✅ |
eslint.config.js |
корень (фаза 2) | frontend lead | ✅ |
.prettierrc + .prettierignore |
корень (фаза 2) | frontend lead | ✅ |
vitest.config.ts |
корень (фаза 2) | frontend lead | ✅ |
histoire.config.ts |
корень (фаза 2) | frontend lead | ✅ |
semgrep.yml |
.github/ (фаза 3) |
security lead | ✅ |
dependabot.yml |
.github/ (фаза 3) |
DevOps | ✅ |
9. Что НЕ ставим и почему (10 пунктов + motion-runtime раздел v1.12)
9.1. Изначальный список
| Инструмент | Причина отказа |
|---|---|
СНЯТО 09.05.2026 (v1.10): запрет CLAUDE.md §5 п.5 снят, плагин включён как paired stack со Superpowers; координация — docs/Plugin_stack_rules_v1.md. Anti-pattern «Inter» нейтрализован hard-override R6.1 PSR_v1 |
|
| CodeQL | Дублирует Semgrep; платный для private-репо; Semgrep CE покрывает наши потребности |
Laravel Security Checker (enlightn/security-checker) |
Дублирует Dependabot + Roave |
| PHP-CS-Fixer | Перекрывается Pint'ом (Pint = надстройка над CS-Fixer) |
| Psalm | Перекрывается Larastan |
| Jest | Перекрывается Vitest (один тест-раннер) |
| Storybook (для Vue) | Histoire легче и нативнее для Vue 3 + Vite |
| Snyk (платный) | Dependabot бесплатный и достаточный |
| markdown-link-check | lychee быстрее (Rust vs Node) и надёжнее |
| Sequential Thinking MCP | Дублирует моё базовое рассуждение, жрёт токены |
| Memory MCP | Конфликтует с моей файловой памятью в memory/ |
| Tailwind MCP / shadcn-vue | У нас Vuetify (CTO-11), не Tailwind |
| Inertia / Livewire / Filament / Flux UI / Nova / Folio / Volt / Wayfinder guidelines Boost'а | Не используются в стеке проекта |
9.2. Motion runtime библиотеки (введено в v1.12, R15 PSR_v1 v1.4)
Двухуровневое решение по runtime-зависимостям анимаций. Default motion stack — Vue native <Transition> + Vuetify transitions + CSS @keyframes + View Transitions API (R11.6 уровни 3–6 PSR_v1). Большинство задач закрываются на уровнях 1–2.
| Библиотека | Статус | Причина / условие |
|---|---|---|
framer-motion (npm framer-motion) |
❌ HARD-ЗАПРЕТ навсегда (R15.1) | React-only архитектурно: использует React fiber-tree + hooks + JSX. В Vue 3 + Vuetify стеке физически не работает — мёртвый код в node_modules. Не отменяется ни Auto mode, ни live-командой R0.4.B. Единственный путь снятия — смена базового frontend-стека (само по себе R0.6 hard-стоп) |
react-spring (npm @react-spring/*) |
❌ HARD-ЗАПРЕТ навсегда (R15.1-аналог) | React-only по той же причине |
motion-v (npm motion-v, Vue порт от автора framer-motion) |
⚠ УСЛОВНО разрешено (R15.2) | Технически совместим со стеком, но активация требует одновременного выполнения 4 условий: (а) письменный кейс из ТЗ v8.5 / Открытые_вопросы; (б) категория оправданности — gesture-driven с физикой / shared-layout transitions / spring-physics на интерактивных контролах; (в) Brandbook v2 (или последующий) явно допускает motion-rich направление; (г) полный R12 архитектурный flow — brainstorming + 3 варианта (motion-v vs CSS @keyframes vs View Transitions API) + явное согласование. Без 4 условий — R0.6 пункт 11 hard-стоп. Bundle ~30 KB gzipped |
gsap (gsap npm) |
⚠ УСЛОВНО разрешено (R15.7 R15.2-аналог) | Imperative timeline-driven; нишево для marketing/agency UI. Для нашего B2B-CRM избыточно. Если когда-либо — через те же 4 условия R15.2 |
| anime.js | ⚠ УСЛОВНО разрешено (R15.7) | Аналогично gsap, но ещё нишевее |
lottie-web (lottie-web) |
⚠ УСЛОВНО разрешено (R15.7) | Только для Lottie/After Effects-ассетов. У нас таких ассетов в Brandbook v2 нет; если появятся — через те же 4 условия |
| popmotion, @motionone/dom | ⚠ УСЛОВНО разрешено (R15.7) | Низкоуровневые движки. Default стойка покрывает |
Auto-Animate (@formkit/auto-animate) |
⚠ Возможный кандидат | Один компонент, FLIP под капотом, ~3 KB. Если потребуется list/grid reorder — отдельный R15-flow |
Default motion stack (без runtime-зависимостей):
| Слой | Что покрывает | Размер |
|---|---|---|
Vue 3 native <Transition> / <TransitionGroup> |
enter/leave hooks, FLIP через TransitionGroup, JS-callbacks | 0 KB (нативно) |
Vuetify 3 transitions (v-fade, v-slide-y, v-slide-x, v-scale, v-expand, v-dialog-transition) |
Material-design анимации; уже в vuetify@3.12 |
0 KB сверху |
CSS @keyframes + transition + prefers-reduced-motion |
Произвольные анимации, GPU-acceleration через transform/opacity, поддержка a11y |
0 KB |
| View Transitions API (Chrome 111+, Safari 18+) | Cross-document / cross-route переходы, FLIP под капотом нативно | 0 KB (браузер) |
10. Процедура перехода между фазами
10.1. Фаза 0 → Фаза 1
Триггер: composer create-project laravel/laravel app (или эквивалент).
Шаги (исходный план; отметки фактического статуса в правой колонке после прохождения 08.05.2026):
| # | Шаг | Статус 08.05.2026 |
|---|---|---|
| 1 | composer require laravel/boost --dev |
✅ e04f53b (Boost v2.4.6) |
| 2 | php artisan boost:install — пройти интерактивный wizard |
⚠️ обойдено: wizard сломан на этой машине (кириллица + L13 ConfiguresPrompts bug) — см. §3.1 «Что нового в v1.5» и memory feedback_environment.md п.26. Manual setup вместо wizard'а |
| 3 | Удалить PostgreSQL MCP из .mcp.json |
✅ убран ещё в фазе 0 (_comment_postgres) |
| 4 | boost.json — отключить нерелевантные guidelines |
❌ избыточно: Boost через Roster auto-detect видит установленные пакеты — не установленных (Inertia/Livewire/Tailwind/Filament/Sail/PHPUnit) не серверит. boost.json минимален: 3 ключа (agents/guidelines/mcp) |
| 5 | Создать кастомный guideline для Vuetify 3 в app/.ai/guidelines/vuetify.md (был resources/boost/guidelines/vuetify.blade.php — путь скорректирован на §10.2 после source-проверки) |
✅ e04f53b |
| 6 | CLAUDE.md если Boost создал черновик |
❌ не применимо: при manual setup Boost ничего не пишет в CLAUDE.md (ни корневой, ни app/CLAUDE.md). Корневой остаётся источником истины |
| 7 | Установить Pint, Larastan, Roave/SecurityAdvisories, IDE Helper | ✅ Pint+Larastan+IDE Helper в 0345683; Roave/SA в 0eb2f72 |
| 8 | Установить squawk, pgFormatter | ✅ squawk v2.51.0 + pgFormatter v5.9 в коммите v1.6 (см. §0 «Что нового в v1.6»). Squawk — pre-commit хук на staged *.sql + конфиг .squawk.toml (9 правил исключены). pgFormatter — только ручной режим через npm-скрипты, авто-fix хук недопустим (стиль schema.sql ручной) |
| 8a | ❌ не применимо: Windows-native PG не имеет pg_partman; заменён ручным cron'ом — см. memory project_phase1_strategy.md |
|
| 9 | Установить Pest 4 | ✅ 30f0335 (Pest 4.7.0 + plugin-laravel 4.1.0; smoke-test 2/2 за 281 ms) |
| 10 | Обновить .claude/settings.json — добавить хуки для Pint и Larastan |
⏸ pending: после установки lefthook или эквивалента |
| 11 | Прогнать full-pass всех инструментов | ⏸ pending: после §8/§10 |
| 12 | Обновить эту версию Прил. Н | ✅ v1.0 → v1.1 (Pest 3) → v1.2 (native стек) → v1.3 (Pest 4) → v1.4 (Laravel 13) → v1.5 (Boost+SA active) |
10.2. Vuetify guideline для Boost (заготовка)
Путь к файлу:
app/.ai/guidelines/vuetify.md(или.blade.php, оба расширения поддерживаютсяGuidelineComposer). Старая формулировка «resources/boost/guidelines/vuetify.blade.php» скорректирована в v1.5 после source-проверкиLaravel\Boost\Install\GuidelineComposer::userGuidelineDir = '.ai/guidelines'. Финальная версия живёт в репозитории — заготовка ниже сохранена как историческая.
## Vuetify 3
Проект использует Vuetify 3 как UI-библиотеку (CTO-11). Tailwind CSS, shadcn-vue, Element UI, jQuery, Bootstrap — НЕ использовать.
### Палитра — из brandbook.md §3 и §8.2
- primary: `#0F6E56` (Teal 600)
- secondary: `#5DCAA5` (Teal 200)
- background: `#F1EFE8` (Slate 100)
- surface: `#FFFFFF`
Vuetify-тема — `liderraLight` и `liderraDark` — определена в `brandbook.md` §8.2.
### Шрифты
- основной: Inter (через Google Fonts с subset cyrillic)
- код: JetBrains Mono
### Компоненты
Использовать Vuetify-компоненты (`v-card`, `v-btn`, `v-data-table`, `v-form`, `v-text-field`) с дефолтным material-стилем, переопределённым через `:root` CSS-переменные из `brandbook.md` §8.1.
### A11y
Все компоненты должны проходить Pa11y по WCAG 2.1 AA (брендбук §3.4). Контраст текста на белом — минимум 4.5:1.
10.3. Фаза 1 → Фаза 2
Триггер: первый Vue-компонент.
Шаги:
- Установить Volar (VSCode), vue-tsc, ESLint + config-prettier + plugin-vue, Prettier, Vitest, Histoire.
- Установить Superpowers v5.1.0 — все 14 skills (Pravila §12 v1.4+ hard rule «Superpowers first»; Pravila §11 «полное снятие запретов» с v1.8). Установка декларативно через
~/.claude/settings.json:extraKnownMarketplaces.superpowers-dev+enabledPlugins.superpowers@superpowers-dev=true. Безenabled_skillsограничителей. ⚠️ Историческая контрадикция (закрыта v1.14): до v1.14 этот шаг гласил «enabled_skills = только 3 (test-driven-development, systematic-debugging, subagent-driven-development)» — устаревшая политика v1.7 (3/13 skills с запретами). v1.8 сняла все запреты через §11 override (вариант «A. Полное снятие»); v1.9 ввела §12 hard rule (skill инвокируется первым). См. §4.1 этого же файла для полной хронологии. - Прогнать первый Histoire-story для тестового компонента.
- Запустить Pa11y на первой Vue-странице (выявить регрессии относительно HTML-прототипов).
- Обновить Прил. Н: v1.1 → v1.2.
10.4. Фаза 2 → Фаза 3
Триггер: ~спринт 12, объявление о подготовке к релизу.
Шаги:
- Установить Semgrep + Semgrep MCP, Trivy, Dependabot.
- Включить расширения PostgreSQL: pg_audit, pg_anonymizer.
- Прогнать первый полный SAST-пасс по проекту, зафиксировать baseline.
- Прогнать Trivy на текущем образе, зафиксировать baseline.
- Сделать первый dump БД через pg_anonymizer для staging.
- Обновить Прил. Н: v1.2 → v1.3.
11. Конфигурация под Windows + PowerShell
Особенности для текущего окружения (Windows 10, PowerShell 5.1):
11.1. Пути и кодировки
- Все скрипты в
package.json— кросс-платформенные (использоватьcross-env, неexport VAR=...). - Файлы
.md— UTF-8 БЕЗ BOM. Если PowerShellSet-Contentсоздал файл с BOM — исправить. - Длинные пути — включить
git config --global core.longpaths trueперед клонированием в глубокие папки.
11.2. Git worktrees
- Skill
using-git-worktreesSuperpowers разрешён с 09.05.2026 (см. §4.1; Pravila §11). Запрет был снят вместе с прочими. - Среда остаётся враждебной: на этой машине путь содержит кириллицу (
c:\моя\проекты\портал crm\…) — worktree-операции будут падать с неинформативной ошибкой. Skill при использовании сам должен обработать ошибку или переключиться на альтернативу. - Если ручное использование worktree — избегать пробелов и кириллицы (
c:\projects\liderra-featureОК,c:\My Documents\...илиc:\моя\…— НЕ).
11.3. Pre-commit hooks
- Husky или lefthook (предпочтительно lefthook — на Go, без Node-зависимости).
- Скрипты в hooks — bash-совместимые, запускать через
cmd /cили WSL.
11.4. Глобальные CLI-утилиты
- gitleaks, lychee, squawk, Trivy, Semgrep — скачать готовые бинарники для Windows из GitHub Releases (squawk:
npm i -g squawk-cli+ копия вbin/squawk.exeсм. §3.3). - pgFormatter — Perl-скрипт. На этой машине работает через Cygwin Perl 5.42.2 из Git for Windows (без отдельной установки ActivePerl/Strawberry/WSL). Если Git for Windows не ставился — поставить ActivePerl или Strawberry Perl.
- Pa11y, markdownlint-cli2, cspell, Histoire — npm-пакеты, работают нативно.
11.5. Yandex Cloud CLI и Terraform
Не входят в 33 формализованные позиции тулчейна (см. §12). Ставятся отдельно для DevOps-роли. На Windows — yc и terraform через скачивание .zip или winget.
12. Что вне 33 формализованных позиций (инфраструктура)
Эти 7 пунктов критичны для проекта, но используются DevOps, не Claude. Поэтому в основной реестр не входят, но фиксирую для полноты:
| Инструмент | Зачем |
|---|---|
Yandex Cloud CLI (yc) |
Провижининг по Прил. К |
Terraform + yandex-cloud/yandex provider + terraform-ls |
IaC |
| Docker + docker-compose | Локальная разработка |
| GitHub Actions | CI/CD pipeline |
| Sentry self-hosted | Ю-7 (зафиксировано) |
| Grafana + Prometheus + Alertmanager | Прил. И §1 |
| Lighthouse CI | Performance-регрессия в pipeline |
Если позже решим вовлечь Claude в инфраструктурные задачи — добавится фаза 4 (или эти инструменты переедут в основной реестр).
13. История версий
| Версия | Дата | Что нового |
|---|---|---|
| v1.0 | 06.05.2026 | Первая версия. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10+ пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell. Утверждено заказчиком 06.05.2026 («да, A, делай. Подтверждаю»). Архитектурных изменений в основном архиве: 0 (только добавлен новый шифр Н). |
| v1.10 | 09.05.2026 | Добавлен #30 Frontend Design plugin (Anthropic) в фазе 2 — paired stack со Superpowers. Запрет CLAUDE.md §5 п.5 снят по явной команде заказчика. Координация через новый документ docs/Plugin_stack_rules_v1.md (10 правил, 8 ранее найденных конфликтов закрыты патчами). Добавлен §4.4 «Доменный слой UI — Frontend Design plugin». Phase 2: 6 → 7, total: 28 → 29 номеров (активных 18 → 19). Установка через ~/.claude/settings.json. |
| v1.12 | 10.05.2026 | Формализация двух фактически включённых внешних UI-инструментов как «инструменты-резерв вне фаз»: #31 UI UX Pro Max (skill, marketplace nextlevelbuilder/ui-ux-pro-max-skill) — резерв-библиотека (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков); активация через PSR_v1 v1.4 R14.3 pipeline (фаза 2 R2 fallback к FD ИЛИ фаза 1 R2 «третий вариант» в R12). #32 21st.dev Magic MCP (magic MCP-сервер) — генератор стартовых шаблонов; активация через PSR_v1 v1.4 R14.4 pipeline (pre-check R0.6 + R6.0 фильтр + R6.1 hard-override + FD адаптация). Оба не привязаны к фазе по тулчейну (post-MVP инструменты-резерв). Добавлены §4.5 + §4.6. §9 «Что НЕ ставим» дополнен разделом «Motion runtime библиотеки»: framer-motion + react-spring (R15.1 hard-запрет, React-only); motion-v + gsap + anime.js + lottie-web + popmotion (R15.2/R15.7 условно по 4 триггерам, R0.6 пункт 11 hard-стоп). Default motion stack: Vue native + Vuetify + CSS + View Transitions API. Total формализованных: 29 → 31 позиций (активных по фазам — 19/29; +2 off-phase). Связано: PSR_v1 v1.3 → v1.4; Pravila v1.7 → v1.8 (§13.10 hard-link на R14); CLAUDE.md v1.82 → v1.83. |
| v1.13 | 10.05.2026 | Закрытие 4 структурных находок аудита нормативной документации: §7 «Source of truth» обновлён с 5-уровневой на 7-уровневую цепочку — добавлен Plugin_stack_rules_v1.md (PSR_v1) уровнем 3 (координирующий слой между paired-stack ядром и расширенным UI-пулом); явно вынесен Pravila §12 (Superpowers hard rule) уровнем 0; sync с CLAUDE.md §1. §4.7 (новый) — #33 claude-md-management plugin формализован как off-phase инфраструктурный инструмент (был фактически включён в ~/.claude/settings.json с момента CLAUDE.md §5 п.10, но без формализации); отдельная категория инфраструктурная, не UI — поэтому не попадает под Pravila §13 (расширенный UI-пул) и не проходит R6.0/R6.1/R14 pipeline. §6 «Конфликты и решения» расширен с 5 до 10 строк — добавлены 5 новых конфликтов из PSR_v1 v1.4: UPM↔FD, 21st↔Vuetify-эквивалент, 21st↔брендовый App*, framer-motion↔motion-v, UPM↔21st. §4.6 — settings.json → ~/.claude.json: уточнено, что API-ключ 21st хранится в ~/.claude.json, не в ~/.claude/settings.json. §0 — счётчик 31 → 33 (3 off-phase: UPM #31, 21st #32, claude-md-management #33). Total формализованных: 33 (29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически). Связано: Pravila v1.8 → v1.9, PSR_v1 v1.4 → v1.5, CLAUDE.md v1.83 → v1.84. |
| v1.14 | 10.05.2026 (вечер) | Закрытие 3 находок второго аудита правил использования плагинов и скилов (P0-01, P0-04, P2-01 в Tooling — из 15 общих находок). P0-01: §10.3 шаг 2 sync с §4.1 — раньше шаг гласил «Установить Superpowers с конфигом enabled_skills = только 3» (политика v1.7), но §4.1 того же файла говорит «v1.8 снятие запретов через §11 override (полное снятие); v1.9 hard rule §12 первоочерёдное использование» — внутри-документная контрадикция. v1.14: §10.3 шаг 2 переписан на 14 skills с пометкой об устаревшей версии. P0-04: §13 +v1.13 +v1.14 entries — раньше история обрывалась на v1.12, хотя шапка описывала v1.13. v1.14: таблица синхронизирована (добавлены v1.13 + v1.14 строки). P2-01: §7 priority chain +Tooling explicit slot — раньше Tooling Прил. Н формально не было в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Tooling»; формальная дыра при конфликте «Tooling vs PSR_v1». v1.14: добавлен note про Tooling уровнем 2b alongside CLAUDE.md (оба operational maps; при прямом конфликте — приоритет CLAUDE.md). Total формализованных: 33 (без изменений; правки касаются формулировок и priority chain). Связано: Pravila v1.9 → v1.10, PSR_v1 v1.5 → v1.6, CLAUDE.md v1.84 → v1.85. Через /claude-md-management:claude-md-improver. |
| v1.15 | 10.05.2026 (поздний вечер) | Закрытие 4 находок третьего аудита правил использования плагинов и скилов (P1-03/04/05 + §11.5/§12 «28→33» в Tooling — из 13 общих находок). P1-03/04/05: sync cross-refs шапки на актуальные версии связанных документов после bump'ов CLAUDE.md v1.85 → v1.86 и PSR_v1 v1.6 → v1.7: «Pravila v1.9+» → «v1.10+», «PSR_v1 v1.5+» → «v1.7+», «CLAUDE.md v1.84+» → «v1.86+». «+»-нотация сохранена (forward-compat). §11.5/§12 — формулировка «28 инструментов» → «33 формализованные позиции»: в DevOps-разделе текст застрял с эпохи v1.0, когда счётчик был 28; смысловое назначение фразы — «реестр Лидерры», который теперь имеет 33 формализованных позиции. История версий ниже и changelog'и в шапках v1.0/v1.10/v1.12 — это снимки эпох и не правятся. Total формализованных: 33 (без изменений; правки касаются формулировок и cross-refs). Связано: PSR_v1 v1.6 → v1.7, CLAUDE.md v1.85 → v1.86. Pravila v1.10 — без правок. Через /claude-md-management:claude-md-improver. |
Прил. Н v1.15 от 10.05.2026 (поздний вечер) — закрытие 4 находок третьего аудита (P1-03/04/05 sync cross-refs, §11.5/§12 «28→33»). 33 позиций (без изменений).
Прил. Н v1.14 от 10.05.2026 (вечер) — закрытие 3 находок второго аудита (P0-01 §10.3 sync, P0-04 §13 +v1.13 +v1.14 entries, P2-01 §7 +Tooling explicit slot). 33 позиций (без изменений).
Прил. Н v1.13 от 10.05.2026 — закрытие 4 структурных находок аудита нормативной документации (§7 +PSR_v1 уровнем 3, §4.7 новый — #33 claude-md-management, §6 +5 конфликтов v1.4, §4.6 settings → .claude.json). 33 позиций (19/29 активны по фазам + 3 off-phase + 1 заменённый PG MCP).
Прил. Н v1.12 от 10.05.2026 — формализованы #31 UPM + #32 21st Magic MCP как off-phase tools; §9 расширен motion-runtime denylist'ом. 31 позиций (19/29 активны по фазам + 2 off-phase).
Прил. Н v1.10 от 09.05.2026 — добавлен #30 Frontend Design plugin (paired со Superpowers), 19/29 активных.
Прил. Н v1.0 от 06.05.2026 — старт документации по tooling.
Связано: CLAUDE.md (корень), Pravila_raboty_Claude_v1_1.md v1.8+, README_АРХИВ_v8_4.md v8.4+.