From 08b997848f047011095c600793fefe8ddfe7ef72 Mon Sep 17 00:00:00 2001 From: GRayHook Date: Wed, 17 Jun 2026 13:20:50 +0700 Subject: [PATCH] =?UTF-8?q?Phase=2013:=20update=20README=20for=20v1=20?= =?UTF-8?q?=E2=80=94=20install,=20commands,=20pi-auto-compact.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document implemented status, pi -e installation, /skill-reinject usage, and coexistence guidance per SPEC §9.1 and §16.7. Co-authored-by: Cursor --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index c816543..477a0bd 100644 --- a/README.md +++ b/README.md @@ -2,35 +2,62 @@ Pi Coding Agent extension: отслеживает вызванные skills и повторно инжектит их после auto compaction. -**Статус:** спецификация (реализация не начата) +**Статус:** реализовано (v1) -## Документация +## Установка -- [SPEC.md](./SPEC.md) — полное ТЗ с ссылками на документацию Pi +```bash +# из клона репозитория +pi -e ./src/index.ts -## Совместимость +# или абсолютный путь +pi -e ~/Documents/repos/pi-auto-reinjection/src/index.ts +``` -Рассчитан на совместную работу с [@capyup/pi-auto-compact](https://github.com/capyup/pi-auto-compact) (auto-continue после compaction). Детали — [SPEC.md §16](./SPEC.md#16-совместимость-с-capyuppi-auto-compact). +Для постоянной установки укажите путь к `src/index.ts` в `~/.pi/agent/settings.json` → `extensions` (нужен весь каталог `src/`, не один файл). См. [Pi extensions](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/extensions.md). -## Быстрый контекст - -Pi хранит в контексте только описания skills; полный `SKILL.md` теряется при compaction. Extension решает это re-inject'ом через тот же механизм, что `/skill:name`. - -По умолчанию **выключено**. Включение: +По умолчанию extension **выключен**. Включение: ```text /skill-reinject on # эта сессия /skill-reinject global on # навсегда (~/.pi/agent/settings.json) ``` -## Установка (план) +## Команда `/skill-reinject` -```bash -pi -e ./src/index.ts # после реализации +```text +/skill-reinject # статус (enabled, delivery, tracked, pending) +/skill-reinject on | off | reset # session override +/skill-reinject global on | off # глобальный default +/skill-reinject list | clear # tracked skills +/skill-reinject now # принудительный re-inject (debug) +/skill-reinject integration auto|defer|immediate|off ``` -## Ссылки +Алиасы: `/sr`, `/skills-reinject`. Footer status: `on·N` / `off·N`. +Полный синтаксис и настройки — [SPEC.md §7](./SPEC.md#7-команда-skill-reinject). + +## Как это работает + +Pi хранит в контексте только описания skills; полный `SKILL.md` теряется при compaction. Extension отслеживает вызванные skills (`/skill:name`, skill-блоки, `read` на `SKILL.md` при `trackReadPaths: true`) и после **auto** compaction повторно инжектит отсутствующие в kept window блоки — тем же форматом, что `/skill:name`. + +## Совместимость с pi-auto-compact + +Рассчитан на совместную работу с [@capyup/pi-auto-compact](https://github.com/capyup/pi-auto-compact). При обнаружении команды `auto-compact` re-inject идёт через `defer` + `before_agent_start`, чтобы не конкурировать с follow-up pi-auto-compact (см. [SPEC.md §16](./SPEC.md#16-совместимость-с-capyuppi-auto-compact)). + +**Coexistence с Pi default auto-compaction:** оба механизма могут сработать в одной сессии. При использовании pi-auto-compact можно отключить встроенный compaction Pi (`"compaction.enabled": false` в settings) или оставить оба — skill-reinject отработает после каждого **auto** compaction. Extension не отключает чужой compaction; при первом обнаружении обоих механизмов показывает одноразовый hint. + +## Разработка + +```bash +npm run typecheck # tsc --noEmit +npm test # vitest +``` + +## Документация + +- [SPEC.md](./SPEC.md) — полное ТЗ - [Pi extensions](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/extensions.md) - [Pi skills](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/skills.md) - [Pi compaction](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/compaction.md)