From 07ed3f1be679e9368e4289b8ea27f3b2082a45cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 10 May 2026 05:56:43 +0300 Subject: [PATCH] =?UTF-8?q?docs(rules):=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B0=D1=83=D0=B4=D0=B8=D1=82=20=D0=BD=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D0=B2=D0=BA=D0=B8=20=E2=80=94=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B5=2015=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=BE=D0=BA=20(CLAUDE.md=20v1.85=20+=20Pravi?= =?UTF-8?q?la=20v1.10=20+=20PSR=5Fv1=20v1.6=20+=20Tooling=20v1.14)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Закрыто 15 находок второго аудита правил использования плагинов и скилов (4 P0 реальных противоречий + 7 P1 stale-refs + 4 P2 структурных). Через `/claude-md-management:claude-md-improver`. P0 — реальные противоречия: - Tooling §10.3 шаг 2: «3 skills» → «14, все запреты сняты Pravila §11» (закрыта внутри-документная контрадикция с §4.1 того же файла) - CLAUDE.md §6: арифметика «33» исправлена (+1 заменённый PG MCP исторически; раньше 19/29 + 3 = 32, не 33) - Pravila §13.2: «v1.4 (15 правил)» → «v1.6 (16 правил R0–R15)» - Tooling §13: добавлены v1.13 + v1.14 entries (раньше история обрывалась на v1.12, хотя шапка описывала v1.13) P1 — массовый stale-refs дрейф v1.4→v1.6 + v1.12→v1.14: - CLAUDE.md §0 cross-refs (Pravila/PSR_v1/Tooling rows), §3.3 #31, #32, §5 п.12 - Pravila §11.5 («10 правил»→«16»), §13.9, §13.10 - Tooling §4.4 («10 правил»→«16»), §4.5, §4.6, §4.7 P2 — структурные: - Tooling Прил. Н добавлен explicit-слотом уровня 2b в priority chain (CLAUDE.md §1, PSR_v1 R0.1 таблица, Tooling §7) — раньше формальная дыра «PSR_v1 R0.1 говорит stack ниже Tooling, но Tooling нет ни в одной priority chain» - PSR_v1 R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устранён риск дрейфа формулировок (раньше параллелил список разной формулировкой) - Pravila §0 +note про §11 локальное override-исключение над §2.2/§4.5/§8.4 (раньше §11 формально стоял ниже §9 в цепочке вопреки фактическому override §2.2/§4.5/§8.4 при skill-инвокации) - PSR_v1 R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11» (раньше буллет-list, ссылки молча ломались) Все 4 файла нормативной документации внутренне непротиворечивы. История версий синхронизирована. Co-Authored-By: Claude Opus 4.7 (1M context) --- CLAUDE.md | 40 +++++++++++--------- docs/Plugin_stack_rules_v1.md | 60 ++++++++++++++++-------------- docs/Pravila_raboty_Claude_v1_1.md | 22 ++++++++--- docs/Tooling_v8_3.md | 30 ++++++++++----- 4 files changed, 93 insertions(+), 59 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 07a953ca..922c2358 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # CLAUDE.md — техконтекст Лидерры -**Версия:** 1.84 от 10.05.2026 — закрытие 14 находок аудита нормативной документации (конфликты и запутанности между CLAUDE.md / Pravila / PSR_v1 / Tooling). Через `/claude-md-management:claude-md-improver`. Ключевые правки: **#33 claude-md-management** формализован в реестре Tooling (§3.3) как 5-й включённый плагин в инфраструктурной категории (off-phase, вне UI-пула); **§5 п.5 свёрнут** до 2 строк со ссылкой на PSR_v1 (была копия PSR_v1 R14 целиком); **§5 п.11 — cross-ref на Pravila §12.3 SoT** (раньше дублировал список exclusions); **§1 — scope-метка** «общая 7-уровневая файловая иерархия; не дублирует Pravila §0 / PSR_v1 R0.1»; **§6 — счётчик 31 → 33** (3 off-phase tools). Связанные обновления: **Pravila v1.8 → v1.9** (§12.3 SoT для exclusions, §13.2 +claude-md-management как off-pool, §13.6 hard-rule tier-структура explicit/transitive/standard, §0 scope-метка). **PSR_v1 v1.4 → v1.5** (R10.1 разбит на 3 блока — `enabledPlugins` / built-in skills / MCP; R0.4.A SoT cross-ref на Pravila §12.3; R10.4 + R14.7 tier-метки; R8 +тай-брейкер FD↔21st; R0.1 scope-метка). **Tooling v1.12 → v1.13** (§7 +PSR_v1 уровнем 3 в иерархии; §4.7 новый — #33 claude-md-management; §6 +5 конфликтов v1.4; §4.6 settings.json → .claude.json; §0 счётчик 33). Предыдущая v1.83 — формализация UPM + 21st + двухуровневое решение по motion-runtime (детали в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md)). +**Версия:** 1.85 от 10.05.2026 (вечер) — закрытие 15 находок аудита правил использования плагинов и скилов. Через `/claude-md-management:claude-md-improver`. Ключевые правки: **§6 — арифметика «33» исправлена** (раньше «19/29 + 3 off-phase» = 32, не 33; добавлен «+1 заменённый PG MCP исторически»); **§3.3 #31/#32 + §5 п.12 — stale v1.4→v1.6 + v1.12→v1.14** (массовый дрейф inline-cross-refs после bump'ов); **§1 — Tooling Прил. Н добавлен explicit-слотом** уровня 2 alongside CLAUDE.md (раньше Tooling формально не был в priority-цепочке несмотря на PSR_v1 R0.1 «stack ниже Tooling»). Связанные обновления: **Pravila v1.9 → v1.10** (§11.5 «10 правил»→«16»; §13.2 «v1.4 (15 правил)»→«v1.6 (16)»; §13.9/§13.10 v1.4→v1.6; §0 +note про §11 override-приоритет над §2.2/§4.5/§8.4). **PSR_v1 v1.5 → v1.6** (R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устраняет риск дрейфа формулировок; R0.6 пронумерован 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling slot уровня 2.5). **Tooling v1.13 → v1.14** (§10.3 шаг 2 «3 skills»→«14, все запреты сняты Pravila §11»; §13 +v1.13 +v1.14 entries; §7 +Tooling explicit slot). Предыдущая v1.84 — закрытие 14 находок аудита нормативной документации (детали в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md)). **Назначение:** оперативная карта для Claude Code. Не первоисточник — первоисточники указаны в §0. **Владелец и режим правок:** все изменения этого файла — **только** через плагин `claude-md-management` (skills `/claude-md-management:claude-md-improver` для audit/targeted-updates и `/claude-md-management:revise-claude-md` для capture session-learnings). Прямые правки запрещены — см. §5 п.11. @@ -12,9 +12,9 @@ | Тема | Документ | |---|---| -| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.9 от 10.05.2026** — §12.3 объявлен SoT для exclusions §12; §13.2 +claude-md-management как off-pool инфраструктурный; §13.6 hard-rule tier-структура explicit/transitive/standard; §0 scope-метка цепочки) | -| **Правила совместного использования плагинов Claude** | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (**v1.5 от 10.05.2026** — R10.1 разбит на 3 блока: `enabledPlugins` через marketplace (UPM, claude-md-management) + Built-in skills Claude Code (review/security-review/init/simplify/update-config/keybindings-help/fewer-permission-prompts/loop/schedule/claude-api) + MCP-серверы (21st Magic, Boost, playwright, github); R0.4.A — SoT cross-ref на Pravila §12.3; R10.4 + R14.7 — tier-метки transitive hard-rule; R8 +тай-брейкер FD↔21st; R0.1 — scope-метка таблицы) | -| Полный реестр 29 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (**Прил. Н v1.13 от 10.05.2026** — §7 +PSR_v1 уровнем 3 в иерархии (7-уровневая sync с CLAUDE.md §1); §4.7 новый — #33 claude-md-management (5-й включённый плагин, инфраструктурная категория, off-phase); §6 +5 новых конфликтов v1.4 (UPM↔FD, 21st↔Vuetify, 21st↔App*, framer↔motion-v, UPM↔21st); §4.6 settings.json → .claude.json; §0 счётчик 33 (19/29 + 3 off-phase); v1.12 наследие — UPM/21st/motion-runtime denylist) | +| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (**v1.10 от 10.05.2026 вечер** — §0 +note про §11 локальное override-исключение над §2.2/§4.5/§8.4; §11.5 «10 правил» → «v1.6, 16»; §13.2 «v1.4 (15 правил)» → «v1.6 (16)»; §13.9/§13.10 PSR_v1 v1.4 → v1.6; v1.9 наследие — §12.3 SoT, §13.2 +claude-md-management off-pool, §13.6 hard-rule tier-структура) | +| **Правила совместного использования плагинов Claude** | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (**v1.6 от 10.05.2026 вечер** — R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT (раньше параллелил список с риском дрейфа); R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling Прил. Н slot уровня 2.5; v1.5 наследие — R10.1 разбит на 3 блока (enabledPlugins/built-in/MCP), R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st) | +| Полный реестр 29 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (**Прил. Н v1.14 от 10.05.2026 вечер** — §10.3 шаг 2 «3 skills» → «14, все запреты сняты Pravila §11» (закрыта внутри-документная контрадикция с §4.1); §13 +v1.13 +v1.14 entries (раньше история обрывалась на v1.12); §7 +Tooling Прил. Н explicit slot уровня 2b alongside CLAUDE.md; v1.13 наследие — §7 +PSR_v1 уровнем 3, §4.7 +#33 claude-md-management, §6 +5 конфликтов v1.4, §4.6 settings → .claude.json, §0 счётчик 33) | | Главное ТЗ | [docs/CRM_bp-gr_Инструкция_v8_5.md](docs/CRM_bp-gr_Инструкция_v8_5.md) (v8.5 от 07.05.2026 — реализация 27 решений аудита C; in-place hygiene v1.20 от 08.05.2026 поздний вечер: §2.4/§5.5/§5.6/§6.5/§11/§20.12.3/§21.1/§27.1 синхронизированы под schema v8.6 двустадийный dedup) | | Схема БД | [db/schema.sql](db/schema.sql) (**v8.11 от 09.05.2026** — Sprint 1 Phase A: RLS на `impersonation_tokens` + 2 missing FK indices (audit P0-02 + O-perf-02/03). Метрики: 56 базовых таблиц + 12 партиций + 97 индексов + 38 RLS + 5 функций + 13 триггеров) | | Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (**v1.75 от 09.05.2026 — Post-MVP Reports backend закрыт** (4 этапа); MVP по Claude-зоне закрыт в v1.74; финал-метрики Pest 403/403 + Vitest 393/393 + Histoire 21/43) | @@ -31,24 +31,26 @@ ## 1. Приоритет правил при конфликте ``` -0. Pravila §12 — Superpowers hard rule (инвокация skills первой) ← неотменяемо §9 +0. Pravila §12 — Superpowers hard rule (инвокация skills первой) ← неотменяемо §9 ↓ -1. docs/Pravila_raboty_Claude_v1_1.md (продуктовые правила, утверждены заказчиком) +1. docs/Pravila_raboty_Claude_v1_1.md (продуктовые правила, утверждены заказчиком) ↓ -2. CLAUDE.md (этот файл — оперативная карта) +2a. CLAUDE.md (общая оперативная карта) +2b. docs/Tooling_v8_3.md Прил. Н (детальный реестр 33 инструментов) + ↑ оба operational maps уровня 2; при конфликте между ними — приоритет CLAUDE.md ↓ -3. docs/Plugin_stack_rules_v1.md (координация Superpowers + Frontend Design — gate, фазы, разделения) +3. docs/Plugin_stack_rules_v1.md (координация Superpowers + Frontend Design — gate, фазы, разделения) ↓ -4. .claude/settings.json (хуки, permissions — исполняется средой) +4. .claude/settings.json (хуки, permissions — исполняется средой) ↓ -5. memory/*.md (динамическая память между сессиями) +5. memory/*.md (динамическая память между сессиями) ↓ -6. Прочие плагины (claude-md-management, ui-ux-pro-max и т.п.) — поведенческие подсказки +6. Прочие плагины (claude-md-management, ui-ux-pro-max и т.п.) — поведенческие подсказки ``` -При любом противоречии — выбирается верхний уровень. **§12 правил Claude — единственное explicit hard-правило в Pravila; §9 «Отступления» к нему не применяется** (см. Pravila §12.4). Дополнительно §13.9 и §13.10 Pravila — **transitive hard-rule** через hard-link на нарушения PSR_v1 R10/R14 (см. Pravila §13.6 tier-таблицу). Plugin_stack_rules_v1 (уровень 3) — координирующий слой между двумя плагинами Claude; ниже Pravila/CLAUDE.md, выше settings.json. +При любом противоречии — выбирается верхний уровень. **§12 правил Claude — единственное explicit hard-правило в Pravila; §9 «Отступления» к нему не применяется** (см. Pravila §12.4). Дополнительно §13.9 и §13.10 Pravila — **transitive hard-rule** через hard-link на нарушения PSR_v1 R10/R14 (см. Pravila §13.6 tier-таблицу). Plugin_stack_rules_v1 (уровень 3) — координирующий слой между двумя плагинами Claude; ниже Pravila/CLAUDE.md/Tooling, выше settings.json. **Tooling Прил. Н** (уровень 2b, добавлен в v1.85) — детальный реестр инструментов; alongside CLAUDE.md (оба operational maps), но при прямом конфликте между ними побеждает CLAUDE.md как корневая карта Claude Code. -**Scope этой цепочки (v1.84+):** общая 7-уровневая **файловая/слоевая** иерархия. Не дублирует: +**Scope этой цепочки (v1.85+):** общая 7-уровневая **файловая/слоевая** иерархия (уровень 2 разделён на 2a CLAUDE.md + 2b Tooling — оба operational maps). Не дублирует: - **Pravila §0** — внутрипараграфный приоритет внутри Pravila (§1–§13). - **PSR_v1 R0.1** — scope головенства stack'а внутри уровней 4–6 этой цепочки. @@ -118,8 +120,8 @@ | 23 | Тесты Vue | Vitest | `npm run test:vue` | | 24 | Каталог компонентов | Histoire (НЕ Storybook) | `npm run story` | | 30 | Доменная база UI (компоненты, паттерны, состояния, a11y-принципы) | **Frontend Design plugin** (Anthropic, paired со Superpowers) | автоматически через `~/.claude/settings.json`; **обязательный стек-фильтр** Vue+Vuetify (см. [Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) Правило 6) | -| 31 | Резерв-библиотека UI (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков) — *off-phase tool* | **UI UX Pro Max** (skill `ui-ux-pro-max@ui-ux-pro-max-skill`) | автоматически через `~/.claude/settings.json`; активация — только через PSR_v1 v1.4 R14.3 pipeline (фаза 2 R2 fallback к FD ИЛИ фаза 1 R2 «третий вариант» в R12 архитектурном); R6.0 фильтр + R6.1 hard-override Forest обязательны | -| 32 | Генератор стартовых шаблонов для UI-компонентов (LLM-based) — *off-phase tool* | **21st.dev Magic MCP** (`magic` сервер в `~/.claude.json`, tools `mcp__magic__21st_magic_component_*` + `logo_search`) | активация — только через PSR_v1 v1.4 R14.4 pipeline (pre-check R0.6 пунктов 9–10: брендовый App*? Vuetify-эквивалент? существующий компонент? — все «нет» обязательно) → R6.0 фильтр (JSX→Vue, Tailwind→utility, shadcn→Vuetify) → R6.1 hard-override → FD адаптация; Pa11y обязателен на deployable | +| 31 | Резерв-библиотека UI (50+ стилей, 161 палитра, 99 UX-гайдлайнов, 25 типов графиков) — *off-phase tool* | **UI UX Pro Max** (skill `ui-ux-pro-max@ui-ux-pro-max-skill`) | автоматически через `~/.claude/settings.json`; активация — только через PSR_v1 v1.6 R14.3 pipeline (фаза 2 R2 fallback к FD ИЛИ фаза 1 R2 «третий вариант» в R12 архитектурном); R6.0 фильтр + R6.1 hard-override Forest обязательны | +| 32 | Генератор стартовых шаблонов для UI-компонентов (LLM-based) — *off-phase tool* | **21st.dev Magic MCP** (`magic` сервер в `~/.claude.json`, tools `mcp__magic__21st_magic_component_*` + `logo_search`) | активация — только через PSR_v1 v1.6 R14.4 pipeline (pre-check R0.6 пунктов 9–10: брендовый App*? Vuetify-эквивалент? существующий компонент? — все «нет» обязательно) → R6.0 фильтр (JSX→Vue, Tailwind→utility, shadcn→Vuetify) → R6.1 hard-override → FD адаптация; Pa11y обязателен на deployable | | 33 | Инфраструктурный плагин для CLAUDE.md edits — *off-phase tool, инфраструктурная категория* | **claude-md-management** (skills `claude-md-improver` + `revise-claude-md`, marketplace `anthropics/claude-plugins-official`) | автоматически через `~/.claude/settings.json`; **обязательный канал** правок CLAUDE.md (§5 п.10). Категория **инфраструктурная** (не UI), вне Pravila §13 расширенного UI-пула — поэтому не проходит R6.0/R6.1 фильтр и R14 pipeline. Регулируется PSR_v1 R10.1 блок 1 | ### 3.4. Фаза 3 — pre-production (+5, итого 28) @@ -194,13 +196,13 @@ trivy image liderra:latest Плагин — **единственный** интерфейс ведения файла; он отвечает за содержание и качество (по `references/quality-criteria.md` плагина: commands/architecture/non-obvious patterns/conciseness/currency/actionability). Прямые `Edit`/`Write` по `CLAUDE.md` без вызова skill'а — нарушение, фиксировать в feedback. Внутри flow плагина продолжают действовать пп.7 (синхронизация Pravila + Tooling) и общие §4 правил Claude. 11. **Не пропускать инвокацию Superpowers skill'а** для задачи, попадающей под карту §12.2 правил Claude (TDD, debug, plan, parallel, review, verify, brainstorm, worktree, finishing PR, subagent, writing-skills). Это **hard rule** (§12 правил Claude), §9 «Отступления» к нему **не применяется**. Рационализация типа «эта задача проще, чем требует skill» / «сейчас быстрее без skill'а» — нарушение того же уровня, что игнорирование §5 ПДн. **Список exclusions — Pravila §12.3 (Single Source of Truth, v1.9+)**: при расширении правок здесь — править только Pravila §12.3, не дублировать список текстом сюда. Запрос заказчика «не используй superpowers сейчас» — единственная отмена, и **только** на текущее действие. См. Pravila §12.4. -12. **Не устанавливать motion runtime библиотеки без прохождения R15.2 PSR_v1** (4 условия триггера) — `framer-motion` (R15.1 hard-запрет навсегда: React-only архитектурно, не работает в Vue), `react-spring` (R15.1-аналог: тоже React-only), `motion-v` (R15.2: Vue 3 порт framer-motion, условно по 4 триггерам), `gsap`, `anime.js`, `react-spring`, `lottie-web`, `popmotion`, `@motionone/dom` (R15.7: аналогично). **Default motion stack** — Vue native `` / `` + Vuetify transitions + CSS `@keyframes` + View Transitions API (R11.6 уровни 3–6). Большинство задач закрываются на уровнях 1–2. Установка любой animation runtime библиотеки в `package.json` — **R0.6 пункт 11 hard-стоп**, Auto mode не отменяет. Подробности — PSR_v1 v1.4 R15 + Tooling Прил. Н v1.12 §9.2. +12. **Не устанавливать motion runtime библиотеки без прохождения R15.2 PSR_v1** (4 условия триггера) — `framer-motion` (R15.1 hard-запрет навсегда: React-only архитектурно, не работает в Vue), `react-spring` (R15.1-аналог: тоже React-only), `motion-v` (R15.2: Vue 3 порт framer-motion, условно по 4 триггерам), `gsap`, `anime.js`, `react-spring`, `lottie-web`, `popmotion`, `@motionone/dom` (R15.7: аналогично). **Default motion stack** — Vue native `` / `` + Vuetify transitions + CSS `@keyframes` + View Transitions API (R11.6 уровни 3–6). Большинство задач закрываются на уровнях 1–2. Установка любой animation runtime библиотеки в `package.json` — **R0.6 пункт 11 hard-стоп**, Auto mode не отменяет. Подробности — PSR_v1 v1.6 R15 + Tooling Прил. Н v1.14 §9.2. --- ## 6. Текущая фаза проекта -**Post-MVP (10.05.2026).** Фазы 0/1/2 по тулчейну закрыты (19/29 активны по фазам после установки Frontend Design plugin v1.78). **+3 off-phase tools формализованы 10.05.2026 (v1.83 → v1.84):** #31 UI UX Pro Max (skill, резерв-библиотека UI), #32 21st.dev Magic MCP (генератор шаблонов UI), **#33 claude-md-management** (skills, инфраструктура CLAUDE.md edits — формализован в v1.84 после audit находки «5-й включённый плагин без номера в реестре»). UPM + 21st активируются только через PSR_v1 v1.5 R14 pipeline; claude-md-management — обязательный канал правок CLAUDE.md (§5 п.10), регулируется PSR_v1 R10.1 блок 1. Итого формализованных позиций тулчейна: **33** (19/29 активных по фазам + 3 off-phase). MVP Claude-зоны закрыт в v1.72; затем закрыт Reports backend epic (v1.73, 4 этапа `19f319c..e0ffe7e`). 13/13 экранов handoff покрыты UI + 3 ErrorView (404/403/500); landing ⏸ Б-1. Backend: auth (login/register/2FA/recovery/forgot/reset) + deals API (index/show/store/update/transition/destroy/restore/export-CSV+XLSX) + 3 lookup-API + reminders CRUD + cron + in_app_notifications + bell-UI polling + notification-preferences PATCH + admin (tenants/billing/incidents/system) + impersonation + webhook receive (HMAC + per-token rate-limit). Все 8 schema-default событий уведомлений интегрированы. **Pest 403/403, Vitest 393/393, Histoire 21/43.** +**Post-MVP (10.05.2026).** Фазы 0/1/2 по тулчейну закрыты (19/29 активны по фазам после установки Frontend Design plugin v1.78). **+3 off-phase tools формализованы 10.05.2026:** #31 UI UX Pro Max (skill, резерв-библиотека UI, формализован v1.83), #32 21st.dev Magic MCP (генератор шаблонов UI, формализован v1.83), **#33 claude-md-management** (skills, инфраструктура CLAUDE.md edits — формализован в v1.84 после audit находки «5-й включённый плагин без номера в реестре»). UPM + 21st активируются только через PSR_v1 v1.6 R14 pipeline; claude-md-management — обязательный канал правок CLAUDE.md (§5 п.10), регулируется PSR_v1 R10.1 блок 1. Итого формализованных позиций тулчейна: **33** (19/29 активных по фазам + 3 off-phase + 1 заменённый PG MCP исторически — слот #1, заменён #10 Boost в фазе 1, формально остаётся в реестре). Без «+1 historic» арифметика «33» не сходится — это правка v1.85. MVP Claude-зоны закрыт в v1.72; затем закрыт Reports backend epic (v1.73, 4 этапа `19f319c..e0ffe7e`). 13/13 экранов handoff покрыты UI + 3 ErrorView (404/403/500); landing ⏸ Б-1. Backend: auth (login/register/2FA/recovery/forgot/reset) + deals API (index/show/store/update/transition/destroy/restore/export-CSV+XLSX) + 3 lookup-API + reminders CRUD + cron + in_app_notifications + bell-UI polling + notification-preferences PATCH + admin (tenants/billing/incidents/system) + impersonation + webhook receive (HMAC + per-token rate-limit). Все 8 schema-default событий уведомлений интегрированы. **Pest 403/403, Vitest 393/393, Histoire 21/43.** - Активно: **19 инструментов из 29** — 9 из фазы 0 (см. §3.1) + 8 из фазы 1: **#10 Boost v2.4.6**, **#11 Pint v1.29**, **#12 Larastan v3.9.6**, **#13 Roave/SecurityAdvisories**, **#14 IDE Helper v3.7.0**, **#15 squawk v2.51.0**, **#16 pgFormatter v5.9**, **#18 Pest v4.7.0** + 7 из фазы 2 (закрыта по тулчейну, см. ниже): #19 Superpowers + #20–24 + **#30 Frontend Design plugin** (новый, paired stack). - Готово в фазе 1: Laravel 13.7 в `app/`, predis 3.4.2, **schema.sql v8.6 развёрнута через `migrate:fresh` (870 ms, 1 миграция `load_initial_schema.php` — raw SQL через `DB::unprepared(file_get_contents(...))`)**, 3 default Laravel-миграции удалены (users/cache/jobs дублировались с нашей schema), smoke-test'ы (**Pest 19/19 за 1711 ms** — 4 RLS smoke + 8 model smoke + 5 middleware + 2 default; Pint passed, PHPStan analyse passed с baseline, ide-helper:generate OK + ide-helper:models -W -M -N для @mixin IdeHelper*, squawk 0 issues с конфигом, pgFormatter dry-run OK), MCP-сервер `boost:mcp` через Roster auto-detect (9 tools, JSON-RPC 2024-11-05). **Eloquent-модели**: `Tenant`, `User`, `Project` (+ factories) — `User` переписан под нашу схему (`password_hash` вместо `password`, override `getAuthPassword()`), Soft Deletes на Tenant + User. **Middleware `SetTenantContext`** (alias `tenant`): резолюция tenant_id из `auth()->user()`, subdomain или `X-Tenant-Id` header → `SET LOCAL app.current_tenant_id` в обёртке транзакции (PgBouncer-safe). **Deployment-скрипты ролей БД** для production: `db/00_create_roles.sql`, `db/02_grants.sql`. На dev — `postgres` superuser. **CTO-13 RLS smoke-test реализован**: `tests/Feature/RlsSmokeTest.php` + `TenantModelsTest.php` + `SetTenantContextTest.php`. @@ -251,6 +253,10 @@ trivy image liderra:latest Полная история — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) (вынесена 09.05.2026 при правке v1.73→v1.74 ради лаконичности шапки). Здесь — две последние: +- **v1.85 от 10.05.2026 (вечер)** — закрытие 15 находок аудита правил использования плагинов и скилов (4 P0 + 7 P1 + 4 P2). Заказчик: «проведи аудит правил использования плагинов и скилов на предмет конфликта и запутанностей» → Claude через `/claude-md-management:claude-md-improver` нашёл 16 находок, представил quality report, получил «все 15» (P0+P1+P2), применил батчем. **P0:** §6 арифметика «33» исправлена (+1 historic PG MCP); Tooling §10.3 шаг 2 sync с §4.1 (3→14 skills); Pravila §13.2 «(15 правил)»→«(16)»; Tooling §13 +v1.13 +v1.14 entries. **P1:** массовый stale-refs дрейф v1.4→v1.6 + v1.12→v1.14 в 7 местах (CLAUDE.md #31/#32/§5п.12, Pravila §11.5/§13.2/§13.9/§13.10). **P2:** Tooling Прил. Н добавлен explicit-слотом уровня 2b (раньше PSR_v1 R0.1 говорил «stack ниже Tooling», но Tooling не было в priority chain ни одного из 4 файлов); PSR_v1 R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT (раньше параллелил список разной формулировкой — риск дрейфа); Pravila §0 +note про §11 override-приоритет (раньше §11 формально стоял ниже §9 в цепочке вопреки фактическому override §2.2/§4.5/§8.4); PSR_v1 R0.6 пронумерован 1–11 для надёжности cross-refs. Связано: **Pravila v1.9→v1.10**, **PSR_v1 v1.5→v1.6**, **Tooling v1.13→v1.14**. Через `/claude-md-management:claude-md-improver`. + +- **v1.84 от 10.05.2026** — закрытие 14 находок аудита нормативной документации (конфликты и запутанности между CLAUDE.md / Pravila / PSR_v1 / Tooling). **#33 claude-md-management** формализован в реестре Tooling §3.3 как 5-й включённый плагин (инфраструктурная категория, off-phase). §5 п.5 свёрнут до 2 строк (была копия PSR_v1 R14 целиком). §5 п.11 — cross-ref на Pravila §12.3 SoT. §1 — scope-метка «общая 7-уровневая файловая иерархия». §6 — счётчик 31→33. Связано: Pravila v1.8→v1.9, PSR_v1 v1.4→v1.5, Tooling v1.12→v1.13. + - **v1.83 от 10.05.2026** — **формализация двух фактически включённых внешних UI-инструментов + двухуровневое решение по runtime motion-библиотекам.** Триггер: пользователь спросил «хочу добавить стек плагинов 21st, framer motion, UI UX max — проанализируй конфликты». Проверка показала: 21st (MCP `magic`) и UI UX Pro Max (skill) уже включены в `~/.claude.json` и `~/.claude/settings.json` соответственно, но в правилах не описаны (любое использование = нарушение R0.2/R10.4 PSR_v1). Framer Motion — React-only runtime-библиотека, не Claude-плагин, физически не работает в Vue. Через цикл brainstorming → 3 варианта → итерации согласовано: формализовать UPM + 21st; для motion — двухуровневая R15-конструкция (framer-motion hard-запрет + motion-v узкое окно по 4 условиям). **PSR_v1 v1.3 → v1.4** (R6/R6.1 расширены на FD/UPM/21st, R10.1 +21st row, R11.5 + R11.6, R0.6 +3 hard-стопа, R13 +9 строк matrix'а, R14 (новое) pipeline UI-генераторов с R14.4 21st pre-check, R15 (новое) motion-системы — R15.1 framer-motion hard-запрет + R15.2 motion-v 4 условия + R15.3 default стойка + R15.7 расширение на gsap/anime/lottie). **Pravila v1.7 → v1.8** (§13 расширен, §13.10 hard-link на R14: использование UPM/21st вне pipeline'а = нарушение §13). **Tooling Прил. Н v1.11 → v1.12** (#31 UPM + #32 21st как off-phase tools; §9.2 motion-runtime denylist). **CLAUDE.md изменения:** §0 cross-refs обновлены (Pravila v1.8, PSR_v1 v1.4, Tooling v1.12); §2 +Animation default stack; §3.3 +#31 UPM +#32 21st строки; §5 п.5 расширен на расширенный пул UI-инструментов; §5 п.12 motion-runtime новый; §6 обновлён (31 формализованных позиций: 19/29 по фазам + 2 off-phase). Через `/claude-md-management:claude-md-improver`. - **v1.82 от 09.05.2026** — Sprint 1 «Hygiene» Phase D: sync метрик schema v8.10 → v8.11 (97 индексов, 38 RLS после Sprint 1 Phase A `e01caa3`: RLS на impersonation_tokens + 2 FK indices) + Histoire 21/28 → 21/43 (фактическое значение из stage1 аудита) + cross-link на детали F–K патчей PSR_v1 в [Plugin_stack_rules_v1.md История версий](docs/Plugin_stack_rules_v1.md#история-версий). Закрывает audit P1-03 (Histoire) + P2-03 (F-K детализация) + post-A метрики. Через `/claude-md-management:claude-md-improver`. diff --git a/docs/Plugin_stack_rules_v1.md b/docs/Plugin_stack_rules_v1.md index 1361b7c0..b8149596 100644 --- a/docs/Plugin_stack_rules_v1.md +++ b/docs/Plugin_stack_rules_v1.md @@ -1,7 +1,7 @@ -# Plugin Stack Rules — Superpowers + Frontend Design (v1.5) +# Plugin Stack Rules — Superpowers + Frontend Design (v1.6) -**Дата:** 10.05.2026 -**Назначение:** свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро `obra/superpowers` (14 skills) + `anthropics/frontend-design`, плюс расширенный пул UI-инструментов `ui-ux-pro-max` (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) и `21st.dev Magic MCP` (MCP-сервер `magic`), плюс инфраструктурный `claude-md-management` (skills, marketplace `anthropics/claude-plugins-official`), плюс правила runtime motion-стойки. Снимает запрет CLAUDE.md §5 п.5 на Frontend Design plugin (действовал до v1.77 включительно). Документ — внутренне непротиворечив: 8 первичных конфликтов закрыты в v1.0 + 5 патчей по реальным трениям A–E в v1.1 + 4 новых правила R10–R13 против перекрытий с другими плагинами в v1.2 + 6 уточняющих патчей F–K по найденным трениям второго порядка в v1.3 + 2 новых правила R14 (pipeline внешних UI-генераторов: UPM + 21st Magic MCP) и R15 (motion-системы: framer-motion hard-запрет + motion-v узкое окно по 4 условиям) в v1.4 + 5 структурных правок аудита в v1.5 (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка). +**Дата:** 10.05.2026 (вечер) +**Назначение:** свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро `obra/superpowers` (14 skills) + `anthropics/frontend-design`, плюс расширенный пул UI-инструментов `ui-ux-pro-max` (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) и `21st.dev Magic MCP` (MCP-сервер `magic`), плюс инфраструктурный `claude-md-management` (skills, marketplace `anthropics/claude-plugins-official`), плюс правила runtime motion-стойки. Снимает запрет CLAUDE.md §5 п.5 на Frontend Design plugin (действовал до v1.77 включительно). Документ — внутренне непротиворечив: 8 первичных конфликтов закрыты в v1.0 + 5 патчей по реальным трениям A–E в v1.1 + 4 новых правила R10–R13 против перекрытий с другими плагинами в v1.2 + 6 уточняющих патчей F–K по найденным трениям второго порядка в v1.3 + 2 новых правила R14 (pipeline внешних UI-генераторов: UPM + 21st Magic MCP) и R15 (motion-системы: framer-motion hard-запрет + motion-v узкое окно по 4 условиям) в v1.4 + 5 структурных правок аудита в v1.5 (R10.1 разбит на 3 блока, R0.4.A SoT cross-ref, R10.4/R14.7 tier-метки, R8 +тай-брейкер FD↔21st, R0.1 scope-метка) + 3 правки второго аудита в v1.6 (R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT — устраняет дрейф формулировок; R0.6 hard-стопы пронумерованы 1–11 для надёжности cross-refs «пункт 9/10/11»; R0.1 +Tooling Прил. Н slot уровня 2.5). **Принцип-аксиома (v1.2, уточнён в v1.3, расширен в v1.4):** **Stack (Superpowers + Frontend Design) — головной при решении любой задачи** в части плагинов и поведенческих слоёв. Stack-gate (R0) — единственная и **первая** точка входа. Все остальные плагины (ui-ux-pro-max, 21st Magic MCP, claude-md-management, review, security-review, init, simplify и др.) — **инструменты**, инвокируемые **внутри** stack-flow как подзадачи, не как альтернативы или параллельные решатели. Stack **исполняет** Pravila/CLAUDE.md, а не перебивает их (см. R0.1 для точного scope «головенства»). Другие плагины могут получить работу только по делегированию из stack'а или по явному `/имя-плагина` от пользователя. Runtime-зависимости проекта (motion-библиотеки и т.п.) подчиняются R15. @@ -9,7 +9,7 @@ - [CLAUDE.md](../CLAUDE.md) v1.84+ — оперативная карта; §1 priority chain, §3.3 строка #33, §5 п.5 ссылается на этот документ (расширенный пул UI-инструментов: FD + UPM + 21st), §5 п.11 cross-ref на Pravila §12.3 SoT, §5 п.12 — на R15 (motion-системы) - [docs/Pravila_raboty_Claude_v1_1.md](Pravila_raboty_Claude_v1_1.md) v1.9+ — §12.3 SoT для exclusions, §13 «paired stack + расширенный пул UI-инструментов» + claude-md-management как off-pool, §13.6 hard-rule tier-таблица, §13.9/§13.10 hard-link на R10/R14 -- [docs/Tooling_v8_3.md](Tooling_v8_3.md) v1.13+ — реестр инструментов; #30 Frontend Design + #31 UPM + #32 21st Magic MCP + #33 claude-md-management + §6 +5 конфликтов v1.4 + §7 7-уровневая иерархия + §9.2 motion-runtime denylist отсылают сюда +- [docs/Tooling_v8_3.md](Tooling_v8_3.md) **v1.14+** — реестр инструментов; #30 Frontend Design + #31 UPM + #32 21st Magic MCP + #33 claude-md-management + §6 +5 конфликтов v1.4 + §7 7-уровневая иерархия (с v1.14 +Tooling explicit slot 2b) + §9.2 motion-runtime denylist отсылают сюда; §10.3 шаг 2 sync (14 skills) с v1.14 > **Техническая особенность Claude Code:** при первой установке Frontend Design plugin в долгой сессии плагин не появляется в системном списке доступных skills до старта **новой** сессии (новый чат, не reload). Это конструктивная особенность Claude Code (skill list = constant per conversation), не правило и не баг. Файлы плагина доступны на диске сразу, инвокация через `Skill` tool — только в новом чате. @@ -23,13 +23,14 @@ Superpowers и Frontend Design — **парный stack одного приор **Stack — головной по отношению к не-stack плагинам и поведенческим слоям ниже.** Точный scope «головенства» (по CLAUDE.md §1 priority chain): -> **Scope этой таблицы:** головенство stack'а **внутри** общей 7-уровневой файловой иерархии CLAUDE.md §1. Не дублирует Pravila §0 (внутрипараграфный приоритет внутри Pravila) и не дублирует CLAUDE.md §1 (общая 7-уровневая цепочка файлов/слоёв) — это **третья ось** «над чем именно у stack'а есть приоритет». Tooling §7 — то же самое представление, что CLAUDE.md §1, синхронно с v1.13. +> **Scope этой таблицы:** головенство stack'а **внутри** общей 7-уровневой файловой иерархии CLAUDE.md §1 (с v1.6 — расширена до 8 уровней через подразбиение уровня 2 на 2a CLAUDE.md + 2b Tooling Прил. Н). Не дублирует Pravila §0 (внутрипараграфный приоритет внутри Pravila) и не дублирует CLAUDE.md §1 (общая файловая иерархия) — это **третья ось** «над чем именно у stack'а есть приоритет». Tooling §7 — то же самое представление, что CLAUDE.md §1, синхронно с v1.14. | Уровень | Что | Stack головной над этим? | |---|---|---| | 0 | Pravila §12 (Superpowers hard rule) | ❌ нет — это часть stack'а же, hard rule сильнее | | 1 | Pravila (§§1–13) | ❌ нет — stack **исполняет** Pravila, не перебивает | -| 2 | CLAUDE.md (оперативная карта) | ❌ нет — stack **исполняет** CLAUDE.md, не перебивает | +| 2a | CLAUDE.md (общая оперативная карта) | ❌ нет — stack **исполняет** CLAUDE.md, не перебивает | +| 2b | **Tooling Прил. Н** (детальный реестр инструментов) — *добавлен v1.6* | ❌ нет — stack **исполняет** Tooling, не перебивает (alongside CLAUDE.md, оба operational maps; при прямом конфликте между ними — приоритет CLAUDE.md как корневой карты) | | 3 | **PSR_v1 (этот документ)** | — это и есть stack | | 4 | settings.json (поведенческая часть) | ✅ да | | 5 | memory/*.md | ✅ да | @@ -84,18 +85,16 @@ Stack никогда не уступает первенство **уровням **A. Технические исключения** (gate не требуется): -> **Single Source of Truth:** Pravila §12.3 (v1.9+). При расхождении побеждает Pravila — таблица ниже отражает Pravila §12.3, расширенная техническими формулировками для stack-flow. Расширение списка — только через правку Pravila §12.3 + sync сюда и в CLAUDE.md §5 п.11. +> **Single Source of Truth: [Pravila §12.3](Pravila_raboty_Claude_v1_1.md#123-когда-правило-не-применяется)** (Pravila v1.10+). **Не дублировать список здесь.** В v1.5 эта секция параллелила Pravila §12.3 расширенной таблицей с риском дрейфа формулировок (audit P2-02, обнаружено 6 строк vs 6 пунктов Pravila §12.3 с разными формулировками). В v1.6 **свёрнута до cross-ref'а** на Pravila §12.3 как единственный SoT. -| Исключение | Что разрешено без gate | +**Stack-расширения** (специфичные для stack-flow, не противоречат Pravila §12.3 — допускают тривиальные действия без gate, но с дополнительным условием): + +| Stack-расширение | Условие | |---|---| -| Read-only исследование | Read, Grep, Glob, git log/status/diff | -| Тривиальная синхронизация текста | опечатки, обновление номера версии, починка кросс-ссылки | -| Справочный ответ без действия над кодом | объяснение, анализ, сравнение | -| Работа с открытыми вопросами реестра | смена статуса записи, без правок кода | -| Документационные правки уровня §4 Pravila (Pravila/Tooling/CLAUDE.md/narrative) | прямые `Edit` без skill-инвокации; для CLAUDE.md — обязательно через `claude-md-management:claude-md-improver` (CLAUDE.md §5 п.10) | -| Конкретные команды tooling'а | composer/npm/git/Boost MCP вне «debug»/«TDD» сценариев | +| Документационные правки уровня §4 Pravila для **CLAUDE.md** | gate не требуется, но **обязательно через `claude-md-management:claude-md-improver`** (CLAUDE.md §5 п.10), не «прямой Edit» | +| Конкретные команды tooling'а (composer/npm/git/Boost MCP) | gate не требуется **только если** не являются частью «debug»/«TDD»/«review» сценария — иначе §12 hard rule перевешивает | -Список исчерпывающий. Расширение — через явное правило в Pravila §12.3. +Расширение списка exclusions — **только через правку Pravila §12.3** + автоматический пересмотр stack-расширений здесь (если они продолжают быть необходимы). При расхождении между Pravila §12.3 и этой секцией — побеждает Pravila §12.3. **B. Live-команды пользователя** (отмена на одно действие): @@ -134,19 +133,19 @@ Stack стоит **ниже** в приоритете, чем: Тихий выбор без gate при низкой уверенности = нарушение даже в Auto mode. -**Hard-стоп даже в Auto mode** — обязательная остановка независимо от классификации, при любом из триггеров: +**Hard-стоп даже в Auto mode** — обязательная остановка независимо от классификации, при любом из триггеров (нумерация введена в v1.6 для надёжности cross-refs «R0.6 пункт N»; при добавлении/удалении пункта — пересмотреть все ссылки в R8/R13/R14/R15): -- Впервые на этой сессии создаю компонент из брендового семейства (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и т.п.) и в `resources/js/components/` ещё нет precedent'а того же типа. -- Изменение структуры brand-токенов (`resources/js/plugins/vuetify.ts` palette config, font-family bindings, theme variants). -- Создание нового aesthetic-направления, не описанного в [BRANDBOOK_v2](../liderra_v8_handoff/docs/BRANDBOOK_v2.md). -- Изменение установленных UX-флоу из ТЗ v8.5 (auth-flow, deal-flow, billing-flow, admin-flow, webhook-flow). -- Cross-cutting refactor, затрагивающий ≥3 компонентов или layout-структуру (`AppLayout`, `AuthLayout`, `AppShell`). -- Добавление новой технологии в стек (новый фреймворк, новая UI-библиотека, новый шрифт, новая иконографическая библиотека). -- Изменение брендовой палитры/шрифтов — даже одного значения (Teal, Ivory, теало-нуар, Inter, JetBrains Mono). -- Изменение 14 OKLCH-статусов воронки или их slug-маппинга на UI. -- **[v1.4]** Использование 21st Magic MCP (`mcp__magic__21st_magic_component_*`) для генерации компонента из брендового семейства App* (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и любых других с префиксом `App` в `resources/js/components/`). Брендовые компоненты проходят полный R12 архитектурный flow. -- **[v1.4]** Использование 21st для генерации компонента, для которого **уже есть Vuetify-эквивалент** (`v-data-table`, `v-text-field`, `v-dialog`, `v-select`, `v-card`, `v-btn` и т.д.) **или существующий компонент** в `resources/js/components/`. Это дублирование стека (нарушение CLAUDE.md §5 п.6 «не два инструмента на одну задачу»). -- **[v1.4]** Установка **motion-v** или любой другой animation runtime библиотеки (`gsap`, `anime.js`, `react-spring`, `lottie-web`, `popmotion`, `@motionone/*` и т.д.) в `package.json` без прохождения R15.2 (а)+(б)+(в)+(г). +1. Впервые на этой сессии создаю компонент из брендового семейства (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и т.п.) и в `resources/js/components/` ещё нет precedent'а того же типа. +2. Изменение структуры brand-токенов (`resources/js/plugins/vuetify.ts` palette config, font-family bindings, theme variants). +3. Создание нового aesthetic-направления, не описанного в [BRANDBOOK_v2](../liderra_v8_handoff/docs/BRANDBOOK_v2.md). +4. Изменение установленных UX-флоу из ТЗ v8.5 (auth-flow, deal-flow, billing-flow, admin-flow, webhook-flow). +5. Cross-cutting refactor, затрагивающий ≥3 компонентов или layout-структуру (`AppLayout`, `AuthLayout`, `AppShell`). +6. Добавление новой технологии в стек (новый фреймворк, новая UI-библиотека, новый шрифт, новая иконографическая библиотека). +7. Изменение брендовой палитры/шрифтов — даже одного значения (Teal, Ivory, теало-нуар, Inter, JetBrains Mono). +8. Изменение 14 OKLCH-статусов воронки или их slug-маппинга на UI. +9. **[v1.4]** Использование 21st Magic MCP (`mcp__magic__21st_magic_component_*`) для генерации компонента из брендового семейства App* (`AppButton`, `AppCard`, `AppDataTable`, `AppDialog` и любых других с префиксом `App` в `resources/js/components/`). Брендовые компоненты проходят полный R12 архитектурный flow. +10. **[v1.4]** Использование 21st для генерации компонента, для которого **уже есть Vuetify-эквивалент** (`v-data-table`, `v-text-field`, `v-dialog`, `v-select`, `v-card`, `v-btn` и т.д.) **или существующий компонент** в `resources/js/components/`. Это дублирование стека (нарушение CLAUDE.md §5 п.6 «не два инструмента на одну задачу»). +11. **[v1.4]** Установка **motion-v** или любой другой animation runtime библиотеки (`gsap`, `anime.js`, `react-spring`, `lottie-web`, `popmotion`, `@motionone/*` и т.д.) в `package.json` без прохождения R15.2 (а)+(б)+(в)+(г). В этих ситуациях — обязательный стоп + вопрос пользователю, без попытки «middle confidence» обойти. Auto mode не отменяет hard-стоп. @@ -851,6 +850,13 @@ Hard-запрет, **не отменяется** ни Auto mode, ни live-ко ## История версий +- **v1.6 от 10.05.2026 (вечер)** — закрытие 3 структурных правок второго аудита правил использования плагинов и скилов («Все 15 находок (P0+P1+P2)»): + - **R0.4.A свёрнут до cross-ref на Pravila §12.3 SoT.** Раньше параллелил список exclusions расширенной таблицей (6 строк vs 6 пунктов Pravila §12.3) с разными формулировками — риск дрейфа. v1.5 объявил Pravila §12.3 SoT, но R0.4.A продолжал держать собственную таблицу. v1.6 — таблица удалена, оставлен cross-ref + отдельный блок «Stack-расширения» (CLAUDE.md правки через claude-md-improver + tooling-команды вне debug/TDD/review). Закрывает audit P2-02. + - **R0.6 hard-стопы пронумерованы 1–11.** Раньше — буллет-list, но в R8/R13/R14/R15 ссылались как «R0.6 пункт 9», «пункт 10», «пункт 11» — требует ручного счёта, при добавлении пункта все cross-refs молча ломаются. v1.6 — explicit numbering 1–11 + примечание про необходимость пересмотра ссылок при изменении списка. Закрывает audit P2-04. + - **R0.1 +Tooling Прил. Н slot уровня 2.5** (между CLAUDE.md уровень 2a и PSR_v1 уровень 3). Раньше R0.1 говорил «stack ниже Файлы CLAUDE.md / Pravila / **Tooling**», но Tooling не было ни в R0.1 таблице, ни в CLAUDE.md §1, ни в Tooling §7 priority chain — формальная дыра при конфликте «Tooling vs PSR_v1». v1.6 — explicit slot 2b «Tooling Прил. Н — alongside CLAUDE.md, оба operational maps; при прямом конфликте — приоритет CLAUDE.md». Закрывает audit P2-01. + + Связанные обновления — Pravila v1.9 → v1.10 (§0 +note про §11 override-приоритет; §11.5 «10 правил» → «v1.6, 16»; §13.2/§13.9/§13.10 v1.4→v1.6), CLAUDE.md v1.84 → v1.85 (§1 +Tooling slot 2b; §6 арифметика «33» исправлена; §3.3 #31/#32 + §5 п.12 stale v1.4→v1.6 + v1.12→v1.14), Tooling Прил. Н v1.13 → v1.14 (§7 +Tooling explicit slot; §10.3 шаг 2 «3 skills»→«14»; §13 +v1.13 +v1.14 entries). Через `/claude-md-management:claude-md-improver`. + - **v1.5 от 10.05.2026** — закрытие 5 структурных правок аудита нормативной документации («исправь все ошибки ... сохраняй максимальную эффективность и всеобъемлющее использование всех плагинов и скилов»): - **R10.1 разбит на 3 блока по типу источника:** Блок 1 = `enabledPlugins` через marketplace (UPM + claude-md-management); Блок 2 = built-in skills Claude Code (review/security-review/init/simplify/update-config/keybindings-help/fewer-permission-prompts/loop/schedule/claude-api); Блок 3 = MCP-серверы (21st Magic, Boost, playwright, github). Закрывает audit находку «R10.1 смешивает плагины и встроенные skills — без явного разделения путает». - **R0.4.A — Single Source of Truth cross-ref:** добавлена шапка про SoT в Pravila §12.3 (v1.9+); список ниже отражает Pravila §12.3 расширенно для stack-flow (+документационные правки уровня §4 + tooling-команды). Закрывает audit находку «3 места для exclusions §12 — дрейф вероятен». diff --git a/docs/Pravila_raboty_Claude_v1_1.md b/docs/Pravila_raboty_Claude_v1_1.md index 1358ad89..d01d3496 100644 --- a/docs/Pravila_raboty_Claude_v1_1.md +++ b/docs/Pravila_raboty_Claude_v1_1.md @@ -1,10 +1,19 @@ # Правила работы Claude в проекте «Лидерра» -**Версия:** v1.9 (утверждена заказчиком 10.05.2026) +**Версия:** v1.10 (утверждена заказчиком 10.05.2026 вечер) **Дата:** 10.05.2026 **Назначение:** настройки проекта (Project instructions) — Claude читает этот файл в каждом чате и следует правилам ниже. **Статус документа:** ✅ утверждён. Содержимое скопировано в поле "Project instructions" Claude.ai. Файл хранится в архиве как служебный документ. +**Что изменилось в v1.10 относительно v1.9:** + +- **§0 расширен:** добавлен note про **§11 override-приоритет** над §2.2/§4.5/§8.4. Раньше §11 формально стоял ниже §9 в цепочке (§12 → §1 → ... → §9 → §11 → §13), но в теле §11 чётко написано «при явном вызове skill'а — приоритет над §2.2/§4.5/§8.4». Цепочка не объясняла локальное исключение. Теперь явно зафиксировано. Закрывает audit P2-03 («§11 ниже §9 vs §11 override §2.2/§4.5/§8.4»). +- **§11.5 — версия PSR_v1 + count правил:** «10 правил» → «v1.6, 16 правил R0–R15» (раньше count устарел с v1.0/v1.1 эпохи). Закрывает audit P1-04. +- **§13.2 — версия PSR_v1 + count правил:** «v1.4 (15 правил)» → «v1.6 (16 правил)». Закрывает audit P0-03 + P1-05. +- **§13.9 — версия PSR_v1:** «(v1.4)» → «(v1.6)». Закрывает audit P1-06. +- **§13.10 — версия PSR_v1:** «(v1.4)» → «(v1.6)». Закрывает audit P1-07. +- Без других содержательных изменений в §§1–12 + §§13.1, 13.3–13.8. + **Что изменилось в v1.9 относительно v1.8:** - **§12.3 объявлен Single Source of Truth для exclusions §12** — раньше список дублировался в CLAUDE.md §5 п.11 и PSR_v1 R0.4.A. Теперь правится только здесь, остальные документы — cross-ref. Закрывает audit находку «3 места для exclusions §12 — дрейф вероятен». @@ -75,6 +84,8 @@ Приоритет правил при конфликте: **§12 (Superpowers — приоритет первого выбора, hard rule)** → §1 (роль) → §2 (что Claude делает сам / спрашивает / не делает) → §3 (формат ответов) → §4 (документация и версии) → §5 (безопасность и ПДн) → §6 (Claude в Chrome) → §7 (открытые вопросы) → §8 (рутины сессии) → §9 (отступления — **не применяется к §12**) → **§11 (Superpowers override §2.2/§4.5/§8.4 при явном вызове)** → **§13 (Frontend Design plugin — paired stack, координация через Plugin_stack_rules_v1)**. +> **§11 локальное override-исключение из цепочки (v1.10+):** §11 формально стоит ПОСЛЕ §9 в основной цепочке выше, но при **явном вызове skill'а Superpowers** §11 **локально поднимается выше §2.2/§4.5/§8.4** в этих узлах (см. §11.1 — «приоритет skill'а над §2.2 явное согласование, §4.5 паттерн 3 варианта, §8.4 защита от компакции»). То есть основная цепочка определяет приоритет в общем случае; §11 — точечное override 3 параграфов при триггере skill-инвокации. Это НЕ меняет позицию §11 относительно §1, §3, §5, §6, §7, §10, §12 — там §11 остаётся ниже. Аналогично §13 — расширение через PSR_v1 (paired stack + UI-пул), не override Pravila. +> > **Scope этой цепочки (v1.9+):** **внутрипараграфный** приоритет внутри Pravila (порядок применения параграфов §1–§13 при конфликтах). Не дублирует: > > - **CLAUDE.md §1** (общая 7-уровневая файловая иерархия Pravila → CLAUDE.md → PSR_v1 → settings.json → memory → плагины) — это межфайловая ось. @@ -480,6 +491,7 @@ P0 = блокер старта спринта или регуляторного | **v1.4** | **09.05.2026** | **Утверждена заказчиком 09.05.2026** («Создай правило, что ты всегда в первую очередь пользуешься superpowers. При этом ты не можешь игнорировать и обходить это правило»). Добавлен §12 «Superpowers — приоритет первого выбора (hard rule)». **Единственное hard-правило документа**: §9 «Отступления» к нему не применяется. Карта 14 skills → 14 типов задач (§12.2). Чёткие исключения (§12.3) для тривиальных операций. Приоритет в §0 расширен — §12 встаёт выше всех §§1–11. Архитектурных изменений в §§1–11: 0; уточнён §11.1 ссылкой на §12.5. | | **v1.8** | **10.05.2026** | **Утверждена заказчиком 10.05.2026** («двух уровневый» — выбор подхода для R15 motion-системы; финальное согласование PSR_v1 v1.4). §13 расширен: paired-stack ядро (Superpowers + Frontend Design) дополнено расширенным пулом UI-инструментов — `ui-ux-pro-max` skill (резерв-библиотека, R10/R11.5) и `21st.dev Magic MCP` (генератор шаблонов, R14.4). Координация — через PSR_v1 v1.4 (R14 pipeline UI-генераторов + R15 motion-системы). §13.9 cross-ref bumped (v1.3 → v1.4). §13.10 (новый) — hard-link на R14: использование UPM или 21st вне pipeline'а = нарушение §13 (вторая hard-link строка после §13.9). Архитектурных изменений в §§1–12 + §§13.1–13.8: 0. | | **v1.9** | **10.05.2026** | **Утверждена заказчиком 10.05.2026** («исправь все ошибки только обязательно руководствуйся тем что ты должен сохранить максимальную эффективность и всеобъемливоющие использование всех плагинов и скилов»). Закрытие 14 находок аудита нормативной документации: §12.3 объявлен SoT для exclusions §12 (раньше дублировался в CLAUDE.md §5 п.11 и PSR_v1 R0.4.A); §13.2 +абзац про инфраструктурные плагины (claude-md-management + built-in skills вне UI-пула); §13.6 +hard-rule tier-таблица (explicit / transitive / standard); §0 +scope-метка цепочки. Связанные обновления — PSR_v1 v1.4 → v1.5 (R10.1 разбит на 3 блока + R0.4.A SoT + R10.4/R14.7 tier-метки + R8 +тай-брейкер FD↔21st + R0.1 scope), Tooling Прил. Н v1.12 → v1.13 (§7 +PSR_v1, §4.7 +#33, §6 +5 конфликтов, §4.6 settings → .claude.json), CLAUDE.md v1.83 → v1.84 (§1 scope, §3.3 +#33, §5 п.5 свёрнут, §5 п.11 cross-ref на §12.3 SoT, §6 счётчик 33). Архитектурных изменений в §§1–11: 0. | +| **v1.10** | **10.05.2026 (вечер)** | **Утверждена заказчиком 10.05.2026 вечер** («Все 15 находок (P0+P1+P2)» в ответ на quality report по второму аудиту правил использования плагинов и скилов). Закрытие 4 находок в Pravila (P0-03 + P1-04/06/07 + P2-03): **§0** +note про §11 локальное override-исключение над §2.2/§4.5/§8.4 (раньше §11 формально стоял ниже §9 в цепочке, но фактически override §2.2/§4.5/§8.4 при skill-инвокации; цепочка не объясняла локальное исключение); **§11.5** «10 правил» → «v1.6, 16 правил R0–R15» (раньше count устарел с v1.0/v1.1 эпохи); **§13.2** «v1.4 (15 правил)» → «v1.6 (16 правил)»; **§13.9** PSR_v1 (v1.4) → (v1.6); **§13.10** PSR_v1 (v1.4) → (v1.6). Связанные обновления — CLAUDE.md v1.84 → v1.85 (§6 арифметика «33» исправлена +1 historic PG MCP; §3.3 #31/#32 + §5 п.12 stale v1.4→v1.6 + v1.12→v1.14; §1 +Tooling Прил. Н explicit-слот уровня 2b), PSR_v1 v1.5 → v1.6 (R0.4.A свёрнут до cross-ref на §12.3 SoT; R0.6 пронумерован 1–11; R0.1 +Tooling slot), Tooling v1.13 → v1.14 (§10.3 шаг 2 «3 skills»→«14»; §13 +v1.13 +v1.14; §7 +Tooling explicit slot). Через `/claude-md-management:claude-md-improver`. Архитектурных изменений в §§1–13 (кроме §0/§11.5/§13.2/§13.9/§13.10): 0. | --- @@ -512,7 +524,7 @@ P0 = блокер старта спринта или регуляторного ### 11.5. Координация с Frontend Design plugin -С v1.5 (09.05.2026) Superpowers — часть paired stack'а с `anthropics/frontend-design` (см. §13). Координация двух плагинов — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (10 правил). На UI-фичах оба плагина работают по фазам Правила 2 Plugin_stack_rules_v1; на чисто процессных задачах Frontend Design не активируется. +С v1.5 (09.05.2026) Superpowers — часть paired stack'а с `anthropics/frontend-design` (см. §13). Координация двух плагинов — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (v1.6, **16 правил R0–R15**). На UI-фичах оба плагина работают по фазам Правила 2 Plugin_stack_rules_v1; на чисто процессных задачах Frontend Design не активируется. --- @@ -595,7 +607,7 @@ P0 = блокер старта спринта или регуляторного ### 13.2. Парность со Superpowers + расширенный пул UI-инструментов (v1.8) -Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный stack одного приоритетного уровня**. Оба плагина подключены к gate stack'а одновременно, между ними нет иерархии. Координация — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) v1.4 (15 правил). +Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный stack одного приоритетного уровня**. Оба плагина подключены к gate stack'а одновременно, между ними нет иерархии. Координация — через [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) **v1.6 (16 правил R0–R15)**. **Расширенный пул UI-инструментов (v1.8)** добавляет к paired-stack ядру два внешних плагина в роли **инструментов** (R10.1 PSR_v1, не решателей): @@ -660,7 +672,7 @@ Frontend Design покрывает **a11y-принципы** (контраст, ### 13.9. Hard-link на R10 PSR_v1 — байпас stack-gate -**Нарушение Правила 10 [Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (v1.4)** (введено в PSR v1.2; формализовано через hard-link в Pravila v1.6, версия ссылки уточнена в Pravila v1.7, обновлена в Pravila v1.8): +**Нарушение Правила 10 [Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (v1.6)** (введено в PSR v1.2; формализовано через hard-link в Pravila v1.6, версия ссылки уточнена в Pravila v1.7, обновлена в Pravila v1.8/v1.10): Прямой `Skill` tool на не-stack плагин (ui-ux-pro-max, claude-md-management, review, security-review, init, simplify и т.д.) **до прохождения R0 stack-gate**, без явной live-команды `/имя-плагина` от пользователя (R0.4.B PSR_v1) и вне технических исключений R0.4.A PSR_v1 (read-only исследование, тривиальные синки, справочные ответы) = **нарушение §13 этого документа**. @@ -674,7 +686,7 @@ Frontend Design покрывает **a11y-принципы** (контраст, ### 13.10. Hard-link на R14 PSR_v1 — байпас pipeline'а внешних UI-генераторов (v1.8) -**Нарушение Правила 14 [Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (v1.4)** (введено в PSR v1.4 одновременно с формализацией UPM + 21st Magic MCP в `~/.claude/settings.json` и `~/.claude.json`). +**Нарушение Правила 14 [Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) (v1.6)** (введено в PSR v1.4 одновременно с формализацией UPM + 21st Magic MCP в `~/.claude/settings.json` и `~/.claude.json`; версия cross-ref'а обновлена до v1.6 в Pravila v1.10). Использование `ui-ux-pro-max` или `21st.dev Magic MCP` (`mcp__magic__21st_magic_component_*`, `mcp__magic__logo_search`) **вне pipeline'а R14** = нарушение §13 этого документа. diff --git a/docs/Tooling_v8_3.md b/docs/Tooling_v8_3.md index 9538228a..0c6adee8 100644 --- a/docs/Tooling_v8_3.md +++ b/docs/Tooling_v8_3.md @@ -1,8 +1,8 @@ # Приложение Н — Tooling, скиллы и плагины Claude (v8.3) -**Дата:** 10.05.2026 -**Версия:** 1.13 (закрытие 4 структурных находок аудита нормативной документации: §7 «Source of truth» — добавлен PSR_v1 уровнем 3 в иерархию (5 → 7 уровней, sync с CLAUDE.md §1); §4.7 — новый раздел про **#33 claude-md-management** (5-й включённый плагин, инфраструктурная категория, off-phase tool); §6 «Конфликты и решения» — расширен с 5 до 10 строк, добавлены 5 новых конфликтов v1.4 PSR_v1 (UPM↔FD, 21st↔Vuetify-эквивалент, 21st↔брендовый App*, framer-motion↔motion-v, UPM↔21st); §4.6 — починено упоминание «settings.json» → «`~/.claude.json`» (где реально хранится API-ключ 21st); §0 — счётчик активных позиций обновлён до **33** (19/29 по фазам + 3 off-phase: UPM #31, 21st Magic MCP #32, claude-md-management #33). Координация — PSR_v1 v1.5 + Pravila v1.9 + CLAUDE.md v1.84. Через `/superpowers:writing-plans` + `/superpowers:executing-plans` + `/claude-md-management:claude-md-improver`.) -**Предыдущая версия:** 1.12 (формализация двух фактически включённых внешних UI-инструментов: #31 UI UX Pro Max + #32 21st Magic MCP; §9.2 motion-runtime denylist). +**Дата:** 10.05.2026 (вечер) +**Версия:** 1.14 (закрытие 3 находок второго аудита правил использования плагинов и скилов: **§10.3 шаг 2 sync с §4.1** — раньше шаг гласил «Установить Superpowers с конфигом enabled_skills = только 3» (политика v1.7), но §4.1 того же файла говорит «v1.8 снятие запретов через §11 override (полное снятие); v1.9 hard rule §12 первоочерёдное использование», то есть all 14 skills без ограничителей — внутри-документная контрадикция; в v1.14 §10.3 шаг 2 переписан на 14 skills с пометкой об устаревшей версии; **§13 +v1.13 +v1.14 entries** — раньше история версий обрывалась на v1.12, хотя шапка описывала v1.13; в v1.14 таблица синхронизирована; **§7 priority chain +Tooling explicit slot** — раньше Tooling Прил. Н формально не было в priority chain ни одного из 4 файлов, хотя PSR_v1 R0.1 говорил «stack ниже Tooling»; в v1.14 явно добавлено уровнем 2b alongside CLAUDE.md (оба operational maps, при прямом конфликте — приоритет CLAUDE.md как корневой карты). Координация — PSR_v1 v1.5 → v1.6 + Pravila v1.9 → v1.10 + CLAUDE.md v1.84 → v1.85. Через `/claude-md-management:claude-md-improver`.) +**Предыдущая версия:** 1.13 (закрытие 4 структурных находок аудита нормативной документации: §7 +PSR_v1 уровнем 3, §4.7 новый — #33 claude-md-management, §6 +5 конфликтов v1.4, §4.6 settings.json → .claude.json, §0 счётчик 33). **Адресат:** Claude + разработчики проекта Лидерра **Назначение:** единый источник истины по 33 формализованным позициям тулчейна (29 «активных» номеров фаз + 3 off-phase инструмента-резерв в категориях UI-пул и инфраструктура — UPM, 21st, claude-md-management; +1 заменённый PG MCP исторически), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент. @@ -175,7 +175,7 @@ > **Обновлено 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) — обязательное первоочерёдное использование. +> **Прежнее (08–09.05.2026):** v1.7 — 3/13 skills с запретами; v1.8 — снятие запретов через §11 override (вариант "A. Полное снятие"). Сейчас (v1.9) — обязательное первоочерёдное использование. | # | Инструмент | Установка | Состав | Когда использовать | |---|---|---|---|---| @@ -207,7 +207,7 @@ ### 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` (10 правил). Парный stack одного приоритетного уровня; между плагинами нет иерархии. См. Pravila §13. +> **Введено 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. | # | Инструмент | Установка | Состав | Когда использовать | |---|---|---|---|---| @@ -233,13 +233,13 @@ ### 4.5. Резерв-библиотека UI — UI UX Pro Max plugin (off-phase tool) -> **Введено 10.05.2026 (v1.12 Прил. Н):** формализован как «инструмент-резерв вне фаз». Был фактически включён через `~/.claude/settings.json` ещё с момента активации (до v1.12 — без правил). Координация — PSR_v1 v1.4 R10/R11/R14.3. +> **Введено 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.4):** +**Обязательные правила использования (PSR_v1 v1.6+):** | Правило | Где | Что значит | |---|---|---| @@ -256,7 +256,7 @@ ### 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.4 R10/R14.4. +> **Введено 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). | # | Инструмент | Установка | Состав | Когда использовать | |---|---|---|---|---| @@ -301,7 +301,7 @@ |---|---|---|---|---| | 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.5+):** +**Обязательные правила использования (PSR_v1 v1.6+):** | Правило | Где | Что значит | |---|---|---| @@ -373,6 +373,10 @@ **Правило применения:** при любом конфликте — выбирается верхний источник. Нижестоящие игнорируются в части, которая противоречит верхним. Это правило явно зафиксировано в `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 — конфиги @@ -511,7 +515,7 @@ Vuetify-тема — `liderraLight` и `liderraDark` — определена в **Шаги:** 1. Установить Volar (VSCode), vue-tsc, ESLint + config-prettier + plugin-vue, Prettier, Vitest, Histoire. -2. Установить Superpowers с конфигом `enabled_skills` = только 3 (`test-driven-development`, `systematic-debugging`, `subagent-driven-development`). +2. Установить 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 этого же файла для полной хронологии. 3. Прогнать первый Histoire-story для тестового компонента. 4. Запустить Pa11y на первой Vue-странице (выявить регрессии относительно HTML-прототипов). 5. Обновить Прил. Н: v1.1 → v1.2. @@ -589,9 +593,15 @@ Vuetify-тема — `liderraLight` и `liderraDark` — определена в | **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.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 активных.*