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

@divaltor/academy

v0.6.0

Published

An OpenCode plugin that trains a Tracen Academy roster of specialist coding agents to research, build, and review.

Readme

Academy — Eclipse first, the rest nowhere

Academy

An OpenCode plugin that turns coding agents into a Tracen Academy roster: specialist teammates trained to research, build, review, and win by a nose.

"Eclipse first, the rest nowhere."

  • Rudolf — default primary coding agent, replacing OpenCode's Build agent
  • Agnes — Oracle-style technical advisor
  • Cafe — Librarian-style external researcher
  • Dantsu — Finder-style codebase search specialist
  • Bellno — general code reviewer

Configuration

Add Academy to opencode.jsonc. All options are optional. Omit the version to track latest; append @x.y.z to pin a release:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": [
    {
      "package": "@divaltor/academy",
      "options": {
        "agents": {
          "rudolf": {
            "name": "Emperor",
            "color": "#8994B8",
            "model": "opencode/claude-opus-5#max",
          },
          "cafe": {
            "disabled": true,
          },
        },
        "experimental": {
          "communication": {
            "enabled": true,
            "thread_summary": "opencode-go/glm-5.3-flash",
          },
        },
        "use_fff": true,
      },
    },
  ],
}

Each agent under agents accepts name, color, model, and disabled. Colors may be six-digit hex values or OpenCode theme colors. Model references use provider/model or provider/model#variant. Set disabled to true to hide an agent and prevent new subagent or Academy thread creation while retaining its definition so existing sessions can continue. Disabling Rudolf restores OpenCode's Build agent as the default.

Without a version suffix OpenCode resolves latest on install; run opencode plugin update to pull newer releases.

use_fff replaces OpenCode's built-in glob and grep tools globally with FFF for every agent. Enabled by default; set to false to keep the built-in tools. This requires a platform supported by @ff-labs/fff-bun.

| Agent | Default model | | ------ | ----------------------------- | | Rudolf | OpenCode's configured default | | Agnes | openai/gpt-6-astra#xhigh | | Cafe | openai/gpt-6-sol#none | | Dantsu | openai/gpt-6-luna#high | | Bellno | openai/gpt-6-sol#high |

[!WARNING]

An agent's name is also its session ID. Renaming it can prevent existing sessions from continuing.

Session tools are experimental and off by default; set experimental.communication.enabled to true to enable them. They are available under Code Mode's academy namespace. Only the root primary session can create threads; omit agent for a general coding session.

[!NOTE]

read_thread with a question summarizes via the experimental.communication.thread_summary model, or the calling session's model when unset. Models on opencode-go cannot use stateless generation (the provider requires session routing headers that only a session request carries), so Academy answers through a dedicated Academy summary <model> session via transient session.generate — no transcript writes, but the session stays visible in the session list because the plugin API exposes neither archive nor delete for it.

[!NOTE]

find_thread currently searches Academy-created sessions only and is part of the experimental communication tools. OpenCode's HTTP client can list persisted sessions, but the plugin context does not yet expose ctx.session.list, so Academy cannot safely discover sessions created before the plugin was installed. We are waiting for upstream support rather than reading OpenCode's private SQLite database or connecting back to the server through a separate client.

Tracking: #43517, #44155, #43556, and #46690.

Private GitHub access

Set GITHUB_TOKEN to give Rudolf, Cafe, and Bellno read-only access to private repositories. Use a fine-grained token with read-only Contents, Issues, and Pull requests permissions:

export GITHUB_TOKEN="github_pat_..."
opencode

Keep the token out of opencode.jsonc and repository files.

Contributing

See CONTRIBUTING.md for local development, pull requests, and publishing releases.

License

MIT