397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
78 lines
5.5 KiB
Markdown
78 lines
5.5 KiB
Markdown
# ADR-010: Anthropic dev-tooling formalization
|
||
|
||
- **Status:** Accepted
|
||
- **Date:** 2026-05-18
|
||
- **Deciders:** Дмитрий
|
||
|
||
## Context
|
||
|
||
Пять Anthropic-плагинов включены в `~/.claude/settings.json` `enabledPlugins`
|
||
user-level, но не имеют номера в реестре Tooling §3.3 / PSR_v1 R10.1:
|
||
`skill-creator`, `plugin-dev`, `hookify`, `claude-code-setup`, `context7`. Все пять
|
||
из marketplace `anthropics/claude-plugins-official`.
|
||
|
||
Это повторение L1-паттерна «плагин фактически включён без формализации в правилах»:
|
||
зафиксирован 2026-05-10 (UPM #31 / 21st #32 — обнаружены только когда заказчик
|
||
спросил про конфликты), повторился 2026-05-13 (Sentry #34 / Redis #35 —
|
||
формализованы retrospective в v1.92). Любое использование неформализованного
|
||
плагина — байпас PSR_v1 R0.2/R10. Карта `docs/automation-graph.html` имеет
|
||
соответствующие 5 узлов (iter7 audit-actualization 16.05.2026), но без номеров и
|
||
без edge к governing-правилу; узел `hookify_plugin` несёт незакрытый 🔴-конфликт
|
||
`hookify_plugin ↔ hk_pre_claude` (плагин hookify может перезаписать существующие
|
||
хуки в `settings.json`).
|
||
|
||
Аудит «мозга» (discovery-interview SYSTEM-режим, 2026-05-18) вскрыл долг; заказчик
|
||
выбрал формализовать все 5, предварительно закрыв риски.
|
||
|
||
## Decision
|
||
|
||
Пять плагинов формализуются как позиции #56–#60 реестра Tooling в **двух новых
|
||
off-phase подкатегориях** (семантика разная — одна категория запутала бы правила):
|
||
|
||
- **authoring-tooling** — создание Claude-артефактов: #56 skill-creator,
|
||
#57 plugin-dev, #58 hookify.
|
||
- **dev-support** — поддержка/документация Claude-разработки: #59 claude-code-setup,
|
||
#60 context7.
|
||
|
||
Граничные правила (locked):
|
||
|
||
1. **hookify (#58)** — вызов только по явному `/hookify`, не проактивно. Перед
|
||
генерацией хука — обязательный pre-check на коллизию с уже-зарегистрированными
|
||
хуками в `~/.claude/settings.json`; перезапись 6-компонентной economy/
|
||
skill-discipline архитектуры запрещена. Это закрывает 🔴-конфликт
|
||
`hookify_plugin ↔ hk_pre_claude` (🔴 → 🟢).
|
||
2. **skill-creator (#56) ↔ plugin-dev:skill-development (#57)** — skill-creator для
|
||
standalone проектных скилов; plugin-dev:skill-development — для скилов внутри
|
||
разрабатываемого marketplace-плагина. Вендоренные и self-authored скилы
|
||
модифицируются прямым Edit, не через skill-creator.
|
||
3. **context7 (#60) ↔ WebFetch ↔ WebSearch** — context7 первый выбор для
|
||
документации известной библиотеки; WebFetch — конкретный URL; WebSearch — поиск
|
||
без URL.
|
||
4. **claude-code-setup (#59)** — read-only анализатор; рекомендации фильтруются
|
||
через R0/R10.1, ничего не устанавливается без явного согласования.
|
||
|
||
Обе подкатегории — не UI → вне фильтров PSR_v1 R6.0/R6.1 и R14 pipeline; регулируются
|
||
R10.1 Блок 1 как infrastructure (по образцу claude-md-management #33).
|
||
|
||
ADR обязателен (не retrospective-без-ADR как Sentry/Redis #34/#35): здесь 5 позиций
|
||
и 2 новые подкатегории — decision-grain выше порога.
|
||
|
||
## Consequences
|
||
|
||
- Положительно: L1-долг для 5 Anthropic-плагинов закрыт — использование больше не
|
||
байпас R0.2/R10; 🔴-конфликт hookify закрыт правилом (🔴 → 🟢, классификация карты
|
||
🔴1/⚫3/🟢7 → 🔴0/⚫3/🟢8); карта получает edge к governing-правилу для 5 узлов.
|
||
- Отрицательно: реестр Tooling растёт 55 → 60; число off-phase подкатегорий 12 → 14.
|
||
- Риск: эти 5 плагинов включены user-level — влияют на все проекты машины;
|
||
формализация в Лидерра-нормативке другие проекты не ломает (они её не читают) —
|
||
это не риск, а ограничение области действия.
|
||
- Defer: изменение `enabledPlugins` (выключение плагинов) — отвергнуто заказчиком в
|
||
пользу формализации; не выполняется.
|
||
|
||
## Enforcement
|
||
|
||
None — формализация декларативная (реестр + границы в R10.1 / Pravila §13.2).
|
||
hookify pre-check на коллизию хуков — поведенческое правило, проверяется code review,
|
||
не автоматическим гейтом. Границы #56–#60 зафиксированы в Tooling §4.31–§4.32 и
|
||
PSR_v1 R10.1 Блок 1.
|