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-ralph-loop

v0.1.3

Published

Pi extension that reruns a prompt from a clean session checkpoint for bounded Ralph loops.

Downloads

383

Readme

Ralph Loop

Ralph Loop is a Pi extension that repeats a prompt from a clean session checkpoint. It is useful when you want several independent attempts at the same task without carrying forward each previous attempt's active branch context.

Features

  • Adds a /loop <prompt> command.
  • Runs up to 10 total iterations per loop.
  • Creates a hidden session checkpoint before the first iteration.
  • After each agent run, navigates back to that checkpoint with summarize: false, clears the editor, and sends the prompt again.
  • Calling /loop while a loop is active requests a graceful stop after the current run finishes.
  • Refuses to start, or stops before the next reset/iteration, if Pi has queued messages that would otherwise race the loop.
  • Stops automatically on session shutdown.

Install

After publication:

pi install npm:pi-ralph-loop

For local development from this checkout:

pi -e ./extensions/index.ts

Or create .pi/settings.json in this checkout for project-local loading:

{
  "packages": [".."]
}

Usage

/loop Improve the current implementation and run tests

To stop an active loop, run /loop again. The extension will finish the current agent run, clear the Ralph Loop status, and stop without queuing another prompt.

Safety notes

Pi extensions run with your local Pi permissions. Ralph Loop can automatically send the same prompt multiple times, so install it only in projects where repeated agent runs are expected and review the prompt before starting a loop.

Behavior notes

  • The 10-iteration cap is intentional to prevent accidental infinite loops.
  • Each loop stores a ralph-loop-checkpoint custom session entry. Custom entries do not participate in LLM context, but they give the extension an exact tree navigation target.
  • Ralph Loop uses Pi session tree navigation, so previous attempts remain available in session history even though the active context is reset between iterations.
  • If checkpoint creation, scheduling, idle waiting, prompt sending, or context reset fails, Ralph Loop clears its status and reports the failure instead of leaving a stale active loop.

Development

npm run verify

npm run verify runs the test, lint, and typecheck suites. The package also runs this verification automatically before npm pack/publish via prepack.