feat(uninstall): one-command full uninstall with confirmation
- uninstall.sh: removes pi-kit from settings.json (string + gated object entries), the package clone, kit-installed public skills, ~/.config/pi-kit (env.sh with tokens, audit.jsonl) and the shell-rc sourcing block - confirmation prompt by default; PI_KIT_UNINSTALL=1 for non-interactive, PI_KIT_KEEP_CONFIG=1 / PI_KIT_KEEP_SKILLS=1 to retain parts - works without the pi binary (settings edited directly); notes how to remove pi itself - tests: test/uninstall.test.sh against a throwaway $HOME (14 checks: full/partial removal, refusal without flag, idempotent re-run), wired into npm test
This commit is contained in:
@@ -17,6 +17,10 @@
|
||||
- Пример конфига в README приведён в соответствие с реальным `config/company.json`.
|
||||
|
||||
### Added
|
||||
- `uninstall.sh` — полное удаление кита одной командой с подтверждением
|
||||
(пакет+клон, публичные скилы, `~/.config/pi-kit` с токенами, блок в shell-rc;
|
||||
флаги `PI_KIT_UNINSTALL`/`PI_KIT_KEEP_CONFIG`/`PI_KIT_KEEP_SKILLS`); покрыт тестами
|
||||
(`test/uninstall.test.sh`, изолированный `$HOME`).
|
||||
- Тесты: company-context (normalize/fetch/truncation), mcp-bridge (disabled-путь),
|
||||
табличные кейсы permission-gate, shell-тест `create-mr.sh` (парсинг remote, dry-run).
|
||||
- `package-lock.json` закоммичен (воспроизводимая установка).
|
||||
|
||||
Reference in New Issue
Block a user