This file applies to the entire pi-notify-koko repository.
Keep the extension minimal and reliable while triggering Koko voice notifications when Pi finishes a turn.
src/index.ts: Pi event wiring only.src/config.ts: environment parsing and defaults only.src/notify.ts: Koko command assembly + process execution only.
- Keep files focused on one responsibility.
- Keep side effects isolated to
src/notify.ts. - Reuse
@rbright/pi-notify-corefor completion tracking and sanitization. - Do not register slash commands unless explicitly requested.
Run before handoff:
just lintjust typecheckjust test
Manual smoke checks:
- local terminal run with
kokoavailable - non-TTY mode skip behavior
- missing-command warning behavior
- Use Bun for dependencies and scripts.
- Use ESLint + Prettier for code quality.
- Use Vitest for tests.
- Use Prek (
prek) for pre-commit hooks.
- Do not introduce secrets.
- Keep subprocess execution deterministic and bounded (timeouts).
- Avoid shell interpolation for command args.