- Add 'confluence' (always-enabled, per README) to COMMON_BUNDLED so a
default install (no PI_KIT_PROFILE / no tty) no longer silently strips
it from settings.json. The allowlist now covers every skill under skills/.
- Deduplicate PROFILES in profiles_from_text: skip a canonical name already
present, so 'frontend,1' or 'backend backend' no longer causes a redundant
'npx skills add' call or a misleading 'Профили: frontend frontend'.
- Ship the multi-profile refactor it builds on: merged profile sets,
profile_skills()/add_word() helpers, README updates, and the pm-task-spec
bundled skill.
Validated: bash -n; functional checks for dedup and allowlist coverage.
Behavior-preserving cleanups:
- extract shared resolveBaseUrl helper for jira/confluence base-URL logic
- extract shared registerTool helper; port jira/gitlab/confluence tools to it
- make scanSecrets declarative (filter/map)
- collapse ok/warn pair into status() and drop double existsSync in kit-doctor
Typecheck clean; npm test 71 PASS, 0 FAIL.
- 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