cc-companion

skill
Security Audit
Fail
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Fail
  • execSync — Synchronous shell command execution in scripts/patcher.mjs
  • process.env — Environment variable access in scripts/patcher.mjs
  • execSync — Synchronous shell command execution in scripts/statusline.mjs
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool is a fun, decorative plugin that adds an animated virtual pet (ASCII art) to your Claude Code statusline. It allows users to customize, collect, and interact with pixel-art companions while they code.

Security Assessment
The overall risk is Medium. The tool explicitly does not request dangerous permissions, but the underlying code raises several security concerns. The automated scanners flagged the use of `execSync` (synchronous shell command execution) in two separate scripts (`patcher.mjs` and `statusline.mjs`). This introduces the risk of arbitrary command execution, especially if those scripts process external inputs. Additionally, `patcher.mjs` accesses environment variables (`process.env`), which could potentially expose sensitive local system data depending on how it is used. No hardcoded secrets were detected.

Quality Assessment
The project is new and currently has a low visibility footprint, evidenced by only 5 GitHub stars. While it was actively updated very recently (pushed 0 days ago), it lacks a formal open-source license. This means there are no clear legal terms granting users permission to use, modify, or distribute the code, which is a significant drawback for community trust and enterprise adoption.

Verdict
Use with caution — the tool is a fun concept and actively maintained, but unlicensed code and the use of synchronous shell execution in the patching and statusline scripts present potential security and legal liabilities.
SUMMARY

Your coding buddy pet for Claude Code

README.md

CC Companion

Your coding buddy pet for Claude Code — alive in your statusline while you work.

Each Claude Code user gets a unique deterministic companion based on their account. Customize it, collect favorites, and watch it animate while you code.


Installation

/plugin marketplace add zigizhujian/cc-companion
/plugin install cc-companion

Requires Bun


Commands

Command Description
/cc-companion:companion Show your companion (ASCII art, stats, rarity)
/cc-companion:companion-customize Choose your own species, rarity, eyes, hat
/cc-companion:companion-statusline Toggle companion statusline on/off
/cc-companion:companion-pet Pet your companion
/cc-companion:companion-collection Save, list, switch, or remove favorite pets
/cc-companion:companion-screensaver Toggle screensaver mode on/off

Your Companion

Run /cc-companion:companion to see your pet — species, rarity, eyes, hat, and stats. On first use it will ask you to give your companion a name.

companion


Customization

/cc-companion:companion-customize walks you through choosing species, rarity, eyes, hat, and shiny. The plugin brute-force searches for a matching salt using Bun.hash — usually under 2 seconds.

Once you have a pet you like, save it to your collection with /cc-companion:companion-collection.


Display Modes

Run /cc-companion:companion-statusline to enable the statusline. Then set displayMode in ~/.claude/plugins/cc-companion/config.json.

"combined" — screensaver pet (random or collection) on the left, your pet on the right, both animated

combined — collection
combined — random

"hud" — animated sprite or screensaver pet + stats + session info

hud — collection
hud — random

"sprite" — minimal right-aligned pet (animated sprite or screensaver pet)

Your companion tucked in the corner with name above. Closest to the original CC buddy UI.

sprite — own pet
sprite — random screensaver
sprite — collection screensaver


Pet

Run /cc-companion:companion-pet to pet your companion. Floating hearts appear for a few seconds. Works on the right-side sprite in combined and sprite modes.

sprite — hearts animation
combined — hearts animation


Collection

Save your favorite pets and switch between them anytime.

Run /cc-companion:companion-collection: save · list · switch · remove


Screensaver

Turn your statusline into a pet parade — a new companion appears periodically, like opening blind boxes while you code.

Run /cc-companion:companion-screensaver to toggle. Choose a refresh interval:

  • 0 — new pet on every statusline refresh
  • 1 — new pet every minute
  • 5 (default) — new pet every 5 minutes

Set screensaverMode to "random" for fully random pets, or "collection" to cycle through your saved favorites.


Reference

Species

18 unique species, each with 3-frame animation:

DUCK          GOOSE         BLOB          CAT           DRAGON        OCTOPUS
                                                                              
    __             (·>         .----.        /\_/\        /^\  /^\       .----.
  <(· )___         ||         ( ·  · )      ( ·   ·)     <  ·  ·  >     ( ·  · )
   (  ._>        _(__)_       (      )      (  ω  )      (   ~~   )     (______)
    `--´          ^^^^         `----´       (")_(")       `-vvvv-´      /\/\/\/\

OWL           PENGUIN       TURTLE        SNAIL         GHOST         AXOLOTL
                                                                              
   /\  /\       .---.          _,--._      ·    .--.       .----.     }~(______)~{
  ((·)(·))      (·>·)         ( ·  · )      \  ( @ )      / ·  · \    }~(· .. ·)~{
  (  ><  )     /(   )\       /[______]\      \_`--´       |      |      ( .--. )
   `----´       `---´         ``    ``      ~~~~~~~       ~`~``~`~      (_/  \_)

CAPYBARA      CACTUS        ROBOT         RABBIT        MUSHROOM      CHONK
                                                                              
  n______n     n  ____  n      .[||].        (\__/)      .-o-OO-o-.     /\    /\
 ( ·    · )    | |·  ·| |     [ ·  · ]      ( ·  · )    (__________)   ( ·    · )
 (   oo   )    |_|    |_|     [ ==== ]     =(  ..  )=      |·  ·|      (   ..   )
  `------´       |    |       `------´      (")__(")       |____|       `------´

Hats

Available for uncommon and above:

CROWN      TOPHAT     PROPELLER  HALO       WIZARD     BEANIE     TINYDUCK
 \^^^/       [___]       -+-      (   )       /^\        (___)       ,>

Rarity

Rarity Stars Chance Hat? Shiny?
Common 60% 1%
Uncommon ★★ 25% Yes 1%
Rare ★★★ 10% Yes 1%
Epic ★★★★ 4% Yes 1%
Legendary ★★★★★ 1% Yes 1%

Shiny — 1% chance on top of rarity. Marked with ✨ in the statusline. Any rarity can be shiny.

Stats

DEBUGGING · PATIENCE · CHAOS · WISDOM · SNARK

Stat bars are colored: cyan (high) · yellow (mid) · red (low)

How It Works

Bun.hash(userId + salt) feeds a Mulberry32 PRNG that picks species, rarity, eyes, hat, and stats. Customization finds an alternative 15-character salt that produces your desired traits — no binary patching required.

Config: ~/.claude/plugins/cc-companion/config.json


License

MIT

Reviews (0)

No results found