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

pi-nd-crew

v0.1.1

Published

Five specialist subagents for Pi and an animated status line that shows what each one is doing, what it costs and how full your context is.

Readme

nd-crew

Five specialist subagents for Pi, and a status line that shows what every one of them is doing.

pi install npm:pi-subagents && pi install npm:pi-nd-crew

Then type orchestrate in any prompt, or run /ship <task>.

Why

Delegating to subagents is powerful and hard to watch. You cannot see who is working, what each one is touching, how much it costs, or whether the implementer has drifted from the plan.

nd-crew fixes both halves:

  • A crew that works well together. Five personas built on real neurodivergent strengths. Each one's tools and limits cover its matching weak spot, and each hands its work to the next in a fixed shape.
  • A footer you can read at a glance. The main session's model, context and exact cost on one line. One animated sprite per worker underneath, saying what it is doing right now and what it has spent.

The personas use the words neurodivergent people use about themselves: hyperfocus, monotropism, body doubling, spoons. They describe strengths. Nothing here is a joke about anyone.

What the status line tells you

ANALYSE ✓   MAP ✓   HYPERFOCUS ▸▸▸   LITERAL ▸▸    round 1/3  0:08
spoons ▮▮▮▮▮▮▮▯▯▯ 71% of $5.0000   parking-lot 1   timebox ⏱ 29:57 left

⠼ main sonnet-5/med  ctx ▰▰▰▱▱▱▱▱ 44.3% 88,598/200.0k  $1.2786 +$0.1526 kids  turn 7  in 70.7k out 9.9k cache 71%
🔥(⌐■_■)🔨 hyperfocus 0:03 17.9k $0.0509 edit src/cli.ts:88   📏(•_•)📖 literal 0:00 3.0k $0.0085 read src/cli.ts
🗺(^‿^)✓ mapper 0:02   🔍(^‿^)✓ pattern 0:03

| You see | It means | |---|---| | Phase strip | Where the task is: analyse, plan, build, review, and which review round | | Spoons bar | How much of your session budget is left. At zero, new subagents are blocked until you raise it | | Timebox | Time left in hyperfocus's sprint. The last five minutes blink | | Main line | Model, thinking level, context fill with exact tokens, session cost to four decimals, child cost, cache hit rate | | Sprite faces | What each worker is doing: reading 📖, editing 🔨, running ⚙, thinking ···, waiting for an answer zz, done ✓, failed ✗ | | The flame | Hyperfocus's drift meter. It heats up to amber, then red, as edits pile up without re-reading the plan | | ≈$ | A live estimate. It becomes exact when the run reports final usage |

Press alt+a for the fleet view: every worker's model, tokens, cache, cost, tool count and last output, with steer and stop for background runs.

Measured, not promised

Numbers from running nd-crew on its own repository.

| | | |---|---| | Idle CPU added | None measurable: 0.1% with and without nd-crew over a 15 s sample | | Timers while nothing runs | Zero. Animation starts with the first worker and stops with the last | | Footer height | Never more than 3 lines, from 60 columns up | | Runtime dependencies | Zero | | Code | About 80 kB of TypeScript, loaded as source by Pi | | Tests | 34, including a replay of a real /ship run's event stream | | Self-hosting | The crew wrote one of its own features: orchestrate took a refactor plus tests from prompt to approved diff in about two minutes |

With and without nd-crew

nd-crew runs on top of pi-subagents. It does not replace it.

| | pi-subagents alone | with nd-crew | |---|---|---| | Delegation engine, workflows, worktrees | ✓ | ✓ the same engine | | Specialist agents | General builtins: scout, worker, reviewer, oracle | Five personas with matched guardrails and fixed handoffs | | Start a full crew run | Prompt templates such as /review-loop | Say orchestrate, or /ship <task> for analyse, plan, build and review up to three rounds | | Where you watch workers | Its own widget and FleetView | One footer with the main session and every worker together | | Drift meter, phase strip, timebox, parking lot | | ✓ | | Advisor after edits | Ask the oracle | The body double reviews automatically after an edit-heavy prompt and speaks only on drift | | Session-wide spend cap | | ✓ spoons budget blocks new subagents when spent | | Low-sensory mode | | /nd calm, NO_COLOR, PI_REDUCED_MOTION=1 |

oh-my-pi builds roles, an advisor and an agent hub into a fork of Pi. nd-crew brings that way of working to stock Pi as one package.

Install

pi install npm:pi-subagents
pi install npm:pi-nd-crew

The status line works without pi-subagents. Delegation, /ship and the body double need it.

Pi allows one footer. Remove other footer packages such as pi-powerline-footer or pi-statusline. pi-subagents also draws its own background widget. To see only the minions, set "asyncWidget": false in ~/.pi/agent/extensions/subagent/config.json.

Use it

| Command | Does | |---|---| | orchestrate in a prompt | The main agent coordinates the crew instead of editing | | /ship [--worktree] <task> | Full crew workflow in the background | | /fleet or alt+a | Fleet view with steer and stop | | /nd | Status and help | | /nd crew | Personas, traits, models, tools | | /nd orchestrate on\|off | Coordinate every prompt through the crew | | /nd bodydouble on\|off | Quiet review after edit-heavy prompts | | /nd spoons <usd>\|off | Session budget | | /nd calm on\|off | Stop all animation | | /nd ascii on\|off | No emoji | | /nd hud on\|off | Phase strip above the editor | | /nd parkinglot | Ideas hyperfocus set aside | | /nd snapshot [width] | Status line as plain text |

Toggles are saved in the session and survive resume.

Optional. ~/.pi/agent/nd-crew.json, then <project>/.pi/nd-crew.json. The project file wins. See examples/nd-crew.json.

| Key | Default | Meaning | |---|---|---| | models.<persona> | unset | provider/id. Unset follows pi-subagents' subagents.defaultModel and agentOverrides | | thinking.<persona> | persona default | Thinking level override | | budgetUsd | 0 | Spoons budget, 0 is off | | orchestrate | false | Start sessions in orchestrate mode | | bodydouble | false | Start sessions with the body double on | | hud | true | Phase strip | | calm | false | No animation | | ascii | false | No emoji | | frameMs | 150 | Animation frame interval, minimum 60 | | parentPlanModel | unset | Main-agent model while orchestrating |

Give literal a different model family than hyperfocus, so the reviewer does not share the implementer's blind spots.

Nothing is scraped from text. nd-crew listens to Pi's events and pi-subagents' public contracts.

  • Main session. Assistant message usage from the session branch, and ctx.getContextUsage().
  • Foreground workers. Progress snapshots on tool_execution_update for the subagent tool, and final usage on tool_execution_end.
  • Background workers and workflows. subagent:async-started, subagent:child-status, subagent:async-complete and subagent:foreground-complete. Also the in-process RPC status, polled once a second only while a background run is live. Exact cost comes from each run's status.json.
  • Personas. Registered with the pi-subagents:runtime-agent-register:v1 event, so there are no agent files to copy. Aliases start with nd- so they never collide with pi-subagents builtins.

Set NDCREW_DEBUG=/path/to/file.jsonl to log the raw payloads. Design decisions are in docs/DESIGN.md.

npm install
npm run check
pi -e ./extensions/nd-crew.ts

npm run preview animates the status line in your terminal without Pi. npm run gallery re-renders the preview media from the real renderer. It needs Chrome, ffmpeg, cwebp and img2webp.

License

MIT