npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@todu/pi-extensions

v0.9.1

Published

Task manager extensions for the pi agent harness that create UI for handling tasks.

Readme

todu-pi-extensions

todu-pi-extensions is a pi package that adds todu-focused commands, tools, and TUI workflows to pi. It is the pi-side integration layer for working with tasks from todu without leaving the agent.

Today the package is focused on task browsing, task detail, task creation, and task updates inside pi.

How it fits together

  • pi is the host coding agent and extension runtime.
  • todu is the task backend and CLI.
  • todu-pi-extensions connects pi to todu.
  • todu-workflow is an optional companion project with higher-level workflow skills and policies.

todu-workflow is not a hard dependency. You can use this package by itself, use it alongside todu-workflow, or build your own workflow on top of pi and todu.

Prerequisites

Install these first:

The tested Pi baseline is 1.1.0 for @earendil-works/pi-ai, @earendil-works/pi-coding-agent, and @earendil-works/pi-tui. Pi supplies these runtime packages and typebox; they remain wildcard peer dependencies, following Pi's package guidance, and are not bundled. Wildcard peer ranges do not imply support for older Pi versions. Node.js 20 and Pi versions before 1.1.0 are no longer supported.

Install the extension

Install the packaged npm release:

pi install npm:@todu/pi-extensions

Install project-local instead of globally:

pi install -l npm:@todu/pi-extensions

Install from git when testing an unpublished revision:

pi install git:github.com/evcraddock/todu-pi-extensions

Install from a local checkout while developing:

npm install
npm run build
pi install /path/to/todu-pi-extensions

Local path installs load dist/index.js, not src/index.ts. Rebuild after source changes so pi picks up the packaged output instead of live source files.

After installation, reload pi if it is already running.

Basic usage

Use the extension inside pi with commands such as:

  • /tasks to browse and filter tasks
  • /task to inspect the current task or a task by ID
  • /task-new to create a task, optionally with a scheduled date
  • /task-clear to clear the current task context
  • /todu-status to show Todu daemon and sync server status

The package also exposes agent tools for structured task operations such as listing tasks, showing task details, and creating or updating tasks.

For status-only task_update calls, omit assignee parameters or use null. assigneeActorIds: [] explicitly clears all assignees; empty add/remove lists are no-ops. See task update assignee parameters for details.

task_create and task_update accept an optional scheduledDate (for example, 2026-11-01). Omit it to create an unscheduled task or leave an existing schedule unchanged. To remove an existing schedule, call task_update with scheduledDate: null (an empty string also clears it). /task-new also prompts for an optional scheduled date; blank skips scheduling and Escape cancels creation.

Task list/detail data preserves backend due, scheduled, creation, and update dates. Populated due dates also appear in tool text. See task date meanings and missing-value behavior.

task_list and task_show expose schema-validated structured envelopes to codemode while retaining readable text and compatible UI details. Check ok after every call, including fulfilled promises. See task read outputs and script examples. Other tool families still return legacy text.

For contributors, structured tool result contracts define the shared schemas, metadata safeguards, and result/error conventions.

For local compatibility verification, npm run smoke:codemode exercises packaged task reads through the real Pi SDK/codemode runtime with isolated synthetic state. It requires no external model credentials and stays outside default CI. See opt-in codemode smoke coverage and limitations.

Work on this project

npm install
make dev

make dev starts the local dev environment, including the isolated todu daemon used by this repository.

Useful commands:

make check
make pre-pr
make dev-cli CMD="task list"
make help

Release

Tag a version that matches package.json and let GitHub Actions publish @todu/pi-extensions to npm and attach the package tarball to the GitHub release. The workflow expects NPM_TOKEN to be configured in the repository secrets.

The isolated dev daemon keeps its state under .dev/ so local development does not touch your normal todu data.

License

MIT