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

@telepath-computer/todo

v0.11.1

Published

GTD-style task and project CLI. Agent-first: narrative markdown reads with structured Hints, canonical entity JSON for mutations, stable nanoid refs.

Downloads

1,453

Readme

@telepath-computer/todo

A GTD-style task and project CLI. Designed for LLM agents: read commands emit YAML-like key: value blocks (with a HINTS: section surfacing what the dashboard hides); mutation commands return canonical entity JSON. Humans can read it too. Stable nanoid refs throughout.

What it does

Five things go in your todo, in GTD shorthand:

  • Projects — outcomes that take more than one action. Anything you're engaged with: "Telepath", "House move", "Q3 launch". Park them when life moves on.
  • Actions — concrete things to do. The kind you can pick up and finish: "email Steve", "buy headphones". They're either active (a next action, ready to do) or deferred (someday/maybe — not now, not gone). A deferred action can carry an optional start date to schedule it: it stays out of the way until that day, then auto-shows on the dashboard.
  • Waiting — things blocking on someone else: "cover art from designer", "tax refund". You don't act on these; you watch them.
  • Deadlines — date markers, not tasks: "Q3 launch", "visa expires", "tax filing day". They show on the dashboard until the date passes, then silently disappear. You can drop one if it's cancelled, but you can't "complete" it — a deadline is a fact about time.
  • Memos — free-standing notes and facts worth keeping around: "Sam is in hospital", "ask about budget cap", "printer model is HP 4101". Give them an optional start date when they should stay off the daily dashboard until later; the full set resurfaces on todo review.

Tasks (actions, projects) finish one of two ways: completed (done) or dropped (not happening). For projects and actions you can flip them between active and deferred too. Deadlines only drop (and activate un-drops); the date passing is what retires them.

The dashboard (todo with no subcommand) shows what's live: active actions, waiting items, upcoming deadlines, active projects, and available memos under KEEP IN MIND at the bottom — plus a HINTS: section flagging stuff the dashboard would otherwise hide (recent lapsed deadlines, stalled projects, stale waiting, deferred queue size). Terminal items, dropped deadlines, past-date deadlines, and future-dated memos stay out of the way; reach them with todo list <type> or todo review.

Install

npm install -g @telepath-computer/todo

The binary is todo. todo --help lists every command; todo <command> --help describes flags.

Example

$ todo add project "Telepath" --note "Indie thinking tool"
{
  "closed_at": null,
  "created_at": "2026-04-27T11:10:00Z",
  "id": "Vh8XLm2k",
  "note": "Indie thinking tool",
  "status": "active",
  "title": "Telepath",
  "type": "project"
}

$ todo add action "Find guests for E14" --active --project Vh8XLm2k --due tomorrow
{
  "closed_at": null,
  "created_at": "2026-04-27T11:11:00Z",
  "due": "2026-04-28",
  "id": "K3jLm9pQ",
  "note": null,
  "project": "Vh8XLm2k",
  "start_at": null,
  "status": "active",
  "title": "Find guests for E14",
  "type": "action"
}

$ todo add action "Renew domain" --deferred --start "next monday"
# scheduled — hidden from the dashboard until that day, then auto-shows

$ todo add waiting "Cover art from designer" --project Vh8XLm2k

$ todo add deadline "Q3 launch" --date "next quarter end" --project Vh8XLm2k

$ todo add memo "Vacation starts Monday" --start "next monday"
# hidden from the daily dashboard until that date; still visible in `todo review`

$ todo add memo "Sam is in hospital"

$ todo
ACTIVE ACTIONS [1]:

- id: K3jLm9pQ
  title: "Find guests for E14"
  due: 2026-04-28 (tomorrow)
  project: Telepath [Vh8XLm2k]

WAITING [1]:

- id: pq3LmXyZ
  title: "Cover art from designer"
  project: Telepath [Vh8XLm2k]
  age: 0 days

DEADLINES [1]:
... etc.

ACTIVE PROJECTS [1]:
... etc.

KEEP IN MIND [1]:

- id: a1b2C3d4
  note: "Sam is in hospital"

$ todo review
MEMOS [1]:

- id: a1b2C3d4
  note: "Sam is in hospital"

$ todo complete K3jLm9pQ          # done
$ todo activate K3jLm9pQ          # changed your mind: bring it back live

Storage

Data lives at ~/.todo/data/store.json. Override with TODO_DATA_DIR or todo config data_dir <abs-path> (writes ~/.todo/config.json). The store is pretty-printed JSON with sorted keys — safe to commit, sync, or hand-edit. Single writer at a time.

Docs

License

MIT.