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

opencode-ricks

v0.1.0

Published

OpenCode plugin that orchestrates multi-model consensus via @ricks.

Readme

ricks

ricks is an OpenCode-native consensus plugin that lets you invoke @ricks to run a multi-model review loop on a single task.

Intro

ricks is inspired by the Council of Ricks from Rick and Morty: multiple independent "Ricks" review the same problem, challenge weak spots, and keep iterating until they align.

Council of Ricks inspiration

In this plugin, that idea becomes a practical harness for OpenCode:

  • The primary model creates the initial answer.
  • Selected reviewer models evaluate it one-by-one.
  • Each reviewer must return either YES (approve as-is) or a fully revised plan.
  • Revisions are passed forward to the next reviewer.
  • The process repeats across rounds until all selected reviewers return YES in the same pass (or round limit is hit).

This project is intentionally OpenCode-only: model discovery, provider access, and auth are delegated to OpenCode.

Key capabilities

  • Invoke with @ricks in normal chat flow.
  • Open setup with @ricks setup.
  • Model toggle list with inline reasoning override per model.
  • Select all / deselect all flows.
  • Persistent project settings in .opencode/ricks.settings.json.
  • Continuous observable progress with a live event timeline (agree/disagree/error, per model, per round).
  • Final stats summary (approvals/revisions/errors + per-model breakdown).
  • Per-round outputs in the final report.
  • Setup markdown prefill so users can edit and submit config in one message.

How consensus works

  1. Initial plan generation
  • Primary model (build agent) produces a full initial plan for the user task.
  1. Sequential reviewer pass
  • For each selected model in order, ricks asks:
  • approve with exactly YES, or
  • provide REASON + full revised PLAN.
  1. Plan handoff
  • If reviewer says YES, plan stays unchanged.
  • If reviewer revises, that revised plan becomes the current plan for the next reviewer.
  1. Round completion
  • If all reviewers returned YES in that round, consensus is reached.
  • Otherwise, next round starts using latest revised plan.
  1. Final output
  • Returns final plan plus summary, stats, timeline, and per-round details.

Install

ricks is published as an npm package: opencode-ricks.

Add it to your OpenCode config:

{
  "plugin": ["opencode-ricks"]
}

Optional: pin a version explicitly:

{
  "plugin": ["[email protected]"]
}

Usage

Run consensus on a task:

Ask @ricks for a rollout plan for migrating our monolith to services.

Open setup:

@ricks setup

Setup shortcuts

@ricks setup select all
@ricks setup deselect all
@ricks setup toggle openai/gpt-5
@ricks setup reasoning openai/gpt-5 high
@ricks setup max rounds 5
@ricks setup strategy normalized
@ricks setup timeout 120000
@ricks setup hide by default on
@ricks setup save as default on

One-shot setup via markdown template

@ricks setup can prefill your input with editable markdown (models/options). Submit it directly to apply all changes at once.

Settings

Stored per project in:

.opencode/ricks.settings.json

Fields include:

  • selectedModels
  • modelVariants (reasoning overrides)
  • maxRetries (internal storage; corresponds to user-facing max rounds - 1)
  • strategy (exact | normalized | json)
  • timeoutMs
  • saveAsDefault
  • hideByDefault
  • initialized

Runtime config (optional)

You can define defaults in opencode.jsonc:

{
  "ricks": {
    "models": ["openai/gpt-5", "anthropic/claude-sonnet-4-5"],
    "strategy": "normalized",
    "maxRounds": 100,
    "timeoutMs": 120000
  }
}

Notes:

  • Current default maxRounds is 100.
  • Setup-managed settings generally drive normal @ricks runs.
  • Only connected/available models are presented in setup and used for execution.

Output shape

A consensus result includes:

  • Final answer
  • Summary (task, rounds, consensus result)
  • Ricks stats
  • Timeline (continuous model events)
  • Per-round outputs (YES/revision/error by model)

Development

npm install
npm run typecheck
npm run build

For local development/testing, load the built plugin directly:

{
  "plugin": ["file:///absolute/path/to/ricks/dist/index.js"]
}

License

MIT