удалён av-dev-backlog: заморозка стоила дороже, чем удаление
Плагин был помечен устаревшим решением Q и жил до перевода jellybit. Удалён раньше этого срока: условие пережило свою причину. Заморозка выглядела бесплатной, а платила собой в каждой проверке репозитория — exclude в pyproject.toml, SKIP_DIRS в copies.py, два абзаца README, оговорка в описании маркетплейса, чтобы не ловить триггер «добавь задачу в беклог». Пять исключений ради 706 строк, которые никто не читает, и каждое надо объяснять всякий раз, когда спрашивают, почему проверка обходит каталог. Причина условия отпала раньше названного срока. docs/backlog/ читает не backlog.py, а av-dev-pm:tasks — adopt.md и адаптер в tasks.py держат ту же раскладку как вход миграции. Плагин перестал быть единственным, кто её знает, ещё когда писался adopt, и «живёт до перевода последнего проекта» с тех пор охраняло пустоту. Перевод jellybit на канон это не задевает. Порядок вышел обратный ожидаемому: плагин удалён из маркетплейса, а с jellybit снят после. Ожидалась ручная чистка enabledPlugins и installed_plugins.json, но claude plugin uninstall отработал штатно — он идёт по реестру, а не по манифесту маркетплейса. Раздел «Снятие» в README переписан с частного случая на общую процедуру, предупреждение заменено проверенным фактом. Записи Q и HH получили парные статусы, тема 30 в DECISIONS несёт причины и три следствия, пункт 5 TODO отмечен, открытый вопрос из REMAINING убран. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,8 +33,6 @@
|
||||
архитектура, обязательный триаж. Девять агентов-проходов, четыре ступени
|
||||
стоимости: `quick`, `standard`, `wide`, `deep`.
|
||||
- **av-dev-git** — `commit`: сообщения в личном стиле.
|
||||
- **av-dev-backlog** — **устарел**, заменён `av-dev-pm`. Живёт до перевода
|
||||
последнего проекта; как снять с проекта — [Снятие](#снятие).
|
||||
|
||||
Соглашение об именах: имя **плагина** длинное с префиксом `av-dev-`, имена
|
||||
**скилов** внутри — короткие. Вызов выходит вида `/av-dev-<плагин>:<скилл>`.
|
||||
@@ -183,25 +181,25 @@ EOF
|
||||
|
||||
## Снятие
|
||||
|
||||
Действие, обратное подключению. Актуально для `av-dev-backlog`: плагин устарел,
|
||||
и с каждого проекта снимается по мере перевода задач на канон `docs/tasks/`.
|
||||
|
||||
**Сначала перевод, потом снятие.** Задачи переводит `/av-dev-pm:canon`
|
||||
(`docs/backlog/` → `docs/tasks/`). Снять плагин раньше — остаться со старой
|
||||
раскладкой и без скилла, который её понимает.
|
||||
Действие, обратное подключению.
|
||||
|
||||
```bash
|
||||
cd /path/to/project
|
||||
claude plugin uninstall av-dev-backlog@av-dev-skills --scope project
|
||||
claude plugin uninstall <плагин>@av-dev-skills --scope project
|
||||
```
|
||||
|
||||
Команда правит два места: убирает строку из `enabledPlugins` в
|
||||
`.claude/settings.json` проекта и запись из реестра
|
||||
`~/.claude/plugins/installed_plugins.json`. Снимок в
|
||||
`~/.claude/plugins/cache/av-dev-skills/av-dev-backlog/<версия>/` не трогает — он
|
||||
`~/.claude/plugins/cache/av-dev-skills/<плагин>/<версия>/` не трогает — он
|
||||
общий для всех проектов. Маркетплейс тоже остаётся: `extraKnownMarketplaces`
|
||||
нужен остальным плагинам.
|
||||
|
||||
**Удалять из маркетплейса можно и до снятия с проектов.** `uninstall` идёт по
|
||||
реестру, а не по `marketplace.json`, и снимает плагин, записи о котором в
|
||||
манифесте уже нет. Проверено на `av-dev-backlog`: удалён из маркетплейса,
|
||||
снят с jellybit после — команда отработала штатно.
|
||||
|
||||
`--scope project` обязателен по той же причине, что и при установке: умолчание у
|
||||
команды — user. `cd` в проект обязателен, но здесь ошибка слышна — вызванная не
|
||||
оттуда, команда откажется словами `is not installed in project scope`, а не
|
||||
@@ -246,10 +244,6 @@ uv run pyrefly check # типы
|
||||
линтеров, и любой сторонний импорт у него не разрешается. Список запретов —
|
||||
не перечень мира, настоящий страж второй.
|
||||
|
||||
`av-dev-backlog` из проверки исключён намеренно: плагин помечен устаревшим и
|
||||
живёт до перевода последнего проекта, после чего удаляется целиком. Правки в
|
||||
замороженный код — риск без выгоды.
|
||||
|
||||
## Проверка фронтматтеров
|
||||
|
||||
Фронтматтер читает не человек, а загрузчик: по `name` он разрешает вызов, по
|
||||
|
||||
Reference in New Issue
Block a user