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

@p10i/rundown

v1.0.0-rc.24

Published

A Markdown-native task runtime for agentic workflows. Execute, verify, and repair work directly from Markdown TODOs.

Readme

rundown

Markdown-native planning and execution for agentic work. Use it to create art, run a business, do research, and write code.

Planning model

The plan of any work is a model of a future result. If the work is planned correctly, we can decompose it into deterministic steps, materialize those steps in the workspace, and verify the outcome with tests.

Imagine work shaped like this:

A -> B -> C

Planning

At a sufficient scale, AI can predict A -> C across all domains present in its training set. But if the materialization is complex — potentially millions of steps — we eventually hit a limit: an insufficiently precise step (too large a group) admits too many interpretations. The chance of successfully predicting lower-level steps drops.

And this is the level at which the plan is materialized — where we want to use AI, computers, controllers, robots. At this boundary between plan and build, predictability matters most: for automation and optimization. It is another level, A1 -> C1, which we only leave when the AI directly produces an output or triggers a launch. Here we care about:

  • Cost — each step should be cheap.
  • Reusability — steps should group into reusable tools.

When predicting in depth, we predict in chunks, searching for the optimal level of description at which sequential materialization and optimization remain effective.

Execution

When materializing a prediction, at some point we touch reality. This moment of contact matters: it is where the prediction transitions into the level at which materialization directly occurs. This moment is, in effect, the agent between prediction and the real world.

Each touch splits the prediction into before and after. We want to:

  • Control the process.
  • Analyze what happened.
  • Collect metrics to confirm that the AI is still right and that materialization remains accurate.

But each action is also part of a session — a group we want to observe on its own. For all of this we need non-probabilistic, deterministic automation that guarantees each interaction with the real world happened in the correct order, at the correct time, and that the materialized result matches the prediction.

This is what rundown is for.


The workload protocol

At the lowest level, rundown defines a workload protocol:

Context body.

- [x] Finished task
- [ ] Unfinished task
- [ ] Another unfinished task

An empty checkbox is interpreted as an instruction.

Each instruction is wrapped in a loop, with configurable retries, so imperfect execution predictions can be worked through:

execute -> verify -> repair -> verify -> repair -> ... -> resolve -> repair -> stop or reset

You can switch models on verify -> repair layer, using strongest on the last repair or resolve.

Extensible tooling

rundown supports a flexible, extensible tool set:

Worker configuration has four concepts:

  • workers.default is the primary non-interactive worker used by execution commands such as run, all, materialize, plan, make, do, add, reverify, and undo.
  • workers.interactive is used by interactive commands such as repair and discuss, with workers.default as the backup when the interactive worker is unavailable.
  • profiles.<name> are named worker commands selected deliberately with profile=<name> in frontmatter, directives, or task text.
  • fallbacks.default and fallbacks.<profile> are backup workers used only when health policy blocks or fails over from the selected primary worker.

Use rundown worker status to see persisted worker/profile health, selected fallback order, and why a worker is currently eligible or blocked. Use rundown worker reset <key> to retry one blocked worker/profile entry, or rundown worker reset --all to clear all persisted worker statuses.

---
rundown:
  profiles:
    local-model: "opencode run $bootstrap --model localhost/gpt"
---
Context body.

- profile=thinking
  - [x] Finished task
  - [ ] profile=local-model: Unfinished task
  - [ ] cli: deploy now
  - [ ] for: Each modified file
    - [ ] quick: Do this
    - [ ] quick: Do that
    - [ ] verify: Tests run ok

Single-file or multi-file

A single Markdown file can seed an entire project:

# Roadmap

For each task in this file create a numbered migration file
in current dir with seed produced from the task item.
Then run explore on the file.

- [ ] Add this feature
- [ ] Add that feature
- [ ] Extend something
rundown all roadmap.md

This executes the TODO items, producing research and plan output — each with its own TODO items you can then execute:

rundown all .

Is something goes wrong:

rundown repair

rndn is a materializing wrapper for rundown: it runs rundown materialize with the provided arguments. rundown remains the real CLI entrypoint used by internal delegation.

…and more.


Installation

# npm
npm i -g @p10i/rundown

# yarn
yarn global add @p10i/rundown

# pnpm
pnpm add -g @p10i/rundown

# bun
bun add -g @p10i/rundown

Documentation

Run rundown --help for command and option reference.

MCP

Rundown ships a stdio MCP server for agent clients:

{
  "mcpServers": {
    "rundown": {
      "command": "rundown-mcp"
    }
  }
}

The server exposes named tools for the CLI surface, including rundown_next, rundown_list, rundown_run, rundown_all, rundown_call, rundown_loop, rundown_plan, rundown_make, rundown_add, rundown_do, rundown_materialize, config, memory, worker, artifact, log, init, localization, and unlock operations. Mutating tools return the underlying rundown exit code plus captured stdout/stderr; use each tool's dryRun option where available to preview changes.