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

@sureshsankaran/ralph-wiggum

v0.3.0

Published

Ralph Wiggum plugin for OpenCode - iterative, self-referential AI development loops

Readme

Ralph Wiggum Plugin for OpenCode

Implements the Ralph Wiggum technique for iterative, self-referential AI development loops.

Based on: https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum

Usage

ralph-loop "Your task here" --max 8 --promise "DONE"
ralph-loop "Your task here" --max 8 --promise "DONE" --state-file /custom/path.json
ralph-loop "Your task here" --no-state  # Disable state file

How It Works

The loop will:

  1. Execute the prompt
  2. Continue iterating until max iterations OR completion promise is found
  3. Feed the SAME original prompt back each iteration
  4. Show iteration count in system message
  5. Write state to ~/.config/opencode/state/ralph-wiggum.json (or custom path) for verification

Review System

The plugin includes a review system with three phases:

  • working: Initial phase where the task is executed
  • review: After completion, changes are reviewed for quality
  • fix: If issues are found, fixes are applied before re-review

State File

The state file includes:

  • sessionID: Current session identifier
  • active: Whether the loop is running
  • prompt: The original prompt
  • iterations: Current iteration count
  • max: Maximum iterations allowed
  • status: Current status (running, completed, cancelled, max_reached, approved, max_reviews_reached)
  • phase: Current phase (working, review, fix)
  • reviewCount: Number of review cycles
  • maxReviews: Maximum review cycles allowed (default: 5)

Environment Variables

OPENCODE_SKIP_LOCAL_RALPH

Set this environment variable to skip loading the local plugin version. This is useful when:

  • You have the plugin symlinked locally for development
  • But want to use a global plugin version on certain machines
# Add to ~/.zshrc or ~/.bashrc
export OPENCODE_SKIP_LOCAL_RALPH=1

When set, the local plugin will be skipped, allowing the global plugin to take precedence.

Development

When developing this plugin locally, you can symlink it into your project's .opencode/plugins/ directory:

ln -s ../../../../ralph-wiggum/src/index.ts .opencode/plugins/ralph-wiggum.ts

This allows changes to the plugin source to be immediately available without copying files.