Claude Modsunofficial directory

While you wait·terminal · desktop·MIT

dopa-mode

Fireworks for keystrokes, tool calls, commits and green tests, plus context meters.

dopa-mode fireworks above the Claude Code prompt while Claude runs a typecheck, with HP and STAMINA meters
Images from the dopa-mode repository, MIT license

dopa-mode turns what you and Claude do into braille fireworks above the Claude Code prompt: every character you type, every tool call, every commit, push and passing test. Below the sky sit meters for the context and plan limit you have left. It never calls a model, so it costs zero tokens. The author styles it DOPA MODE, short for dopamine.

What it does

The shells are modeled on Japanese fireworks (peony, chrysanthemum, gold willow, crossette), and the big moments spell a word in sparks. Only one word hangs in the sky at a time, with clear space around it so it reads.

  • Your typing. Each character is a HIT that fires a small shell somewhere new in the sky. 10HIT, 25HIT, 50HIT, 100HIT and every hundred after go up as words. A paste shows its length (PASTE 308), and Enter sends up GO!, bigger for a longer prompt.
  • Claude’s work. Each tool call fires a shell colored by the turn’s count. 5HIT to 30HIT spell out, and 50HIT sets off a starmine. When the turn ends, the sky shows how many files Claude edited, or DONE. A subagent still working after the turn keeps firing small shells.
  • Milestones. COMMIT, PUSH, PR #42 and MERGED. 3/5 as Claude ticks off its task list. PASS when tests go from red to green, +4 TESTS when the suite grows, -12 ERRORS (down to 0 ERRORS) when a rerun of the exact same type check or linter finds fewer errors, and WIN when every pull request check passes.
  • Your answers. YES, NO or OK when you answer a permission prompt or a question, all drawn alike so no answer looks favored.
  • Sound. Pachinko-style: a chime as each word forms, a cascade of balls when XP pays out, an 8-bit bleep for every keystroke and tool call. macOS only.

/dopa fireworks spells DOPA any time. The repository’s preview image shows that show:

DOPA spelled in rainbow braille fireworks above dopa-mode's level, HP and STAMINA rows, from the repo's preview image

Under the sky, two rows of meters:

  • HP is the context left, the same figure the status line shows. It turns yellow, then red. A WARNING toast comes at 85% used and DANGER at 95%, and a Compact now button appears while HP is low.
  • STAMINA is what remains of the tighter of your 5-hour and weekly plan limits, with the time until it refills. Subscription plans only.
  • GOLD is the session cost at API prices, as /cost totals it, so on a subscription it is not your bill. LOOT counts the files edited with Edit, Write or NotebookEdit; shell edits are not counted.
  • TESTS and CI show the last test run and the pull request checks, and YOUR TURN pops up when Claude stops for your permission.

The spinner line turns rainbow and names what Claude is touching (EDIT signup.ts, BASH npm test), with the HIT count and the elapsed time.

Finished turns, commits and pull requests pay XP, with ranks from 10 KYU through 9 DAN to MEIJIN. There are 15 trophies (/dopa trophies), a daily command card drawn from your installed commands (/dopa daily, with /dopa dex listing the ones you have not tried), focus and break timers (/dopa focus, 25 minutes by default; /dopa break, 5) and /dopa recap, a session summary of files, tools, tokens and limits that /dopa recap copy puts on the clipboard.

Test summaries are read from Jest, Vitest, Mocha, pytest, unittest, Maven, Gradle, cargo, go test, RSpec, PHPUnit, .NET, Deno and Bun; error counts from tsc, eslint, ruff, mypy, pyright, cargo and javac.

Install

Needs Claude Code 2.1.287 or later. Sound plays only on macOS, and /dopa boss needs the gh CLI.

claude plugin marketplace add charimsma/dopa-mode
claude plugin install dopa-mode@dopa-mode

Type /dopa fireworks for a first show and /dopa help for every command.

Turning it down

Each switch is saved and survives restarts.

  • /dopa fireworks off closes the sky and keeps the meters.
  • /dopa typing off stops the typing reactions: HITs, keystroke shells and GO!.
  • /dopa sfx off, or /dopa mute, silences it.
  • /dopa spinner off restores the stock spinner, /dopa meters off hides the meter rows, and /dopa alerts off stops the warnings and YOUR TURN.
  • /dopa off pauses everything until /dopa on.
  • /dopa reset confirm starts over from LV 1 and erases your trophies.

How it works

Every hook hands Claude Code’s events on unchanged: no prompt, tool result or transcript entry is edited, and Claude sees what it would see without the mod.

  • Prompt box. prompt.edit and prompt.submit pass it your draft, but it uses only the length, to count HITs and size GO!. The text is not stored, logged or sent.
  • Tool calls. tool.call reads each call’s input to label the spinner: a file name, the first line of a shell command, a search pattern or a web host. For Bash and PowerShell calls it also reads the command and what it printed, looking for test summaries, error counts, git commit, git push, gh pr create, gh pr merge and gh pr checks. Commands sent to the background or interrupted are skipped.
  • Permission prompts. classic.PermissionRequest is noted only to match your answer to YES or NO when the call comes back. The hook decides nothing.
  • Meters come from Claude Code’s own usage figures, the ones session.measure reports.
  • One process. /dopa boss runs gh pr checks --json name,bucket once, with a 20-second timeout. Nothing else starts a process, makes a network request or calls a model. Compact now compacts only when you press it.
  • Storage. Claude Code’s plugin store on your machine holds your level, XP, streaks, commit, push and pull request counts, settings, trophies, and the names of the slash commands you have run, for the dex and the daily card. The per-session figures behind /dopa recap stay in memory.

Limitations

  • Sound plays through Claude Code’s audio, which works only on macOS. Linux and Windows terminals stay silent.
  • On Windows, the author recommends Windows Terminal with a PowerShell or Git Bash tab; PowerShell commands are read like Bash ones.
  • In VS Code, start claude in the integrated terminal: the Claude Code extension’s own panel shows no fireworks.
  • In the Desktop app’s Code tab, the author lists the meters, alerts, timers and fireworks, drawn there as SVG. The rainbow spinner is terminal-only; Desktop adds the HIT count to the stock one.

Similar Claude Mods

The whole directory →