Plans
Implementation plans are stored in.bot/workspace/plans/ and linked to their parent task by ID. They are written during the analysis phase and consumed by the implementation phase. This separation means the agent can produce a detailed, reviewed plan before writing a single line of code.
plan_create
Creates an implementation plan for a task and links it to the task record. The plan is written as markdown and typically includes the goal, affected files, implementation approach, key patterns to follow, risks, and step-by-step instructions. Required: task_id, content.
The task ID to create a plan for (e.g.
"task-a1b2c3d4").The full markdown content of the plan. Typically includes: goal, affected files, implementation approach, key patterns to follow, risks, and step-by-step instructions.
plan_get
Retrieves the implementation plan for a task. The implementation phase calls this at the start of execution to load the analysis phase’s output without re-running exploration. Required: task_id.
The task ID whose plan to retrieve.
plan_update
Replaces the content of an existing implementation plan. Use this when the analysis phase refines the approach after initial planning, or when an operator reviews and revises the plan before execution begins. Required: task_id, content.
The task ID whose plan to update.
The new markdown content of the plan. Replaces the existing content in full.
Steering
The steering mechanism is dotbot’s human-in-the-loop channel for autonomous sessions. Rather than stopping the AI process to give feedback, you send a “whisper” message through the dashboard’s Processes tab. The agent picks up the message at its next heartbeat and incorporates the guidance before proceeding.steering_heartbeat
Updates the process registry with a heartbeat and current status, and checks for operator whisper messages. The agent must call this tool between major steps during autonomous execution so that the operator can inject guidance without interrupting the session.
When a whisper is pending (set via the dashboard’s Processes tab or the steering.ps1 hook), steering_heartbeat returns the whisper text and clears it from the queue. The agent is expected to incorporate the guidance before proceeding to its next action. Required: session_id, process_id, status.
The current session ID, obtained from
session_initialize.The process registry ID for this execution slot (e.g.
proc-a1b2c3). This ID is passed to the agent via the launch prompt.A short human-readable description of what the agent is currently doing (e.g.
"Analysing task d5093..."). Shown in real time on the dashboard’s Processes tab.What the agent plans to do next (e.g.
"Check dependencies"). Shown in the dashboard’s Processes tab alongside the current status.Development environment
The dev tools delegate entirely to project-specific hook scripts in.bot/dev-scripts/. The exact behaviour — starting a local server, running a file watcher, opening browser tabs — is defined by your project’s stack, not by dotbot itself.
dev_start
Starts or restarts the project’s development environment by invoking .bot/dev-scripts/Start-Dev.ps1.
When
true, skips opening any dev layout windows (terminal panes, browser tabs). Useful in CI or headless environments.dev_stop
Stops the development environment by invoking .bot/dev-scripts/Stop-Dev.ps1. Takes no parameters.
dev_start and dev_stop delegate entirely to project-specific hook scripts. If your project does not have Start-Dev.ps1 or Stop-Dev.ps1 in .bot/dev-scripts/, these tools will do nothing.