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

claudosaurus

v0.10.0

Published

Turn the Claude Code 'thinking' spinner into a playable, monochrome Chrome-style dinosaur game.

Readme

Claudosaurus 🦖

Claudosaurus Gameplay

Turn Claude Code's idle wait into play time. While Claude is working, the "thinking" spinner in the chat panel becomes a playable, monochrome, Chrome-style dinosaur game — drawn in your editor's own spinner colour so it matches the theme.

This patches the Claude Code extension webview (the chat panel UI) in any editor that ships it (Antigravity, VS Code, VS Code Insiders, Cursor, Windsurf). It is a lightweight, zero-dependency tool.

Note: This patches your local Claude Code extension's webview/index.js. A backup (.claudosaurus-bak) is created automatically, so uninstalling restores the original exactly.


Features

  • Hand-drawn monochrome art — T-Rex, cacti, pterodactyl and cloud are pixel bitmaps drawn in your editor's sampled spinner colour, so the game stays strictly monochrome and theme-matched. No image assets — nothing to load, no CSP surface.
  • Pause, don't reset — when Claude stops mid-turn (a permission prompt, a popup stealing focus, a gap between tool calls) the game freezes and keeps your score, then resumes the same run.
  • Obstacles — cacti, plus pterodactyls past a score threshold. High birds fly over a grounded dino (so sometimes the right move is to do nothing); low/mid birds must be jumped.
  • In-game settings — click ⚙ settings (top-left of the game) for a panel with theme, speed/jump presets, fine-tune sliders, sound, day/night cycle, clouds, birds and free-play. Everything persists locally.
  • Lifetime stats — games played, jumps, and total distance.

Controls

  • Jump / Start / Restart: Space, , or left-click / tap on the game.
  • Settings: press ? to toggle; Esc to close.

Installation

Option 1: npm (recommended)

Run it directly with npx (no clone needed):

npx claudosaurus

Or install globally:

npm install -g claudosaurus
claudosaurus

Option 2: local clone (for edits & development)

git clone https://github.com/animeshlego5/Claudosaurus.git
cd Claudosaurus
node cli.js install

After installing, reload your editor window (Command Palette → Developer: Reload Window) to apply the patch.


Commands

These work with both claudosaurus (npm) and node cli.js (clone):

| Command | What it does | | --- | --- | | claudosaurus / install | Patch the newest Claude Code extension found | | claudosaurus uninstall | Restore the original bundle from backup | | claudosaurus status | Show which editors are found, and whether each is patched (and with which version) |

Options: --all (apply to every editor copy found), --dry-run (preview, change nothing).

The patch is replaced whenever the Claude Code extension updates — just run claudosaurus again. claudosaurus status will flag a patch that's older than the installed CLI version.


Customising the game

The quickest way is the in-game settings panel (press ?). Everything there also has a console API on window.__claudosaurus (open the webview devtools):

// Presets
__claudosaurus.setSpeed("slow" | "normal" | "fast")
__claudosaurus.setJump("floaty" | "normal" | "snappy")
__claudosaurus.setTheme("auto" | "day" | "night")

// Toggles
__claudosaurus.setScanlines(true)
__claudosaurus.setSound(true)
__claudosaurus.setDayNight(true)        // invert the scene every cycleScore points
__claudosaurus.setAlwaysOn(true)        // free play even when Claude is idle

// Fine-tune any individual knob (persists, applies live)
__claudosaurus.setOptions({ startSpeed: 6, maxSpeed: 16, acceleration: 0.003,
                            gravity: 0.6, jumpVelocity: -9, birdMinScore: 100,
                            clouds: true, enableBirds: true })

// Stats & reset
__claudosaurus.stats()                  // { games, jumps, distance }
__claudosaurus.resetOptions()           // back to defaults

To change the shipped defaults in a fork, edit the CONFIG block and the TUNABLES/preset tables at the top of ide-payload.js, then re-patch (node cli.js install) and reload.


Troubleshooting

The dino doesn't appear. Reload the editor window after patching. If it still doesn't show, open the webview devtools console and run __claudosaurus.diagnose() — it prints what the detector sees (matching rows, busy state, etc.).

Space / ↑ / ? don't work. The chat input holds the keyboard, so keys only reach the game once it has focus — click the game once, then Space, ↑ and ? work. (Mouse/tap always works.)

An extension update broke detection. Re-run claudosaurus to re-apply the patch to the new version. If detection is still off because the extension changed its markup, you can self-heal without editing code:

__claudosaurus.setSelectors({ spinnerRow: '[class*="spinnerRow"]', busyContent: '...' })
__claudosaurus.resetSelectors()   // undo

Development & offline testing

Standalone browser harness — play and develop with zero API tokens:

# Windows: start game.html   ·   macOS: open game.html   ·   Linux: xdg-open game.html

It loads the exact ide-payload.js that gets injected and simulates the spinner row, with buttons to spawn/clear the spinner, fake a permission prompt, and toggle options.

Live editor spinner test — keep a real spinner up indefinitely:

node hang-server.js                          # a "black hole" server on :8787
ANTHROPIC_BASE_URL=http://localhost:8787 code .

Tests — zero-dependency node:test suite covering the patch pipeline and locator:

npm test

Credits & license

Claudosaurus is MIT licensed — see LICENSE. All game art is original hand-drawn pixel bitmaps; no third-party assets are embedded.