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

tokiwa

v0.2.0

Published

Grow a pixel garden from your Claude Code token usage

Readme

Tokiwa

npm node license

Turn your Claude Code token usage into a pixel garden that grows one plant a day, living in your taskbar.

The share card Tokiwa exports: a 35-day isometric pixel garden, 28 plants, one rare bloom

Tokiwa (常盤) — evergreen. A garden that never dies back.

Every day you code with AI, something grows. A quiet day sprouts a seedling; a long one grows an oak. A day off leaves a couple of pebbles resting in the soil — no gap in a grid, no broken streak, no gray square. Nothing here punishes you for taking a break.

No dashboard, no charts, no streak guilt. The whole thing is one small window you glance at.

Try it

One command. Nothing to install, nothing to configure:

npx tokiwa

It reads the usage Claude Code has already recorded on your machine and draws your garden right in the terminal. If you have been using Claude Code for a while, you get a full garden on the first run — not an empty one — because your last 30 days of history are already sitting there.

Needs Node 20+. Works on macOS, Linux and Windows. Zero dependencies.

Windows PowerShell: if that fails with "npx.ps1 cannot be loaded because running scripts is disabled", run npx.cmd tokiwa instead. PowerShell blocks .ps1 scripts by default and npm ships its launcher as one; the .cmd launcher is not affected. Nothing needs to be changed, and there is no reason to loosen your execution policy for this.

Everything the command does

npx tokiwa                 # the garden
npx tokiwa today           # one line about today
npx tokiwa sources         # which AI tools were found, and what each contributed
npx tokiwa export          # write the share card at the top of this page as a PNG

| Option | | |---|---| | --theme night | the dark palette | | --classic | GitHub-style green squares instead of plants | | --days N | how many days to show (default 35) | | --out FILE | where export writes the PNG | | --no-color | plain text, for terminals without truecolor |

Options work on their own too — npx tokiwa --theme night --days 7.

Keep it on your desktop

The widget is a small always-there window instead of a command you have to remember to run. Also one command:

npx tokiwa widget

Since it is meant to stay around, installing it is usually nicer than fetching it every time:

npm install -g tokiwa
tokiwa widget            # open it
tokiwa autostart on      # and have it there every morning

A 360x520 window: today's plant up top, the last 35 days below it, and a few controls.

The nice part: the taskbar icon is today's plant. It redraws itself as your day grows, so minimizing the window leaves a seedling — or an oak — sitting in your taskbar. Hovering it tells you which (Tokiwa · today: Oak).

  • Classic switches to the green squares, for when you want the boring view
  • Share exports the card, 1200x630, ready to post
  • The moon toggle in the corner switches to the night theme

The widget needs Chrome or Edge — it borrows one to draw the window, rather than shipping a browser of its own. tokiwa autostart currently wires up the Windows Startup folder; on macOS and Linux, point a launchd agent or an autostart .desktop file at tokiwa widget.

Or from a clone

If you want to change it rather than just run it:

git clone https://github.com/GJH1203/tokiwa.git
cd tokiwa && npm install
npm run widget

A clone needs Node 22.18+ rather than 20, because the repo runs TypeScript directly with no build step and that is a newer Node feature. The published package is plain JavaScript, so it does not care.

What the plants mean

Each day becomes one plant. How big it gets depends on how much you used, measured against your own history — not a fixed threshold:

| Plant | What it means | |---|---| | Bare | nothing that day — a couple of pebbles, and that is all | | Sprout | a light day | | Flower | an ordinary day | | Bush | a heavy day | | Oak | a top-20% day for you |

Because the cutoffs come from your own last 90 active days, the garden always has variety. A heavy user does not max out every day, and a light user does not stare at bare soil forever. Before you have two weeks of history, built-in defaults fill in.

Stardust Bloom is the rare one: a personal 90-day peak that also clears 1.5x your median. It cannot appear until you have 20 days of history, so your first week is not a parade of trophies.

Hovering a plant tells you the date, roughly how much that day held, and which project took most of it.

A day runs 04:00 to 04:00, not midnight to midnight — coding until 2am counts toward the day you started, not the one you stumbled into.

Your data stays on your machine

Tokiwa reads the transcripts Claude Code already writes to ~/.claude/projects, and keeps its own running totals in ~/.tokiwa/garden.json. Nothing is uploaded, and there is no account, no server, and no telemetry. The share card is a PNG written to disk; posting it is up to you.

Keeping its own file matters for a reason you would otherwise discover the hard way: Claude Code deletes its own transcripts after 30 days. Tokiwa's rollup is append-only, so your garden keeps growing past the point where the original data is gone — but only for days it was installed to see. It cannot recover history from before you started.

What it keeps per day: token counts, model names, an hour-by-hour breakdown, and the working directory of each project you used (shortened to the folder name when displayed). Your prompts and Claude's replies are never read into it — the parser looks at usage numbers and skips everything else. ~/.tokiwa/garden.json is plain JSON if you want to see for yourself.

Notes

Platform. The terminal garden runs anywhere Node does. The widget looks for Chrome, Edge, Brave or Chromium in the usual places on Windows, macOS and Linux; if yours is somewhere unusual, point TOKIWA_BROWSER at it, and if none is found the widget still serves the page and prints the address. Only tokiwa autostart is Windows-only so far — everywhere else, point a launchd agent or an autostart .desktop file at tokiwa widget.

Only Windows has been tested. The macOS and Linux browser paths are the standard install locations, but nobody has run them yet — if one is wrong, that is a one-line fix and an issue is welcome.

No Claude Code yet? Tokiwa has nothing to read, and says so rather than failing. Come back after a day of using it.

A real tray icon (rather than a taskbar one) is built and compiles, but it needs a native binary that Windows Smart App Control blocks unless you turn that off — which cannot be undone without reinstalling Windows. So the browser-window form is the one that ships. If you have Rust and MSVC and have made your own decision about Smart App Control, a clone can build it: npm run tray.

Other tools. Codex CLI support is wired up but has never run against a real install, so it is marked experimental and contributes nothing unless Codex is present. npx tokiwa sources shows what was actually found.

License

MIT