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

create-rigline-plugin

v1.0.0-alpha.10

Published

Scaffold a workspace for Claude Code VS Code extension plugins

Downloads

1,032

Readme

create-rigline-plugin

Scaffolds a workspace for Rigline plugins — plugins for the Claude Code VS Code extension.

npm create rigline-plugin my-plugins

A plugin runs inside a modification of Anthropic's extension, so the plugin policy applies to it — whether or not you ever publish it. One page, and the scaffolded README points at it too.

What you get

A pnpm workspace with plugins/* and one plugin in it, rather than a single-plugin repository. The multi-plugin shape scaffolds correctly for one plugin and a second is then a directory copy, where a single-plugin template could not grow into a workspace without a restructure.

my-plugins/
  generated.ts              the harvested identifiers, shared by every plugin here
  pnpm-workspace.yaml       with the supply-chain settings written down rather than inherited
  tsconfig.base.json        pulls the root harvest into every plugin's program
  plugins/my-plugin/
    rigline.json            what the plugin declares it needs from the extension
    src/index.ts            the plugin
    src/index.test.ts

Then:

pnpm install
pnpm codegen                # harvest your installed extension, and commit the result
pnpm build
pnpm rigline add plugins/my-plugin

and Developer: Reload Webviews.

The workspace declares @rigline/core — the engine, which carries the rigline-engine command its build and codegen scripts run — and never rigline, which is the layer a user installs to fetch that engine. pnpm rigline <verb> here is a script forwarding to the engine in your own node_modules, so the loop above needs nothing installed globally.

generated.ts ships as a placeholder so a fresh scaffold typechecks before codegen has ever run. Once you run codegen it holds the identifiers your extension version actually has; commit it, and the diff when you run against a newer extension is how you find out what moved.

Why a workspace root at all

The identifiers are harvested once, at the root, and imported by every plugin in the repository, because they all compile against the same installed extension. Module augmentation is per-program, so each plugin's tsconfig has to pull that harvest in — which the shared base config does, and which is the one ordering dependency in the whole arrangement.

Authoring guide

Changelog — every package in this workspace shares it, and one version number.

MIT.