124 lines
19 KiB
Markdown
124 lines
19 KiB
Markdown
## ⛔ ГЛАВНОЕ — прочитать первым делом
|
||
|
||
1. **Не уверен — спроси, не гадай.** Один вопрос лучше, чем час работы не туда.
|
||
2. **Не выдумывай.** Не помнишь — открой файл и проверь, а не «вспоминай по памяти».
|
||
3. **«Готово» — только если правда проверил.** Что-то упало — скажи честно, не делай вид, что всё хорошо.
|
||
4. **Ничего необратимого без разрешения хозяина:** не коммить, не выкатывай на боевой сайт, не удаляй и не переписывай чужое.
|
||
5. **Говори с хозяином простым русским, без программистских слов** — он не программист.
|
||
6. **Не закрывай открытые вопросы и не меняй правила** без явного «закрываем» / «меняем».
|
||
7. **Упёрся в стену или блокировку — остановись и спроси, не ищи обход.**
|
||
8. **делай максимально автономно, с наставником и судьей решай вопросы пока не упрешься, коммит делай сам попросив эскейп и т.д**
|
||
9. **опускать стену только в крайнем случае, максимально делаем по правилам**
|
||
10. **если наставник или судья тебе дают возражения на план или спеку, с которыми ты не согласен, ты даешь им свои аргументы желательно с доказательствами, а не идешь ко мне жаловаться**
|
||
|
||
---
|
||
|
||
# 🧠 `claude-brain` — дом разработки управляющего слоя Claude
|
||
|
||
> **Снимок-баннер · фаза 5 разделения (ADR-020).** Этот репозиторий (`C:\моя\проекты\claude-brain`) — дом дальнейшей разработки управляющего слоя Claude (router / mentor / observer / registry / enforcement-машинерия `tools/`). Продукта **Лидерра** здесь нет (`app/`/`db/`/`web/` отсутствуют — проверено).
|
||
|
||
**Статус этого файла.** Канонический источник нормативного квинтета (`CLAUDE.md` + `Pravila` + `Plugin_stack_rules` + `Tooling_v8_3` + `CHANGELOG_claude_md`). Правится здесь; переносится в репозиторий Лидерры `Документация` **односторонне** по явной команде владельца — встречных правок нет (ADR-020; дизайн v5 §D1). **Тело ниже** («техконтекст Лидерры») — унаследованный снимок: разбор содержимого на «управление vs продукт» **отложен** отдельной будущей задачей (дизайн v5 §D1), поэтому тело пока описывает Лидерру и намеренно не переписано.
|
||
|
||
**Снимок-штамп.** канон @ `claude-brain` · 2026-06-15 · git `3977770` (первый канонический root-commit чистой истории — ADR-020). Несовпадение штампа с копией в `Документация` = видимый сигнал дрейфа; детект — текстовый `diff` двух копий квинтета (дизайн v5 §D1).
|
||
|
||
**Канал правок этого файла** — `claude-md-management` (§5 п.10 ниже), как и для копии в Лидерре.
|
||
|
||
**Карта разделения.** ADR-020 (`docs/adr/ADR-020-split-control-layer-into-claude-brain.md`) · дизайн `docs/superpowers/specs/2026-06-15-claude-brain-split-design-v5.md` · статус `docs/superpowers/specs/2026-06-15-claude-brain-split-status-handoff.md`.
|
||
|
||
---
|
||
|
||
# CLAUDE.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.
|
||
|
||
> **Ребрендинг 08.05.2026:** «Лидпоток» → **«Лидерра.»** (с точкой). Палитра, лого и шрифты — из handoff Платона (v8 Forest). Применяется только к дизайну/имени/логотипу; функционал, состав страниц и правила — без изменений (источник — ТЗ v8.5/schema v8.5).
|
||
|
||
---
|
||
|
||
## 0. Источник истины
|
||
|
||
Этот файл — **оперативная карта мозга** (claude-brain). Первоисточники — нормативный квинтет:
|
||
|
||
| Документ | Что это | Версия |
|
||
|---|---|---|
|
||
| [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) | Правила работы Claude | v1.44 (14.06.2026) |
|
||
| [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) | Координация плагинов Claude | v3.24 |
|
||
| [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) | Реестр инструментов (Прил. Н) | v2.25 |
|
||
| [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) | Полная история версий этого файла | — |
|
||
|
||
При противоречии — приоритет у источников выше (см. §1).
|
||
|
||
---
|
||
|
||
## 1. Приоритет правил при конфликте
|
||
|
||
```
|
||
0. Pravila §12 — Superpowers hard rule (инвокация skills первой) ← неотменяемо §9
|
||
↓
|
||
1. docs/Pravila_raboty_Claude_v1_1.md (продуктовые правила, утверждены заказчиком)
|
||
↓
|
||
2a. CLAUDE.md (общая оперативная карта)
|
||
2b. docs/Tooling_v8_3.md Прил. Н (детальный реестр инструментов)
|
||
↑ оба operational maps уровня 2; при конфликте между ними — приоритет CLAUDE.md
|
||
↓
|
||
3. docs/Plugin_stack_rules_v1.md (координация Superpowers + Frontend Design — gate, фазы, разделения)
|
||
↓
|
||
4. .claude/settings.json (хуки, permissions — исполняется средой)
|
||
↓
|
||
5. memory/*.md (динамическая память между сессиями)
|
||
↓
|
||
6. Прочие плагины (claude-md-management, ui-ux-pro-max и т.п.) — поведенческие подсказки
|
||
```
|
||
|
||
При любом противоречии — выбирается верхний уровень. **§12 и §14 правил Claude — два explicit hard-правила в Pravila; §9 «Отступления» к ним не применяется** (см. Pravila §12.4 и §14.5). Дополнительно §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.
|
||
|
||
**Hard-rules вне §9 «Отступления»** (Pravila): §12 (Superpowers — инвокация skill ПЕРВОЙ), §14 (Ruflo Queen routing — триггер queen/королева), **§15** (параллельные сессии — 15.1 субагенты+git Sonnet/Opus only, 15.2 нормативка+pre-flight sync с 8-позиционным списком, 15.3 cross-refs). Эти три параграфа Pravila — explicit override-floor под §9; transitive hard-rule через §13 — координация Plugin_stack_rules_v1.
|
||
|
||
**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 этой цепочки.
|
||
- **Tooling §7** — синхронная копия этой цепочки для Tooling-читателей.
|
||
|
||
---
|
||
|
||
|
||
|
||
## 5. Что НЕ делать
|
||
|
||
1. **Не подключать Boost к production DB.** `.env.production` не должен попадать в локальный Boost-конфиг.
|
||
2. **Не использовать Inertia / Livewire / Tailwind / Filament / Flux UI / Nova / Folio / Volt / Wayfinder guidelines** Boost'а — у нас Vue + Vuetify.
|
||
3. **Не запускать a11y через Lighthouse** — единственный источник истины Pa11y.
|
||
4. **Не помещать ПДн / токены / API-ключи в коммиты.** Правило §5.2 правил Claude. Защита — gitleaks в pre-commit.
|
||
5. **Расширенный пул UI-инструментов — координируется через [PSR_v1](docs/Plugin_stack_rules_v1.md) v2.0+.** Кратко: paired-stack ядро (**Superpowers** = процесс / **Frontend Design** = решатель UI), плюс два инструмента **в роли материала, не решателя**: UPM (резерв-библиотека, R10.1/R11.5/R14.3) и 21st Magic MCP (генератор шаблонов, R10.1/R14.4). Все четыре проходят **R6.0 фильтр стека** (срезать React/Tailwind/shadcn/JSX → Vue 3 + Vuetify 3) и **R6.1 hard-override Forest** (палитра/шрифты/иконки/aesthetic — Brandbook, не плагины). UPM и 21st **не параллельно** с FD и друг с другом (R14.5). **A11y технический** — за Pa11y (п.3); плагины покрывают только a11y-принципы. **Детали — PSR_v1 R6/R10/R11/R14** (не копировать сюда — оперативная карта остаётся компактной).
|
||
6. **Не ставить два инструмента на одну задачу** — список 10+ запрещённых дублей в [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) §9.
|
||
7. **Не редактировать этот `CLAUDE.md` без обновления** [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) и [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) — иначе три источника разойдутся (применяется ВНУТРИ flow п.10; пропуск синхронизации — отдельная ошибка даже при работающем плагине).
|
||
8. **Не править `db/schema.sql`** без записи в [db/CHANGELOG_schema.md](db/CHANGELOG_schema.md) — правило §4.2 правил Claude.
|
||
9. **Не закрывать открытые вопросы** (`Биз-*`, `CTO-*`, `Ю-*`, `Диз-*`, `DO-*`, `OPEN-*`) без явного «закрываем» от заказчика — §2.2 правил Claude.
|
||
10. **Не править этот `CLAUDE.md` напрямую** — только через плагин **`claude-md-management`** (`anthropics/claude-plugins-official` marketplace). Два входа:
|
||
- `/claude-md-management:claude-md-improver` — audit + targeted updates (структурные изменения, добавление/удаление секций, правки версии в шапке, правки правил §5).
|
||
- `/claude-md-management:revise-claude-md` — захват learnings из текущей сессии (новые quirks, команды, паттерны → CLAUDE.md).
|
||
|
||
Плагин — **единственный** интерфейс ведения файла; он отвечает за содержание и качество (по `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». Снят 12.05.2026 (CLAUDE.md v1.88 + PSR_v1 v2.0). Motion-runtime библиотеки разрешены без обоснования; `framer-motion` остаётся technical block (React-only peerDep). Подробности — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) запись v1.88, [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) §9.2.
|
||
|
||
13. **Не запрашивать override `ремонт инфраструктуры` для docs-only коммитов/пушей.** С коммита `8266755c` (27.05.2026) хук `enforce-verify-before-push` автоматически пропускает изменения, где **все** staged/unpushed файлы кончаются на `.md` (memory/CLAUDE.md/spec/plan/SKILL.md). Override остаётся для смешанных или кодовых коммитов. Логика — [tools/enforce-hook-helpers.mjs](tools/enforce-hook-helpers.mjs) `isDocsOnlyChange` + `listChangedFiles`. **NB v2.40 (29.05.2026):** «docs-only» считает **строго `.md`-суффикс**. Добавление `cspell-words.txt` / `package.json` / `lefthook.yml` / любого конфиг-файла **рядом со spec.md** делает diff mixed → verify-before-push активируется → нужен свежий vitest-sentinel (формула — memory `feedback_vitest_sentinel_recipe.md`) ИЛИ override-фраза `срочно` / `ремонт инфраструктуры` в user prompt'е. Прецедент: commit `46c43169` (spec v3.6-3.8 sweep) — `cspell-words.txt` сделал mixed-diff, потребовал ~4s vitest для sentinel'а перед retry push.
|
||
|
||
14. **Перед открытым codebase-вопросом — сначала `/graphify query`, потом Read/Grep/Glob.** Граф проекта (graphify #86, ADR-017) — 6305 узлов / 6753 рёбер / 1009 communities, покрывает docs/ + .claude/ + app/. Junction `graphify-out/` → spike worktree `.claude/worktrees/graphify-spike/graphify-out/`. Применяется к **структурным/cross-layer вопросам**: «где наш скил X используется», «какие концепты связаны с биллингом», «куда тянется зависимость от Y», «что упадёт если изменить Z». **Не применяется** к: (а) известному пути файла → Read напрямую; (б) узкому regex-поиску → Grep напрямую; (в) операциям записи/коммита; (г) если граф устарел значительно (>2 недели без `/graphify --update`) — read-fallback допустим, в ответе обозначить. Workflow: `/graphify query "вопрос"` → анализ выдачи (`source_location` как цитаты) → при необходимости Read/Grep по упомянутым узлам. Граница с context7 (#60) / Boost (#10) / openapi-mcp (#47) / Sentry (#34) — ADR-017 §«Граничные правила (locked)».
|
||
|
||
15. **Memory writes требуют `coverage: direct:memory-sync` в свежем turn'е.** Hook `enforce-memory-coverage` не принимает chain-каналы (`chain:commit-push-mem-sync` и подобные) — считает stale/absent. Если memory updates запланированы как часть multi-step задачи (commit + push + CLAUDE.md + memory), планировать memory phase **отдельным turn'ом** с явным `coverage: direct:memory-sync`. Альтернатива — override-фраза `memory dump` в user prompt'е, она снимает hook на текущий turn. Прецедент в сессии 29.05.2026 (commit `46c43169` v3.6-3.8 sweep): chain `commit-push-norm-sync-mem-sync` был отклонён хуком на 4-м шаге задачи; finalization доделана только после фразы `memory dump` от заказчика.
|
||
|
||
---
|
||
|
||
|
||
|
||
## 9. История версий
|
||
|
||
Полная история — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md). Последняя правка:
|
||
|
||
- **v2.46 от 14.06.2026** — research-tooling (Perplexity Pack): off-phase #87 perplexity / #88 exa / #89 firecrawl (внешние MCP веб-разведки, READ-ONLY). §0 cross-refs: Pravila v1.44 / PSR_v1 v3.24 / Tooling Прил. Н v2.25.
|
||
|
||
> **2026-06-15 — компакция + split (ADR-020):** из этого файла убран продуктовый контекст Лидерры (§2 стек / §3 реестр инструментов / §4 команды / §6 фазы / §7 Boost / §8 self-review) и хвосты «наследие» в §0/§9. Полные старые версии — в `CLAUDE.md.backup`. Лидерровский контекст переедет в собственный CLAUDE.md Лидерры. |