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

brain-break

v1.18.1

Published

An AI-powered terminal quiz app

Readme

🧠🔨 Brain Break

Quality Gate Status CI Release npm TypeScript License Buy Me a Coffee

Brain Break is an AI-powered terminal quiz app built with TypeScript. Define quiz domains, answer AI-generated questions, and review your score progression and history — all from a CLI interface. Choose from multiple AI providers including OpenAI, Anthropic, Google Gemini, GitHub Copilot, Ollama for local models, or any OpenAI-compatible endpoint.

  🧠🔨
   ____            _          ____                 _
  | __ ) _ __ __ _(_)_ __    | __ ) _ __ ___  __ _| | __
  |  _ \| '__/ _` | | '_ \   |  _ \| '__/ _ \/ _` | |/ /
  | |_) | | | (_| | | | | |  | |_) | | |  __/ (_| |   <
  |____/|_|  \__,_|_|_| |_|  |____/|_|  \___|\__,_|_|\_\

  > Train your brain, one question at a time_

✨ Features

  • Multiple AI providers — OpenAI, Anthropic, Google Gemini, GitHub Copilot, Ollama (local LLMs), and any OpenAI-compatible endpoint
  • Domain-based quiz sessions — create any topic like java-programming, greek-mythology, or thai-cuisine
  • AI-generated questions — multiple-choice questions with automatic deduplication
  • Adaptive difficulty — scoring and difficulty progression based on correctness and response speed
  • Explain answer — ask the AI to explain why the correct answer is right after any question
  • Teach me more — drill deeper with AI-generated micro-lessons after viewing an explanation
  • Question bookmarking — bookmark any answered question from the quiz or history for later revisiting via a dedicated bookmarks view
  • My Coach — AI-generated coaching report per domain analyzing your question history to surface strengths, weaknesses, trajectory, and recommendations
  • Domain sub-menu — play, challenge, history, bookmarks, stats, my coach, ASCII art, archive, and delete per domain
  • Stats dashboard — per-domain score trend, accuracy, and return streak
  • ASCII art milestone — unlock FIGlet ASCII art per domain
  • Buy me a coffee — ASCII QR code screen linking to the creator's Buy Me a Coffee page; shown on the home menu when no license is active
  • Configurable language and tone — language selection for questions and explanations, plus 7 tone options including humorous, sarcastic, and pirate
  • Dark & Light theme — toggle between dark and light terminal background modes for readable colors on any terminal
  • Settings screen — change provider, model, language, tone, my coach scope, theme, and welcome screen at any time
  • License activation — free tier caps at 1 total domain (active + archived); a one-time perpetual Lemon Squeezy license unlocks unlimited domains, activated in-terminal with offline-grace validation

📋 Requirements

  • Node.js >= 22.0.0
  • An AI provider configured through the in-app settings:
    • AnthropicANTHROPIC_API_KEY environment variable
    • OpenAIOPENAI_API_KEY environment variable
    • Google GeminiGOOGLE_GENERATIVE_AI_API_KEY environment variable
    • GitHub Copilot — active Copilot subscription and authentication in the environment
    • Ollama — a running Ollama instance
    • OpenAI Compatible APIOPENAI_COMPATIBLE_API_KEY environment variable. Use for any service exposing an OpenAI-compatible chat completions endpoint (e.g. Azure OpenAI, Groq, Together AI, Mistral, Perplexity, DeepSeek, LM Studio, vLLM).

🚀 Installation

🍺 Homebrew (macOS)

brew tap georgiosnikitas/brain-break
brew install brain-break

📦 From npm

npm install -g brain-break

📦 From GitHub Packages

npm install -g @georgiosnikitas/brain-break --registry=https://npm.pkg.github.com

Note: GitHub Packages requires authentication even for public packages. Add a personal access token with read:packages scope to your ~/.npmrc:

//npm.pkg.github.com/:_authToken=YOUR_TOKEN

After installing via Homebrew, npm, or GitHub Packages, run it from anywhere:

brain-break

🛠️ From Source

git clone https://github.com/georgiosnikitas/brain-break.git
cd brain-break
npm install
npm run dev

📜 Available Scripts

npm run dev         # run from source with tsx
npm run build       # compile TypeScript to dist/
npm start           # run the compiled CLI
npm run typecheck   # run TypeScript type checking without emitting
npm test            # run the Vitest test suite once
npm run test:watch  # run Vitest in watch mode

⚙️ How It Works

On first launch, Brain Break prompts you to select and configure an AI provider. From the home screen you can create quiz domains, play sessions, review history and stats, or change settings. During a quiz, the app generates questions via your chosen provider, times your answers, and updates your score and difficulty level automatically.

� Licensing

Purchases are handled by Lemon Squeezy, the merchant of record — secure checkout, global payment methods (card, Apple Pay, Google Pay, PayPal, Link), automatic VAT/sales-tax handling, and email-delivered license keys. No subscription, no recurring billing — pay once, keep the license forever.

  • Buy a licensecheckout link
  • Activate — home screen → 🔑 Activate License → paste the key from your order email
  • Manage / re-download keysapp.lemonsqueezy.com/my-orders
  • View or deactivate — home screen → 🔑 License Info (shows masked key, activation date, instance, product, store)

Licenses are activated per machine — deactivate on the old machine before activating on a new one. Validation runs at launch with an offline grace policy so loss of network never blocks startup.

�📝 Notes

  • All quiz data and settings are stored locally under ~/.brain-break/.

🤝 Contributing

Contributions are welcome. The project uses TypeScript with Vitest for testing — run npm test before submitting a pull request.

For context on the product goals and feature decisions, see the planning artifacts in docs/planning-artifacts/:

  • Product Brief — vision, problem statement, and success metrics
  • PRD — detailed feature specifications and acceptance criteria
  • Architecture — technical design decisions