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

claude-code-scenes

v0.2.4

Published

Animated themes for the Claude Code terminal — describe a vibe and the model designs the animation

Readme

A fun Claude Code CLI with animated themes — prompt it, and it builds you your own!


Install

npm i -g claude-code-scenes
ccs

Then /theme to pick one, or /theme create "a vibe" to design your own.

The three starters

Three ship with it. Everything else you prompt for.

matrix · rain

Phosphor-green terminal. One hue with discipline.

sakura · petals

A cherry-blossom night. Sakura pink leads, honey pays the bills.

winter · snowfall

Snow past a lantern-lit yard. Icy blue leads, one warm ember.

Designing one

Two ways in. If you already know the vibe, say it outright:

/theme create "cyberpunk thunderstorm"

If you would rather look first, open the picker and take the tile at the top — that is the flow in the demo above:

/theme          →  ✦ Create your own  →  describe it

Both land in the same place. One generation, then a loop. You get two views of the draft — the backdrop animating at full size, and a scripted session exercising about fifteen colour slots — and either accepts a change in plain language: "slower", "add drifting embers", "calmer warnings". Refinements return a delta, so anything you did not mention stays as it was, and you can undo. Nothing is written to disk until you keep it.

Notes

Animations need the alternate screen buffer, which is on by default. If you prefer inline rendering, /tui off turns it off permanently — themes still apply their colours, they just stop moving.

Theme files are meant to be shared, so nothing in one is ever executed. Shader expressions go through a hand-written lexer and parser — no eval, no Function constructor, no property access — under hard caps, with a fuzz test. Details in docs/features/theme-scenes.md.

Installing runs nothing. No postinstall, no lifecycle scripts of any kind, and no network beyond the registry itself. The ripgrep binaries the search tools need travel inside the package — all six platforms — rather than being fetched on your machine, so an install works offline, behind a firewall, and under --ignore-scripts. It costs about 13 MB.

Building from source

Needs Bun ≥ 1.3.11.

bun install
bun run vendor:ripgrep   # fetch rg for this machine — the search tools need it
bun run hooks            # pre-commit formatting, once per clone
bun run dev              # run it
bun run precheck         # typecheck + lint + test
bun run capture:scenes   # regenerate the scene assets from the engine

Where your data goes

Short version: to your model provider, and nowhere else. This project runs no servers, has no account, and collects nothing for itself.

  • Your prompts, code and conversations go to whichever provider you have configured — Anthropic by default, or OpenAI, Gemini, Grok, Bedrock or Vertex if you set one up. That traffic is between you and them, under their terms. It is not proxied through anything belonging to this project, and no copy is kept anywhere.

  • Themes never leave your machine. They are ordinary JSON files on disk. Designing one sends your description — "winter vibe, snowfall" — to the same provider that answers your prompts, and nothing else.

  • Off until you turn them on: crash reporting (needs SENTRY_DSN), web search, and artifact publishing (needs a host you choose). None has a default destination.

  • Installing reaches nothing but the registry. There are no install scripts, so nothing runs on your machine and nothing is fetched from anywhere else — the ripgrep binaries the search tools need are already in the package.

  • No feature-flag calls. Upstream's client fetched configuration at every startup, carrying a device id and your account identifiers. It is off here unless you point it at a server of your own.

What this is, and what it is not

A fork of claude-code-best/claude-code — an independent reverse-engineered reproduction of Claude Code, not Anthropic's official distribution — that adds one thing: animations that paint behind your conversation, and a way to invent new ones by describing what you want. The animation lives entirely in the theme's JSON file, so no code ships for it. That is what lets a binary you installed from npm produce an animation nobody wrote into it.

Not affiliated with, endorsed by, or sponsored by Anthropic. "Claude", "Claude Code" and "Anthropic" belong to Anthropic PBC, and all rights in Claude Code and the Claude models are theirs. If you want the supported, official tool, use Anthropic's Claude Code.

The animated-theme work is what this fork adds; it is MIT-licensed under LICENSE-SCENES, scoped by explicit path list. There is deliberately no repository-wide licence — the reasoning is in NOTICE.md, which you should read before forking or redistributing.

Provided as-is, with no warranty.