npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vibebreak-arcade

v0.3.5

Published

A chaotic-cozy terminal break arcade for tiny coding-session resets.

Downloads

160

Readme

Vibebreak

Vibebreak is a chaotic-cozy terminal break arcade built with Node.js, TypeScript, Ink, and React. It gives you short 45-second mini-games for tiny brain resets, with local high scores and no backend, login, cloud service, AI, payments, analytics, or telemetry.

The npm package is vibebreak-arcade. The unscoped vibebreak package name is already taken by an unrelated project.

Preview

Quick Start

Run without installing:

npx --yes vibebreak-arcade@latest

Jump straight into Today's Break:

npx --yes vibebreak-arcade@latest daily

Vibebreak requires Node.js 22 or newer because it uses Ink 7.

Install

Install globally if you want the command available everywhere:

npm install --global vibebreak-arcade

Then run:

vibebreak-arcade
vibebreak-arcade daily
vibebreak-arcade play snake-bytes
vibebreak-arcade scores

Prefer a shorter command? Add an alias to your shell config:

alias vibebreak='vibebreak-arcade'

Games

Each round is short, keyboard-simple, and built for quick replay.

| Game | ID | Objective | | --- | --- | --- | | Dodge the Bugs | dodge | Dodge falling bugs and collect near-miss style points. | | Commit Catch | commit-catch | Catch , +, and ; avoid 🐛 and !. | | Stack Trace Sprint | stack-sprint | Grab FIX tokens and sidestep noisy ERR blocks. | | Snake Bytes | snake-bytes | Steer a growing byte trail, snack cleanly, and avoid tangles. | | Flap Fix | flap-fix | Tap through deploy pipes and grab mid-flight patches. | | Maze Munch | maze-munch | Clear dots, sip coffee, and turn bugs into bonus points. | | Bit Stack | bit-stack | Stack tiny blocks, clear rows, and avoid overflow. |

Run a specific game:

vibebreak-arcade play bit-stack

Commands

The commands below assume you installed Vibebreak globally with npm install --global vibebreak-arcade. If you have not installed it, replace vibebreak-arcade with npx --yes vibebreak-arcade@latest.

vibebreak-arcade
vibebreak-arcade daily
vibebreak-arcade play <game-id>
vibebreak-arcade scores

Examples:

vibebreak-arcade play commit-catch
vibebreak-arcade play maze-munch

daily chooses the same game for the same local calendar date, so Today's Break rotates without needing the internet.

Controls

  • Move: W/A/S/D or arrow keys, depending on the game
  • Flap: Space, W, or up arrow in Flap Fix
  • Rotate/drop: W/up and S/down in Bit Stack
  • Menus: arrow keys or W/S, then Enter
  • Replay: Enter or R
  • Quit/back: Q or Esc

Local Scores

High scores are saved locally at:

~/.vibebreak/scores.json

If Vibebreak cannot write that file, the game still works and keeps the score for the current session only.

From Source

Clone the repo, install dependencies, and run:

git clone https://github.com/tacotuesday8888/vibebreak.git
cd vibebreak
npm install
npm start

Useful development commands:

npm run dev
npm run build
npm test

Optional Bun convenience scripts are available if you already use Bun:

npm run bun:start
npm run bun:daily

Node remains the default runtime.

Terminal Compatibility

Vibebreak uses Ink and needs an interactive TTY. It works in standard terminals such as macOS Terminal, iTerm2, Windows Terminal, GNOME Terminal, kitty, and alacritty. Some sandboxes and CI runners do not provide a real TTY and will not start the interactive menu.

Emoji rendering depends on your terminal font. If 🐛 or look misaligned, try a font with full emoji support such as JetBrains Mono, Fira Code, or your platform's default monospace.

Project Status

Roadmap

  • More tiny games
  • More gameplay balancing
  • A short in-app help screen
  • Local score import/export
  • Optional workflow integrations, if a simple version actually makes sense later
  • Optional plain-text mode for terminals with limited emoji support

Contributing

Contributions are welcome. Keep the project small, local-first, beginner-friendly, and focused on being a fun CLI break game.

Good first contributions include bug fixes, README improvements, small gameplay tweaks, accessibility improvements, and new mini-game ideas.

Before opening a pull request, run:

npm test

See CONTRIBUTING.md for the full contribution guide.

License

Vibebreak is released under the MIT License.