pi-goal
v0.1.4
Published
Persistent autonomous goals for pi — /goal loops until complete, paused, or budget-limited
Maintainers
Readme
pi-goal

Persistent autonomous goals for pi.
pi-goal adds a /goal command and goal tools so Pi can keep working toward a long-running objective until the goal is complete, paused, cleared, or token-budget-limited.
Install
pi install npm:pi-goalOr from git:
pi install git:github.com/Michaelliv/pi-goalUsage
/goal improve benchmark coverage until the suite has strong evidence
/goal --tokens 50k finish the migration and verify tests
/goal status
/goal pause
/goal resume
/goal clear
/goal statusbar offWhen a goal is active, the extension shows compact visible lifecycle markers like Goal active and Goal continuing; expand them with ctrl+o to inspect the objective and usage. The full continuation instructions ride along as the content of that custom message, so the model always has the objective and audit guidance in the transcript while the renderer keeps the visible UI compact.
The same Pi agent keeps running normal turns in the same session context until it calls update_goal({ status: "complete" }), the user pauses/clears it, or the token budget is reached. Reloading Pi pauses an active goal instead of silently resuming it; use /goal resume to continue.
What it adds
/goal [--tokens 50k] <objective>: set or replace a goal/goal status: show the current goal/goal pause: stop autonomous continuation without deleting the goal/goal resume: reactivate a paused goal/goal clear: remove the goal/goal statusbar on|off: show or hide the footer status lineget_goaltool: read current goal stateupdate_goaltool: model can only mark the goalcompleteget_goalandupdate_goalare only exposed to the model while a goal isactive; paused, cleared, complete, and budget-limited goals hide them so unrelated sessions are not tempted to call them- footer status:
Pursuing goal,Goal paused,Goal achieved, orGoal unmet
Flow
/goal <objective>
-> persist goal in the current Pi session
-> show compact Goal marker and footer status
-> deliver continuation instructions as the marker's message content
-> trigger an agent turn
-> account time/tokens on turn_end
-> queue another continuation on agent_end while active
-> stop when update_goal marks complete, user pauses/clears, or budget is hitCompletion behavior
The model is instructed to audit completion against real evidence before calling update_goal. The update_goal tool deliberately accepts only status: "complete"; pausing, resuming, clearing, and budget limiting are controlled by the user or extension runtime.
State
Goal state is stored as Pi custom session entries with customType: "pi-goal". It follows the active session branch, survives reloads, and does not require an external database.
License
MIT
