Об этом проекте
# 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).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.