claude-muncher
v1.0.0
Published
A pixel art Claude mascot that eats your terminal text
Maintainers
Readme
claude-muncher
A pixel art Claude mascot that eats your terminal text. Zero dependencies.
The mascot is rendered using Unicode half-block characters (▀, ▄) with truecolor ANSI, so it looks like actual pixel art — not ASCII art.
Install
npm i -g claude-muncherUsage
# Eat a message
claude-muncher eat "Hello world!"
# Demo animation
claude-muncher demo
# Pipe mode — text passes through, mascot randomly eats some lines
echo "lots of text" | claude-muncher
# Wrap a command's output
claude-muncher wrap -- npm testThe munch alias works too:
munch eat "Tasty text"
munch demoOptions
| Flag | Description |
|------|-------------|
| --chance <0-100> | Probability of eating a line (default: 15) |
| --speed <slow\|normal\|fast> | Animation speed |
| --no-reveal | Keep text eaten (don't restore after animation) |
| --no-color | Disable colors |
Non-destructive
Nothing is actually deleted. In pipe and wrap modes, all text passes through to stdout unmodified — the eating animation is purely visual. After the animation, eaten text is restored by default.
How it works
- 12×14 pixel sprite rendered as 7 terminal rows using Unicode half-blocks
- 6 animation frames: idle, walk (×2), mouth open, mouth half, happy
- Truecolor ANSI (
\x1b[38;2;R;G;Bm) for the orange/salmon palette - Crumb particles (
·,°) fly off during chomping - Signal handlers always restore cursor visibility on exit
API
import { renderFrame, IDLE, HAPPY, playAnimation, buildEatScene } from 'claude-muncher';
// Render a static frame
const sprite = renderFrame(IDLE);
sprite.lines.forEach(line => console.log(line));
// Build and play an eat animation
const scene = buildEatScene({
text: 'Nom nom nom',
textRow: 10,
textCol: 5,
speed: 'normal',
reveal: true,
});
await playAnimation(scene);License
MIT
