Об этом проекте

# enfurbish Плагины Claude Code. Каждый плагин находится в соседнем каталоге в корне репозитория и имеет собственный манифест, README и тесты. Нет манифеста верхнего уровня, который связывал бы их вместе — каждый поставляется и устанавливается независимо. ## Плагины ### [`continuity/`](./continuity) — намеренная непрерывность сессий Замыкает цикл между сессиями Claude Code. - **`/wrap`** завершает сессию, создавая ретроспективу, вердикт по стеку инструментов и передачу `NEXT_SESSION.md` для следующего раза. - **Хук `SessionStart`** показывает передачу в начале следующей сессии через баннер `systemMessage` — без выгрузки контекста, если вы не согласитесь на это. - **`/next`** загружает передачу по запросу. - **Свидетельства устаревания.** `handoffs.ts --since` сообщает, что появилось после того, как передача была написана — коммиты, затронутые ими файлы и сколько ещё не закоммичено — чтобы сессия, завершившаяся без wrap, не заставляла следующую заново разбираться с темами, которые уже закрыты. См. [continuity/README.md](./continuity/README.md) для формата журнала инструментов и того, что измеряет `/wrap`. ### [`affirm/`](./affirm) — шлюз одобрения для инструкций проекта Барьер против внедрения промптов через `CLAUDE.md`, `.claude/rules/*` и файлы, до которых они дотягиваются через `@import` (отслеживается на два уровня вглубь; импорты, указывающие за пределы проекта, хешируются и помечаются). - **Хук `SessionStart`** перечисляет файлы инструкций проекта и предупреждает о любом неподтверждённом или изменённом файле. - **`/affirm`** показывает, что входит в область действия, со статусом, mtime и происхождением в git. - **`/affirm -a`** записывает хеши SHA-256 после того, как вы проверили. Область охватывает `CLAUDE.md` / `.claude/rules/*` проекта и пользовательские глобальные в `~/.claude/`; глобальные остаются вне баннера, пока всё ещё совпадают. - **`--since <iso>`** перечисляет только то, что изменилось внутри окна. `/wrap` из `continuity` запускает его со временем начала сессии, так что изменение, которое вы сделали сами, суммируется в конце этой сессии, а не всплывает как предупреждение о доверии в начале следующей. См. [affirm/README.md](./affirm/README.md) для модели угроз и деталей хранения. ### [`pastiche/`](./pastiche) — фоновое изучение языка Словарный запас на полях обычной работы, а не учебная сессия, которую нужно планировать. - **Хук `SessionStart`** внедряет элементы, которые вы дольше всего не видели, плюс то, как их представить, как `additionalContext`. - **Четыре способа входа.** Закрепление устаревших элементов, небольшой бюджет новых терминов на сессию, взятых из того, над чем вы работаете, прайминг — термин, который вы используете сами, записывается, а не преподаётся вам обратно — и исправление, когда вы поправляете форму, которую сессия поняла неверно. - **Реестр в markdown**, которым вы владеете и на который указываете из конфигурации — одна строка на термин, дата `seen:`, которую сессии проставляют заново по мере использования. CLI пишет его; модель вызывает CLI. - **Никаких интервалов, никаких коэффициентов лёгкости.** Использованные элементы вращаются в конец; неподкреплённые продолжают возвращаться. См. [pastiche/README.md](./pastiche/README.md) для формата реестра и конфигурации. ## Разработка Bun, нативный для TypeScript, без шага сборки, без `package.json`. Встроенный тестовый раннер Bun. ```bash # Запустить все тесты во всех плагинах bun test # Один плагин bun test continuity/tests/ bun test affirm/tests/ bun test pastiche/tests/ ``` Линтер или форматтер не настроены. ## Установка ``` /plugin marketplace add nullphase-net/enfurbish /plugin install continuity@enfurbish /plugin install affirm@enfurbish /plugin install pastiche@enfurbish ``` Каждый устанавливается независимо — возьмите один, два или все три. README каждого плагина описывают настройку и конфигурацию. ## Лицензия MIT. См. [LICENSE](./LICENSE).