✳ClaudeModsClaude Code 模組目錄
☰
● 0 人在線上 · 瀏覽 0 次
+ 提交作品
← 返回作品集
GitHub 儲存庫 · 遊戲與娛樂

cc-pokedex

依照對話的走向,在輸入框上方顯示可收集的小生物。

ddeonmenezes@deonmenezes
cc-pokedex圖片1
已翻譯

關於這個 mod

依照對話的走向,在輸入框上方顯示可收集的小生物。

本作品由社群作者維護。功能、版本需求與設定方式,請查看下方原始 README。本站提供權限掃描結果;安裝前請檢查原始碼與外部相依套件。

安裝

請先查看作者 README,確認 marketplace 與外掛名稱;指令可能隨儲存庫結構而變動。

claude plugin marketplace add deonmenezes/claude-mods-pokedex
claude plugin install cc-pokedex
原文 / README

I built a Pikachu game inside Claude Code using Claude Mods

cc-pokedex: wild creatures above the Claude Code prompt. Where your prompt leads decides what shows up.

Luring a wild Pikachu with a prompt about batteries, catching it, and it taking over the spinner and turn footer

Prompt about the sea and something from the water may appear. Ask Claude to fix a crash and a bug type may crawl out. Ask it to think through an architecture and a psychic type drifts in. Throw balls to catch it, right above the prompt, while Claude keeps working. Nothing here asks the model anything: encounters, throws and the dex cost zero tokens.

Catch one and it becomes your partner. It draws under the logo at startup, its name takes over the spinner (Pikachu is sauteing... (12s)) and the turn footer (Pikachu baked for 3s), and it sits above the prompt with its level. It gains xp when Claude finishes a turn, edits a file, passes tests or commits, and it evolves at the levels you would expect.

Built on Claude Code function hooks ("Claude Mods"), early access: TypeScript that runs inside Claude Code's own process. The API can change between releases.

Requirements

  • Claude Code 2.1.269 or later with CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1.
  • An interactive terminal session. Nothing draws in claude -p, the desktop app or mobile.
  • A terminal that reports the mouse, for clicking the board and the buttons.

Quick start

  1. Turn function hooks on, in ~/.claude/settings.json:

    { "env": { "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1" } }
    
  2. Load it for one session from this folder:

    git clone https://github.com/deonmenezes/claude-mods-pokedex
    claude --plugin-dir ./claude-mods-pokedex
    

    Or install it as a marketplace plugin (the repo is its own marketplace):

    claude plugin marketplace add deonmenezes/claude-mods-pokedex
    claude plugin install cc-pokedex@cc-pokedex
    
  3. Prompt normally. When a wild one appears you get a toast and a board above the prompt. Click the board, or the throw ball button, or run /dex throw. Four balls per encounter.

  4. /dex wild water forces an encounter so you can try it straight away. /dex wild pikachu forces a species.

Commands

| Command | What it does | | --- | --- | | /dex | Dex count, partner and level, what is wild right now | | /dex list | Everything caught, with rarity stars and counts | | /dex partner <name> | Make a caught species your partner | | /dex throw | Throw a ball (or click the board, or press Space after clicking it) | | /dex run | Leave the encounter | | /dex lure <name> | Set a lure: your next prompt that leads into that species' habitat brings it out | | /dex show / /dex hide | Show or hide the partner strip above the prompt | | /dex wild [kind or name] | Force an encounter, for trying it out | | /dex release | Drop the partner |

Every form of /dex runs straight away, even while Claude is working.

Habitats

| Words in your prompt | Habitat | Examples | | --- | --- | --- | | water, sea, river, fish, boat, rain, stream | water | Squirtle, Magikarp, Psyduck, Lapras | | land, grass, forest, tree, garden, plant | grass | Bulbasaur, Oddish, Bellsprout, Tangela | | fire, hot, burn, flame, lava, cook | fire | Charmander, Vulpix, Growlithe, Moltres | | electric, power, battery, thunder, charge | electric | Pikachu, Magnemite, Voltorb, Zapdos | | rock, stone, mountain, cave, sand, dig | rock | Geodude, Onix, Diglett, Sandshrew | | ice, snow, cold, freeze, winter | ice | Shellder, Jynx, Articuno | | sky, fly, bird, wind, cloud | flying | Pidgey, Spearow, Zubat | | bug, fix, crash, error, broken, failing | bug | Caterpie, Weedle, Scyther | | delete, remove, kill, legacy, deprecated | ghost | Gastly, Haunter, Gengar | | think, plan, design, research, explain | psychic | Abra, Drowzee, Mewtwo | | build, compile, deploy, docker, ship, test | fighting | Machop, Machoke, Hitmonchan | | anything else | the road | Rattata, Meowth, Eevee, Snorlax, Ditto |

A named habitat meets something 40% of the time, the road 10%. Rarity weights the pick and the catch: common ★ 65%, uncommon ★★ 45%, rare ★★★ 28%, legendary ★★★★ 10% per ball. Mew only answers a prompt that says both please and thank you.

The partner

Level n needs 2·n² xp. A finished turn gives 8, an edit 1, a passing test run 10, a commit 15, a catch 20. Charmander becomes Charmeleon at 16 and Charizard at 36; the other chains follow the games. An evolution also fills the dex entry of the new form.

The partner and the dex live in the plugin's store, so every session shares them.

Why the logo itself does not change

Function hooks can redraw a fixed list of components: the user and assistant messages, tool rows, the spinner, the turn footer, the notice lines under the logo, the prompt hint, the band above the prompt and panes. The logo is not on that list yet, so the partner draws beside the first notice line under it instead. If a Logo render site lands, swapping the sprite in is a one-hook change.

Develop

bun test                                            # rules: habitats, picks, throws, levels, evolutions
claude plugin validate .claude-plugin/plugin.json   # lists hooked events, $ calls and surface modules
bunx -p typescript tsc -p .                         # types against .claude/types (from /plugin-types)

Two rules for board files: never name a local variable h, and write Client module paths as string literals.

A fan project. The creature names belong to Nintendo, Game Freak and Creatures Inc.; the sprites are original terminal art, and nothing here is affiliated with or endorsed by them.

查看原始來源 ↗

更多類似作品