co-mono/packages/coding-agent/examples
Helmut Januschka c956a726ed feat(coding-agent): add hook API for CLI flags, shortcuts, and tool control
Hook API additions:
- pi.getTools() / pi.setTools(toolNames) - dynamically enable/disable tools
- pi.registerFlag(name, options) / pi.getFlag(name) - register custom CLI flags
- pi.registerShortcut(shortcut, options) - register keyboard shortcuts

Plan mode hook (examples/hooks/plan-mode.ts):
- /plan command or Shift+P shortcut to toggle
- --plan CLI flag to start in plan mode
- Read-only tools: read, bash, grep, find, ls
- Bash restricted to non-destructive commands (blocks rm, mv, git commit, etc.)
- Interactive prompt after each response: execute, stay, or refine
- Shows plan indicator in footer when active
- State persists across sessions
2026-01-04 18:13:28 +01:00
..
custom-tools docs(coding-agent): correct filename in subagent example README (#427) 2026-01-03 22:36:58 +01:00
hooks feat(coding-agent): add hook API for CLI flags, shortcuts, and tool control 2026-01-04 18:13:28 +01:00
sdk Add setEditorText/getEditorText to hook UI context, improve custom() API 2026-01-01 00:04:56 +01:00
README.md Add todo hook companion to todo custom tool 2026-01-03 00:13:25 +01:00

Examples

Example code for pi-coding-agent SDK, hooks, and custom tools.

Directories

sdk/

Programmatic usage via createAgentSession(). Shows how to customize models, prompts, tools, hooks, and session management.

hooks/

Example hooks for intercepting tool calls, adding safety gates, and integrating with external systems.

custom-tools/

Example custom tools that extend the agent's capabilities.

Tool + Hook Combinations

Some examples are designed to work together:

  • todo/ - The custom tool lets the LLM manage a todo list, while the hook adds a /todos command for users to view todos at any time.

Documentation