co-mono/packages/coding-agent/examples
Mario Zechner c447e62662 fix(theme): add optional themeOverride param to getSettingsListTheme/getSelectListTheme
When hooks are loaded via jiti, they get a separate module instance from
the main app. This means the global 'theme' variable in the hook's module
is never initialized. Adding an optional theme parameter allows hooks to
pass the theme from ctx.ui.custom() callback.

Usage in hooks:
  getSettingsListTheme(theme)  // theme from ctx.ui.custom callback
2026-01-04 18:39:00 +01:00
..
custom-tools docs(coding-agent): correct filename in subagent example README (#427) 2026-01-03 22:36:58 +01:00
hooks fix(theme): add optional themeOverride param to getSettingsListTheme/getSelectListTheme 2026-01-04 18:39:00 +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