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

github-instant

v0.1.0

Published

It's like shadcn for gists

Downloads

150

Readme

gitcn

It's like shadcn for gists

Everything installed is tracked in gitcn.json, and I can run gitcn pull to update

If I've made local modifications to the file, there's going to be a merge conflict. It's FY27 and I don't solve merge conflicts manually so lets let claude take over. Claude run gitcn pull

Now claude sees the diff, which is all the changes to upstream since I last pulled, and it can reconcile that for me. Claude will update other files that are affected by this change as well. Good bot

Once it's done it updates the hash in gitcn.json and then I know i'm good to go

Instead of a gist I can actually just point to any file or directory in any github repo. This is like shadcn for github. Now when X is updated, I just run gitcn status and it will tell me if I have any updates to pull to keep all my files in sync.

The skills CLI also just routes to github directories, so you can think of this like shadcn for skills. Agentic best practices change with every new model, now we can keep our agents up to date.

Skills work the same for Claude (.claude/skills/) and Cursor (.cursor/skills/), and the project-vs-user split is just a function of where you run gitcn from. This repo dogfoods that pattern — gitcn.json tracks mattpocock/skills into ./.cursor/skills/, and you can gitcn pull from the root to keep them current. See SPEC.md → Recipes → Skills for the full pattern catalog (selective install, Claude+Cursor dedup, converting skills to auto-attach rules, CI gating).

Publishing curated installs

gitcn consumes the same repository-authored bundles as shadcn GitHub registries. Public repositories can add a root registry.json to publish selected files, configs, rules, docs, templates, and workflows without inventing another catalog format.

Run gitcn add <owner>/<repo> to see a repository's install options. Install a curated bundle with:

gitcn add jacobparis/github/gitcn-skill

The bundle is recorded in gitcn.json, so gitcn status and gitcn pull keep it current. Use gitcn add <owner>/<repo> . when you want the complete repository, or gitcn add <owner>/<repo>/tree/<ref>/<path> for an explicit repository path. The shadcn CLI remains compatible when a consumer wants its one-time component-oriented install workflow.

gitcn also support post-install hooks, so after I install these SVGs, it automatically kicks off a build script that turns them into spritesheets. It's like shadcn for icons

For the community site I had to style some markdown and I wanted it to look like Vercel so I used gitcn to pull the prose styles from vercel/front/apps/next-site/app/styles/global.css#L227. Now any time there's changes there I can say yes or no to whether the community gets them

There's no point in waiting for changes though, it's just as easy to take a commit and gitcn will apply its diffs to your project. it's like shadcn for commits

The feature you want is probably more than one commit, fortunately diffs are diffs so you can also do a whole commit range at once.

That part is nice because you can prompt Cursor or v0 to make a PR, which triggers Vercel agent to review, and then you have a nicely packaged feature you can just apply to your other projects instead of prompting it from scratch. It's like shadcn for pull requests

We have a decade's worth of templates in the Vercel marketplace. If you try to clone one of them, you probably clone all of Vercel since they're just in an examples subdirectory. If you get around that issue you'll install an outdated version of the create-next-app template plus a few extra files that you're actually looking for.

With gitcn you can target specifically the commits after the base template and install only the changes. Then if we update the integration code you can run gitcn pull to get it. This would mean we don't actually have to spend time updating the base template code for hundreds of repositories.

So when David Sentry says all he wants from Vercel is to be able to connect Sentry and quickly integrate it, we can give that to him https://x.com/zeeg/status/2026476106061320645?s=20

People are saying templates are dead and this is why. https://x.com/ImSh4yy/status/1935080017370792214

But there are still good use-cases for templates: Hayden has been migrating all of our docs microsites to geistdocs, our in house fumadocs template. I used gitcn to track the whole fumadocs template. No special command, it's just more files. It's like shadcn for templates

Now every time fumadocs releases new features, geistdocs just has to gitcn pull and it gets all those features. Once geistdocs decides what it wants from fuma, we just go to each microsite and run gitcn pull

Here's the business plan:

  • everything above is free
  • we release a skill and everyone's agents just start to use it

Then we release a github agent that watches your upstreams for changes and makes PRs directly