docs(readme): document new commands, guardrails, channels

- command table: /kit-doctor, /kit-help
- guardrails: secret-scanner, commit-guard, llm-redaction, audit-log; permission-gate updated to release-*/v*
- install/update: channels (stable/beta), PI_KIT_CHANNEL, link to RELEASING.md
- maintainer: extensions/lib note, npm test, releases section
This commit is contained in:
dev
2026-07-16 13:51:56 +03:00
parent 3f987cecc5
commit f4ebdd745a
+24 -7
View File
@@ -34,7 +34,7 @@ PI_KIT_PROFILE=backend curl -fsSL https://git.codelab.vc/ai/pi-kit/-/raw/main/in
### Профили и скилы
Общее для всех: команды `/bugfix /feature /review /rfc /kit-config`, guardrails, скилы
Общее для всех: команды `/bugfix /feature /review /rfc /kit-config /kit-doctor /kit-help`, guardrails, скилы
`jira-workflow`, `repo-map`, `docs-map`, и публичные `grill-me`, `grill-with-docs`,
`code-review`, `diagnosing-bugs`. Дополнительно по профилю:
@@ -47,19 +47,22 @@ PI_KIT_PROFILE=backend curl -fsSL https://git.codelab.vc/ai/pi-kit/-/raw/main/in
Сменить профиль позже: `PI_KIT_PROFILE=frontend ./install.sh` (или перезапусти установку).
Либо вручную:
Либо вручную (канал `stable` по умолчанию):
```bash
pi install git:git.codelab.vc/ai/pi-kit
pi install git:git.codelab.vc/ai/pi-kit@stable
```
### Обновление
### Обновление и каналы
```bash
pi update --extensions
```
Пакет установлен без версионного ref, поэтому обновление всегда тянет актуальный `main`.
Установка идёт по **каналу** — движущемуся git-ref: `stable` (проверенные релизы, по умолчанию)
или `beta` (обкатка). `pi update --extensions` следует за твоим каналом. Сменить канал:
`PI_KIT_CHANNEL=beta ./install.sh` (или закрепиться на теге: `PI_KIT_CHANNEL=v1.2.3`).
Процесс релизов — в [`RELEASING.md`](RELEASING.md).
### Команды
@@ -70,6 +73,8 @@ pi update --extensions
| `/review [фокус]` | Ревью текущего диффа по стандартам Go (с фокусом, если задан) |
| `/rfc <тема>` | Черновик RFC по типовому шаблону |
| `/kit-config` | Показать действующие корпоративные значения и их источник (local/remote) |
| `/kit-doctor` | Health-check окружения (node, версия/канал, конфиг, env, токены) |
| `/kit-help` | Каталог возможностей: команды, скилы, guardrails |
### Скиллы
@@ -82,9 +87,13 @@ pi update --extensions
### Guardrails (встроенная защита)
- **protected-paths** — блокирует запись/редактирование секретов, ключей, `.git/`, прод-конфигов.
- **protected-paths** — блокирует запись/редактирование секретов, ключей, `.git/`, прод-конфигов (по пути).
- **permission-gate** — переспрашивает перед опасными командами (`rm -rf`, force push,
push в `main`/`master`/`release/*`, прод-`kubectl`, `docker system prune`, `sudo`).
push в `main`/`master`/`release-*`, тег `v*` (прод-деплой), прод-`kubectl`, `docker system prune`, `sudo`).
- **secret-scanner** — блокирует запись контента, похожего на секрет (по содержимому).
- **commit-guard** — требует Conventional Commits и сканирует сообщение коммита на секреты.
- **llm-redaction** — вырезает секреты из payload перед отправкой в LLM.
- **audit-log** — локальный аудит срабатываний в `~/.config/pi-kit/audit.jsonl` (опц. endpoint).
---
@@ -177,13 +186,21 @@ pi-kit/
- Файл в `extensions/*.ts`, `export default function (pi: ExtensionAPI) {}`.
- В шапке каждого расширения — блок: **что делает / как настроить / как отключить**.
- Пути к файлам пакета резолвь через `import.meta.url`, не через `cwd`.
- Общий код расширений — в `extensions/lib/*.ts` (не `index.ts` → Pi не грузит как расширение).
- Pi-библиотеки — только в `peerDependencies` (`"*"`), не бандлить.
- Guardrails/секреты покрыты тестами — `npm test` (`test/guardrails.test.ts`).
### Релизы
Раскатка по каналам (`stable`/`beta`) и semver-тегам — процесс в [`RELEASING.md`](RELEASING.md).
`CHANGELOG.md` обновляется в каждом релизе. Аудит-endpoint — поле `auditEndpoint` в `config/company.json`.
### Локальная проверка перед MR
```bash
# из корня репозитория
pi install ./ # установить пакет из локальной папки
npm test # прогнать тесты guardrails
pi # запустить: расширения загрузятся, команды /bugfix и т.д. появятся
# опциональный строгий typecheck (нужны peer-типы Pi):