pi-native-todo

Native task planning and state tracking for Pi with branch replay and a live TUI widget

Packages

Package details

extension

Install pi-native-todo from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-native-todo
Package
pi-native-todo
Version
0.2.0
Published
Aug 10, 2026
Downloads
469/mo · 168/wk
Author
youngjurry
License
MIT
Types
extension
Size
14.3 KB
Dependencies
0 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-native-todo

Native task planning and state tracking for Pi. Array-based, branch-replayable, and displayed in a live widget above the editor.

Philosophy

  • One tooltodo to read or replace the full task list
  • No IDs — no numbering, no nextId, no blockedBy
  • No action verbs — no create / update / delete. Pass the complete tasks array to set the list. Omit a task to remove it.
  • No background processes — no polling, no watchers, no timers
  • No files — state lives in toolResult.details, survives via session branch replay
  • Live widget — shows the current todo list above the editor with a progress bar

Install

pi install npm:pi-native-todo

Then restart pi or run /reload.

Usage

Read current todo list:

todo({})

Replace the full todo list:

todo({
  "tasks": [
    { "content": "Do something", "status": "in_progress" },
    { "content": "Do something else", "status": "pending" }
  ]
})

Clear all tasks:

todo({ "tasks": [] })

Statuses

  • pending — not started
  • in_progress — actively working
  • completed — finished

Prompt guidelines

The tool injects guidelines that ask the agent to:

  • Use todos only for non-trivial, multi-phase, dependent, or ambiguous work.
  • Keep steps short, concrete, ordered, and easy to verify.
  • Maintain exactly one in_progress task at a time.
  • Move tasks through pendingin_progresscompleted without skipping states.
  • Update the plan immediately when the task structure changes.
  • Finish with every task completed or explicitly removed.

Development

npm install
npm run check

Changelog

0.2.0

  • Optimized the widget UI: progress bar with percentage, overflow indicator, and long-line truncation
  • Refined task rendering (strikethrough for completed, accent for in_progress)
  • Compact tool call and result display

0.1.1

  • Bug fixes and stability improvements

0.1.0

  • Initial release

License

MIT