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

tuff-lil-unit

v0.1.3

Published

High-concurrency LLM orchestration library with slot-based execution and budget controls

Readme

Tuff Lil Unit

Tuff Lil Unit

A lil resumable pipeline toolkit for iterative AI workflow development.

Background a multi-step workflow while it runs. Drop and rerun any step as you iterate. Ask your AI about progress and results mid-run from your main thread, and it'll query via SQL.

Tuff's an ultra-simple version of the 'step function' pattern from hardcore workflow tools like Temporal.

It's for building reusable multi-step workflows using AI coding tools like Claude Code, Cowork, Codex and friends.

It ain't big. It ain't clever. It's just a little TypeScript and a SQLite database.

In practice

A GEO study with synthetic personas — hundreds of GPT queries mimicking customer searches, responses post-processed, citations fetched and analysed — iteratively refined and re-run on the fly.

flowchart TD
    tuff["tuff('run-id', ...)"] --> C1
    tuff --> C2
    tuff --> CN

    C1["Call 1"] --> P1["Process 1"]
    C2["Call 2"] --> P2["Process 2"]
    CN["Call N"] --> PN["Process N"]

    P1 --> D1["..."]
    P2 --> D2["..."]
    PN --> DN["..."]

    D1 --> Synth["Synthesise"]
    D2 --> Synth
    DN --> Synth

    tuff <-->|"cache / persist"| DB[(tuff.db)]

    style CN stroke-dasharray: 5,5;
    style PN stroke-dasharray: 5,5;
    style D1 stroke-dasharray: 5,5;
    style D2 stroke-dasharray: 5,5;
    style DN stroke-dasharray: 5,5;

Features

  • Any step, any function — steps can be LLM API calls, HTTP fetches, pure computation, or anything async. Not just agent calls.
  • Every step is drop + rerunnable — change the logic, clear the step, rerun from that point. Earlier steps stay cached.
  • Queryable mid-run — step results, token usage, and durations land in a local SQLite db as they complete. Ask Claude to query it from your main thread while the pipeline runs in the background.
  • Domain storage — define your own data tables in the same SQLite db alongside Tuff's state tables.
  • Slot-based concurrency — new tasks start when a slot opens. Set limits per stage: fan out high for fetches, throttle back for LLM calls.
  • Token budget — global and per-step limits.
  • Three providers — Anthropic API, OpenAI API, or Claude Code CLI using your subscription.

Get started

Install the skill:

/plugin marketplace add unfamiliar-city/marketplace
/reload-plugins
/plugin install tuff

Then use it:

Claude Code
Opus 4.6 · Claude API
~/Projects/myproject

 > /tuff build me a pipeline to make a million bucks.

Code example

// Pipeline 'my-pipeline', state persisted to ./state/tuff.db
await tuff('my-pipeline', { stateDir: './state' }, async (ctx) => {

  // Resumable step — if this succeeded before, returns cached result instantly
  const data = await ctx.step('fetch', async () => fetchAll());

  // Fan out — one step per item, concurrent within slot limit
  // Each has a unique ID, so on resume only uncompleted ones re-execute
  const results = await Promise.all(
    data.map((item) => ctx.step(item.id, async () => process(item)))
  );

  // Fan in — summarise all results
  return ctx.step('summarise', async () => summarise(results));
});

Status

Alpha.

Claude Code CLI provider — a house of cards on top of undocumented Claude Code internals. As of June 2026, claude -p draws from a separate Agent SDK credit pool (limited monthly allowance, overages billed at full API rates). Use with care.

License

MIT