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

@tmustier/pi-ralph-wiggum

v0.1.3

Published

Long-running agent loops for iterative development in Pi.

Readme

Ralph Wiggum Extension

Long-running agent loops for iterative development. Best for long-running-tasks that are verifiable. Builds on Geoffrey Huntley's ralph-loop for Claude Code and adapts it for Pi. This one is cool because:

  • You can ask Pi and it will set up and run the loop all by itself in-session. If you prefer, it can also invoke another Pi via tmux
  • You can have multiple parallel loops at once in the same repo (unlike OG ralph-wiggum)
  • You can ask Pi to self-reflect at regular intervals so it doesn't mindlessly grind through wrong instructions (optional)

Note: This is a flat version without subagents, similar to the Anthropic plugins implementation.

Install

pi install npm:@tmustier/pi-ralph-wiggum
pi install git:github.com/tmustier/pi-extensions

Then filter to just this extension in ~/.pi/agent/settings.json:

{
  "packages": [
    {
      "source": "git:github.com/tmustier/pi-extensions",
      "extensions": ["ralph-wiggum/index.ts"],
      "skills": ["ralph-wiggum/SKILL.md"]
    }
  ]
}

Recommended usage: just ask Pi

You ask Pi to set up a ralph-wiggum loop.

  • Pi sets up .ralph/<name>.md with goals and a checklist (like a list of features to build, errors to check, or files to refactor)
  • You let Pi know:
    1. What the task is and completion / tests to run
    2. How many items to process per iteration
    3. How often to commit
    4. (optionally) After how many items it should take a step back and self-reflect
  • Pi runs ralph_start, beginning iteration 1.
    • It gets a prompt telling it to work on the task, update the task file, and call ralph_done when it finishes that iteration
    • When the iteration is done, it calls ralph_done, resending the same prompt*
  • Pi runs until either:
    • All tasks are done (Pi sends <promise>COMPLETE</promise>)
    • Max iterations (default 50)
    • You hit esc (pausing the loop) If you hit esc, you can run /ralph-stop to clear the loop. Alternatively, just tell Pi to continue to keep going.

Commands

| Command | Description | |---------|-------------| | /ralph start <name\|path> | Start a new loop | | /ralph resume <name> | Resume a paused loop | | /ralph stop | Pause current loop | | /ralph-stop | Stop active loop (idle only) | | /ralph status | Show all loops | | /ralph list --archived | Show archived loops | | /ralph archive <name> | Move loop to archive | | /ralph clean [--all] | Clean completed loops | | /ralph cancel <name> | Delete a loop | | /ralph nuke [--yes] | Delete all .ralph data |

Options for start

| Option | Description | |--------|-------------| | --max-iterations N | Stop after N iterations (default 50) | | --items-per-iteration N | Suggest N items per turn (prompt hint) | | --reflect-every N | Reflect every N iterations |

Agent Tool

The agent can self-start loops using ralph_start:

ralph_start({
  name: "refactor-auth",
  taskContent: "# Task\n\n## Checklist\n- [ ] Item 1",
  maxIterations: 50,
  itemsPerIteration: 3,
  reflectEvery: 10
})

Credits

Based on Geoffrey Huntley's Ralph Wiggum approach for long-running agent tasks.

Changelog

See CHANGELOG.md.