Claude Code に花火を。 打鍵もツールの呼び出しも、コミットも通ったテストも、入力欄の上で点字の花火になって打ち上がります。見ておくべき数字も、いつも目の届くところに出ています。
Fireworks for Claude Code. Every keystroke, tool call, commit and passing test goes up in braille fireworks above the prompt, and the numbers worth watching stay in view.
実機の Claude Code(Windows)で録画し、2 倍速にしています。サブエージェントを待つだけの 35 秒は切りました。Windows では DOPA MODE の音が鳴らないため、音はありません。動画
Recorded in a real Claude Code session on Windows and sped up 2x; 35 seconds of waiting on a subagent were cut. No sound, because DOPA MODE is silent on Windows. Video
DOPA は dopamine(ドーパミン)の略です。
DOPA is short for dopamine.
DOPA MODE は Claude Code の mod です。Claude Code の中に描かれ、あなたと Claude のすることに反応します。
DOPA MODE is a Claude Code mod: it draws inside Claude Code and reacts to what you and Claude do.
見ているだけです。プロンプトを書き換えず、勝手に何かを実行することもありません。モデルも呼ばないので、トークンを使いません。
It only watches. It never edits your prompts or runs anything on its own, and since it never calls a model, it costs no tokens.
Claude Code で、次の 3 行を 1 行ずつ入力します。
In Claude Code, enter these three lines one at a time:
/plugin marketplace add charimsma/dopa-mode
/plugin install dopa-mode@dopa-mode
/reload-plugins
Claude Code 2.1.287 以降が必要です。
Needs Claude Code 2.1.287 or later.
最初のショーは /dopa fireworks で、ほかのことは /dopa help で確かめられます。
Type /dopa fireworks for your first show and /dopa help for everything else.
花火は入力欄の上の枠に囲まれた空に点字のドットで描かれ、音も付きます。
Fireworks are drawn in braille dots across a framed sky above the prompt box, and they come with sound.
玉は日本の花火がもとです。牡丹、菊、星の色が途中で変わる八重芯、分砲、金色に垂れる冠菊、火花で文字を描く型物があり、まわりを噴出花火、金粉、ナイアガラが彩ります。
The shells are modeled on Japanese fireworks: a peony (botan), a chrysanthemum (kiku), a double chrysanthemum (yae-shin) whose stars change color midway, a crossette (bunpo), a gold willow (kamuro) and words spelled in sparks (kata-mono), with ground fountains, gold glitter and a niagara around them.
| いつ When |
空に上がるもの In the sky |
|---|---|
| 入力したとき You type |
1 文字ごとに 1 HIT。打つたびに噴出花火が空のどこかへ飛び移って玉を上げ、10HIT・25HIT・50HIT・100HIT、その先は 100 ごとに文字花火になります。段階が上がるほど激しくなります Every character you type is a HIT: a fountain leaps to a new spot in the sky and fires a shell, then 10HIT, 25HIT, 50HIT, 100HIT and every 100 after that go up in sparks, each tier wilder than the last |
| 貼り付けたとき You paste |
貼り付けた文字数: PASTE 308 How many characters you pasted: PASTE 308 |
| Enter を押したとき You press Enter |
GO!。長いプロンプトほど大きく上がります GO!, bigger for a longer prompt |
| Claude が作業しているとき Claude works |
ツールを 1 回使うごとに HIT 数の色の玉が上がり、5HIT から 30HIT で文字花火、50HIT でスターマインになります A shell for every tool call, colored by the HIT count, then 5HIT to 30HIT in sparks and a full starmine (a rapid-fire barrage) at 50HIT |
| 許可の確認や質問に答えたとき You answer a permission prompt or a question |
YES・NO・OK。どの答えも同じ見た目なので、どれかに誘導しません YES, NO or OK, all drawn alike, so no answer is favored |
| ターンが終わったとき A turn finishes |
Claude がしたこと: 3 FILES か DONE。そのターンの HIT 数が多いほど空が大きくなります What Claude did: 3 FILES or DONE, in a sky that grows with the turn's HIT count |
| Claude がコミット、プッシュ、PR の作成やマージをしたとき Claude commits, pushes, opens a pull request or merges one |
COMMIT / PUSH / フラッシュを浴びる PR #42 / MERGED COMMIT / PUSH / PR #42 under camera flashes / MERGED |
| Claude がタスクを 1 つ終えたとき Claude finishes a task on its list |
3/5。最後の 1 つはフィナーレになります 3/5, with the last one as a finale |
| ターンが終わってもサブエージェントが動き続け、やがて終わったとき A subagent keeps working after the turn ends, then finishes |
ツールを使うたびに小玉、終わったときにもう 1 つ A small shell for each tool call it makes, and one more when it finishes |
| 同じ型チェックや lint をもう一度実行して、エラーが減ったとき A rerun of the same type check or lint finds fewer errors |
-12 ERRORS、ゼロになると 0 ERRORS -12 ERRORS, and 0 ERRORS once they are all gone |
| テストが赤から緑に戻ったとき、テストが増えたとき Tests go from red to green, or the suite grows |
PASS / +4 TESTS |
| CI がすべて通ったとき CI goes all green |
WIN |
| compact でコンテキストが空いたとき、プランの上限が回復したとき Compacting frees up context, or your plan limit resets |
HEAL / REFILL |
| レベルが上がったとき、トロフィーを取ったとき、集中タイマーを終えたとき You level up, earn a trophy or finish a focus session |
LV10 / GET! / DONE |
文字花火は一度に 1 つだけで、読めるように周りには他の花火を描きません。
Only one word hangs in the sky at a time, and the sky around it is kept clear so it reads.
大事な言葉は空にある言葉が読まれてから割り込むので、1 つのコマンドから出た YES、COMMIT、PUSH も順番に上がります。ほかの言葉は少し待ちます。
Important words cut in as soon as the word already in the sky has been read, so YES, COMMIT and PUSH from a single command still go up in turn. Other words wait a moment.
音はパチンコ風です。文字ができるときにキュイン、XP が出るときにジャラジャラ、打鍵とツールの呼び出しのたびに 8 ビットのピッ。
It all sounds like pachinko: a kyuin as each word forms, a cascade of balls when XP pays out, and an 8-bit bleep for every keystroke and tool call.
/dopa fireworks で、いつでも DOPA の文字花火を上げられます。
/dopa fireworks spells DOPA any time.
- HP はコンテキストの残りです。減るにつれて黄色から赤に変わり、85% 使うと WARNING、95% で DANGER が出ます。残りが少なくなると Compact now ボタンも出ます。
HP is the context you have left. It turns yellow, then red, as it drains. WARNING pops up when 85% of the context is used, and DANGER at 95%. When HP runs low, a Compact now button appears. - STAMINA は 5 時間枠と週の枠のうち、厳しいほうの残りです。回復までの時間も出ます。
STAMINA is what's left of your plan limit (the 5-hour or weekly one, whichever is tighter), with the time until it refills. - GOLD はこのセッションの費用、LOOT は編集したファイルの数です。TESTS と CI には、直近のテストと PR のチェックの結果が出ます。
GOLD is the session cost and LOOT the files edited. TESTS and CI show the last test run and the pull request checks. - Claude が許可を待って止まると、YOUR TURN で知らせます。作業中は目を離していて大丈夫です。
When Claude stops to wait for your permission, YOUR TURN lets you know, so you can look away while it works. - 入力中は、HIT のバッジが GOOD、GREAT、EXCELLENT、FEVER、RAINBOW と上がっていきます。
While you type, a HIT badge climbs through GOOD, GREAT, EXCELLENT, FEVER and RAINBOW. - ターンを終えるたび、コミットや PR のたびに XP がたまります。段位は 10 KYU から 9 DAN を経て MEIJIN まで。
Finished turns, commits and pull requests pay XP. Ranks run from 10 KYU through 9 DAN to MEIJIN.
- Claude がテストを実行すると、その結果の要約を読みます。対応しているのは Jest、Vitest、Mocha、pytest、unittest、Maven、Gradle、cargo、go test、RSpec、PHPUnit、.NET、Deno、Bun です。
It reads the summary whenever Claude runs tests. Supported runners: Jest, Vitest, Mocha, pytest, unittest, Maven, Gradle, cargo, go test, RSpec, PHPUnit, .NET, Deno and Bun. gh pr checksの出力も読みます。終わっていないチェックが BOSS の HP で、全部通るとボスが倒れます。gh pr checksを自分で実行するのは、/dopa bossを打ったときの 1 回だけです。
It also readsgh pr checksoutput: pending checks are the BOSS's HP, and the boss falls when every check passes. It runsgh pr checksitself only when you type/dopa boss, and then just once.- 自分のコマンド一覧から引く 今日のコマンドカード、トロフィー、集中タイマー、朝会のメモにそのまま貼れる セッションのまとめ もあります。
There is also a daily command card drawn from your own command list, trophies, a focus timer and a session recap you can paste straight into your standup notes.
- プロンプト、ツールの結果、会話の記録は一切変えません。Claude に見えるものは、mod がないときと同じです。
No prompt, tool result or transcript entry is ever changed. Claude sees exactly what it would see without the mod. - コミット、PR、エラー数、テスト結果は Claude のコマンドが出力したものから、タスクとサブエージェントは Claude Code が送るイベントから読みます。そのために何かを実行することはありません。
Commits, pull requests, error counts and test results are read from what Claude's commands printed, and tasks and subagents from events Claude Code sends. Nothing is run to get them. - 許可の確認は見ているだけで、答えるのはいつもあなたです。
Permission prompts are only watched: the answer is always yours. - 入力欄は文字数を数えるためだけに見ています。文字そのものは保存も記録も変更もしません。
The prompt box is watched only to count characters. The text is never stored, logged or changed. - 起動できるプロセスは
gh pr checksだけで、それも/dopa bossを打ったときだけです。それ以外にネットワークへの接続もモデルの呼び出しもしません。
The one process it can start isgh pr checks, and only when you type/dopa boss. Beyond that, it makes no network requests and no model calls. - レベル、トロフィー、設定は、あなたのマシンの中の、Claude Code のプラグイン用の保存領域に置かれます。
Your level, trophies and settings stay on your machine, in Claude Code's local plugin storage.
claude plugin validate ./plugin を実行すると、フックしているイベントと呼び出せる処理がすべて表示されます。
claude plugin validate ./plugin prints the whole footprint: every event it hooks and every call it can make.
| コマンド Command |
すること What it does |
|---|---|
/dopa fireworks [on|off] |
DOPA を描くスターマイン。on と off で花火全体を切り替えますA starmine that spells DOPA; on or off turns all fireworks on or off |
/dopa typing [on|off] |
入力への反応(HIT、打鍵の玉、GO!)を切り替えます Turn typing reactions (HITs, keystroke shells and GO!) on or off |
/dopa recap [copy] |
このセッションのまとめ: 編集したファイル、使ったツール、トークン、上限 This session: files edited, tools used, tokens, limits |
/dopa stats |
レベル、クリアしたターン数、コミット、PR、最高コンボ、連続記録 Level, turns cleared, commits, pull requests, best combo and streak |
/dopa daily, /dopa dex |
今日のコマンドカードと、まだ試していないコマンド Today's command card, and the commands you have not tried |
/dopa trophies |
獲得したトロフィーと、残りの取り方 Trophies earned, and how to earn the rest |
/dopa focus [min], /dopa break [min] |
集中と休憩のタイマー(stop で止めます)Focus and break timers ( stop ends one) |
/dopa boss |
このブランチの PR を gh で 1 回確認しますCheck this branch's pull request with gh, once |
/dopa legend |
各数字が何を測っているか What every number measures |
/dopa sfx, alerts, meters, spinner, off |
各機能をオンとオフで切り替えます Turn each feature on or off |
/dopa reset confirm |
LV 1 からやり直します(トロフィーも消えます) Start over from LV 1 (this also erases your trophies) |
トークンを使いますか?
Does it cost tokens?
使いません。モデルを呼ばず、Claude が読むものに何も足しません。/dopa コマンドも手元で処理します。
No. It never calls a model and adds nothing to what Claude reads, and /dopa commands are handled locally.
プロンプトを読みますか?
Does it read my prompts?
入力の HIT と GO! のために、入力欄の文字数を数えます。文字そのものは保存も記録も送信も変更もしません。
To drive the typing HITs and GO!, it counts the characters in the prompt box. The text is never stored, logged, sent anywhere or changed.
エラーが減ったことをどうやって知るのですか?
How does it know errors went down?
チェッカー(tsc、eslint、ruff、mypy、pyright、cargo、javac)が出す要約の行を読み、まったく同じコマンドの前回の結果と比べます。プロジェクト全体を調べてから 1 ファイルだけ調べても、減ったとは数えません。
It reads the summary line that a checker (tsc, eslint, ruff, mypy, pyright, cargo or javac) prints and compares it with the last run of the exact same command, so checking the whole project and then a single file never counts as progress.
デスクトップアプリでも動きますか?
Does it work in the desktop app?
Code タブなら動きます。HUD、通知、タイマー、花火が出ます(花火は SVG で描きます)。
In the Code tab, yes: you get the HUD, alerts, timers and fireworks, with the fireworks drawn as SVG.
Windows でも動きますか?
Does it work on Windows?
動きます。Windows 11 の標準のターミナルである Windows Terminal で、PowerShell か Git Bash のタブから Claude Code を起動してください。
Yes. Run Claude Code in Windows Terminal, the default terminal on Windows 11, from a PowerShell or Git Bash tab.
テスト、型チェック、git の結果は、Bash と PowerShell のどちらのコマンドからも読み取ります。
Test, type-check and git results are read from PowerShell commands as well as Bash ones.
VS Code では、統合ターミナルで claude を起動してください。Claude Code 拡張機能のパネルには花火が出ません。
In VS Code, start claude in the integrated terminal; the Claude Code extension's own panel has no fireworks.
Windows では音は鳴りません。
There is no sound on Windows.
音は鳴りますか?
Does it play sound?
macOS なら鳴ります。Claude Code の音声機能で鳴らしていて、それが使えるのは macOS だけです。Linux と Windows のターミナルでは鳴りません。/dopa sfx off で消せます。
On macOS, yes: it plays through Claude Code's audio, which works only there. Linux and Windows terminals stay silent. /dopa sfx off mutes it.
派手すぎませんか?
Is it too much?
/dopa fireworks off で空を閉じて HUD だけにでき、/dopa typing off で入力への反応を止められ、/dopa off ですべてを止められます。
/dopa fireworks off closes the sky and keeps the HUD, /dopa typing off stops the typing reactions, and /dopa off pauses everything.
- HP: モデルのコンテキストの大きさから、直前のリクエストで使った入力を引いたものです(ステータスラインと同じ値です)。0 になる前に自動の compact が始まることがあります。
HP: the model's context window minus the input the last request used (the same figure the status line shows). Auto-compact can start before it reaches 0. - STAMINA: 5 時間枠と週の枠のうち、厳しいほうの残りです。直近の API の応答が伝えた値で、サブスクリプションのプランでだけ出ます。
STAMINA: plan usage left in the tighter of the 5-hour and weekly windows, as the last API response reported it. Subscription plans only. - GOLD:
/costが合計するこのセッションの費用で、API の価格で計算します。サブスクリプションなら請求額ではありません。
GOLD: the session cost as/costtotals it, at API prices. On a subscription, it isn't what you're billed. - LOOT: Edit、Write、NotebookEdit で編集したファイルです。シェルを使った編集は数えません。
LOOT: files edited with Edit, Write or NotebookEdit. Edits made through a shell are not counted. - HIT: 今のターンのツール呼び出しの数で、サブエージェントの分も含みます。入力中は、入力欄に打った文字の数です。
HIT: tool calls in the current turn, subagents included; while you type, the characters typed into the prompt box. - XP と段位は、ゲームの中だけのものです。
XP and ranks exist only in the game.
どれか 1 つの機能だけが欲しいなら、次の mod がよくできています。
If you only want one of these features, the mods below do it well:
| 機能 Feature |
mod |
|---|---|
| スロットマシンのスピナー Slot-machine spinner |
Claude Slots |
| 使用量 Usage |
cctop, context-lens, quota-meter and token-ledger |
| CI | cc-pr-tracker, gh-ci-status |
| ゲーム Games |
cc-arcade, claude-games, cc-pokedex |
| ポモドーロ Pomodoro |
Claudoro |
| XP と実績 XP and achievements |
claude-rank, claude-code-achievements |
Issue も Pull Request も歓迎します。先にチェックを実行してください。
Issues and pull requests are welcome. Run the checks first:
claude plugin validate --strict .
claude plugin validate --strict ./plugin
claude plugin test ./plugin
CI は、対応している最も古い Claude Code と最新の Claude Code の両方でこれらを実行します。効果音は tools/gen_sfx.py で作っています。
CI runs them on the oldest supported Claude Code and on the latest. The sounds come from tools/gen_sfx.py.
MIT です。効果音は一から合成したものです。
MIT. The sounds are synthesized from scratch.
非公式のプロジェクトで、Anthropic とは関係ありません。「Claude」は Anthropic, PBC の商標です。
An unofficial project, not affiliated with Anthropic. "Claude" is a trademark of Anthropic, PBC.