hyper-termibug
v1.0.0
Published
๐ Bugs invade your terminal! Click or press space 5x to squash them before they eat your text.
Maintainers
Readme
๐ hyper-termibug
Bugs are invading your terminal! A fun and chaotic Hyper.js plugin that spawns pixel-art bugs in your terminal at random intervals. Squash them before they eat your text!
โจ Features
- ๐ชฒ Pixel art bugs โ Animated 16ร16 sprite bugs crawling around your terminal
- ๐ฑ๏ธ Click to squash โ Click on a bug to kill it instantly
- โจ๏ธ Space combo โ Press space 5 times within 2 seconds to squash the nearest bug
- ๐ฝ๏ธ They eat your text! โ After a configurable delay, bugs start consuming characters in your terminal
- ๐ Score HUD โ Track active bugs, kills, and your score in a sleek overlay (toggleable)
- ๐ฎ Multi-bug chaos โ Multiple bugs can appear simultaneously
- โธ๏ธ Pause/Resume โ Press
Ctrl+Shift+Bto toggle the game on/off at any time - โ๏ธ Fully configurable โ Customize spawn rates, eat delay, speed, size, HUD visibility, and more
๐ฆ Installation
From npm (when published)
hyper i hyper-termibugLocal development
Clone or copy this directory to
~/.hyper_plugins/local/hyper-termibug/Or create a symlink:
ln -s /path/to/termibug ~/.hyper_plugins/local/hyper-termibugAdd to your
~/.hyper.js:
module.exports = {
localPlugins: ['hyper-termibug'],
// ...
};- Restart Hyper (or press
Ctrl+Shift+R/Cmd+Shift+R)
โ๏ธ Configuration
Add a termibug section to your ~/.hyper.js config:
module.exports = {
config: {
// ... other config
termibug: {
enabled: true, // Enable/disable the plugin entirely
showHUD: true, // Show/hide the score panel in the top-right corner
spawnIntervalMin: 15000, // Minimum time between bug spawns (ms)
spawnIntervalMax: 45000, // Maximum time between bug spawns (ms)
maxBugs: 10, // Maximum simultaneous bugs
eatDelay: 5000, // Time before a bug starts eating characters (ms)
bugSpeed: 1, // Bug movement speed multiplier
bugSize: 1, // Bug visual size multiplier
}
}
};Configuration Reference
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| enabled | boolean | true | Master switch โ set to false to disable the plugin completely |
| showHUD | boolean | true | Show/hide the score panel (๐ active โ ๐ killed โ ๐ score) |
| spawnIntervalMin | number | 15000 | Minimum delay before next bug spawns (milliseconds) |
| spawnIntervalMax | number | 45000 | Maximum delay before next bug spawns (milliseconds) |
| maxBugs | number | 10 | Maximum number of bugs alive simultaneously |
| eatDelay | number | 5000 | How long a bug wanders before it starts eating text (milliseconds) |
| bugSpeed | number | 1 | Movement speed multiplier (2 = twice as fast) |
| bugSize | number | 1 | Visual size multiplier (2 = twice as large) |
โจ๏ธ Keyboard Shortcuts
| Shortcut | Action |
|----------|--------|
| Ctrl+Shift+B | Toggle the game on/off (pause/resume) |
| Space ร 5 | Press space 5 times within 2 seconds to squash the nearest bug |
When the game is paused, a notification appears in the top-right corner showing the shortcut to resume.
๐ฎ How to Play
- Wait โ Bugs will appear from the edges of your terminal at random intervals
- Squash by clicking โ Simply click on a bug to kill it
- Squash by keyboard โ Press
Space5 times quickly (within 2 seconds) to kill the nearest bug to your cursor - Don't let them eat! โ After the eat delay (default: 5 seconds), a bug's eyes turn red and it starts eating characters from your terminal
- Score โ Earn 100 points per kill, lose 10 points per eaten character
- Pause โ Press
Ctrl+Shift+Bto pause if you need a break
๐๏ธ Architecture
hyper-termibug/
โโโ index.js # Hyper plugin hooks (decorateTerm, middleware)
โโโ package.json # npm package config (zero dependencies)
โโโ README.md
โโโ lib/
โโโ Bug.js # Single bug entity (movement, eating, state)
โโโ BugManager.js # Bug spawning, killing, pause/resume, stats
โโโ BugRenderer.js # Canvas pixel-art rendering engine
โโโ HUD.js # Score overlay + toggle notifications
โโโ SpriteData.js # Pixel art sprite definitions (walk, eat, death)๐ Debugging
Open Hyper DevTools with Ctrl+Shift+I and check the Console tab for messages prefixed with [termibug]:
[termibug] Found terminal container: DIV xterm
[termibug] Canvas appended. Container size: 800 x 400
[termibug] Plugin initialized! Toggle with Ctrl+Shift+B๐ค Contributing
PRs welcome! Some ideas for improvements:
- [ ] Sound effects on squash
- [ ] Different bug species with unique behaviors
- [ ] Boss bugs that require more hits
- [ ] Leaderboard
- [ ] Bug trails / slime effects
๐ License
MIT
