claude-code-scenes
Health Warn
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Warn
- process.env — Environment variable access in build.ts
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
A fun Claude Code CLI with animated themes — prompt it, and it builds you your own!
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, noFunction 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.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found