From 09048681b8374e50c0dee3a8347478970c90e034 Mon Sep 17 00:00:00 2001 From: Helmut Januschka Date: Sat, 3 Jan 2026 15:36:18 +0100 Subject: [PATCH] docs: update changelog with full hook API additions --- packages/coding-agent/CHANGELOG.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index c3ee1280..8ce86152 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -38,9 +38,16 @@ - `$ARGUMENTS` syntax for custom slash commands as alternative to `$@` for all arguments joined. Aligns with patterns used by Claude, Codex, and OpenCode. Both syntaxes remain fully supported. ([#418](https://github.com/badlogic/pi-mono/pull/418) by [@skuridin](https://github.com/skuridin)) - Hook API: `pi.getTools()` and `pi.setTools(toolNames)` for dynamically enabling/disabling tools from hooks -- Hook API: `pi.registerFlag(name, options)` and `pi.getFlag(name)` for hooks to register custom CLI flags -- Hook API: `pi.registerShortcut(shortcut, options)` for hooks to register custom keyboard shortcuts -- New example hook: `plan-mode.ts` - Claude Code-style read-only exploration mode with `/plan` command, `--plan` flag, and Shift+P shortcut +- Hook API: `pi.registerFlag(name, options)` and `pi.getFlag(name)` for hooks to register custom CLI flags (parsed automatically) +- Hook API: `pi.registerShortcut(shortcut, options)` for hooks to register custom keyboard shortcuts (e.g., `shift+p`, `ctrl+shift+x`) +- `/hotkeys` command now shows hook-registered shortcuts in a separate "Hooks" section +- New example hook: `plan-mode.ts` - Claude Code-style read-only exploration mode: + - Toggle via `/plan` command, `Shift+P` shortcut, or `--plan` CLI flag + - Read-only tools: `read`, `bash`, `grep`, `find`, `ls` (no `edit`/`write`) + - Bash commands restricted to non-destructive operations (blocks `rm`, `mv`, `git commit`, `npm install`, etc.) + - Interactive prompt after each response: execute plan, stay in plan mode, or refine + - Shows `⏸ plan` indicator in footer when active + - State persists across sessions ### Changed