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

soundbored

v0.1.11

Published

CLI tool for the Discord Soundbored app

Downloads

16

Readme

soundbored

CLI tool for the Discord Soundbored app. Search and play sounds from your Soundbored server right from the terminal.

Features

  • 🔍 Fuzzy search through all available sounds
  • ⚡ Fast keyboard navigation
  • 🎵 Instant sound playback
  • 🎨 Clean, interactive terminal UI

Prerequisites

  • Node.js 16.0.0 or higher
  • npm or yarn
  • Access to a Soundbored API instance

Installation

Install

npm i -g soundbored

Then run:

soundbored

From Source

  1. Clone the repository:
git clone https://github.com/christomitov/soundbored-cli.git
cd soundbored-cli
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Link the CLI globally:
npm link

Now you can use soundbored command from anywhere in your terminal!

Configuration

Configuration is stored at ~/.config/soundbored/config.json.

On first run, the CLI prompts you for:

  • Base URL (just the site, e.g. https://soundbored.example.com)
  • API token

These values are saved and automatically loaded next time.

Usage

Basic Usage

Start the interactive sound browser:

soundbored

Search with Initial Query

Start with a pre-filled search:

soundbored "airhorn"

Manage Config

Show current config and where it’s stored:

soundbored config --show

Update values non-interactively:

soundbored config --api https://soundbored.example.com --token YOUR_TOKEN

Run interactive reconfiguration:

soundbored config

Keyboard Shortcuts

  • ↑/↓ - Navigate through sounds
  • Page Up/Page Down - Jump 10 sounds at a time
  • Enter - Play selected sound (clears search but keeps results)
  • Ctrl+C - Clear search and show all sounds (press twice to exit)
  • ESC - Clear search or exit if no search
  • Type - Search sounds in real-time

Development

Run in Development Mode

npm run dev

Run Tests

npm test

Lint Code

npm run lint

Format Code

npm run format

Project Structure

soundbored-cli/
├── dist/          # Bundled CLI output
├── src/
│   ├── cli.tsx    # Main CLI setup
│   ├── components/
│   │   ├── App.tsx         # Main app component
│   │   ├── SearchInput.tsx # Search input component
│   │   ├── SoundList.tsx   # Sound list display
│   │   └── StatusBar.tsx   # Status bar component
│   ├── services/
│   │   └── api.ts  # API service for sound fetching
│   └── types/      # TypeScript type definitions
├── package.json
└── tsconfig.json

Troubleshooting

"Raw mode is not supported" Error

This CLI requires an interactive terminal. Make sure you're running it directly in your terminal, not through pipes or non-TTY environments.

API Connection Issues

  1. Run soundbored config --show and confirm the Base URL and token
  2. Verify the API URL is accessible
  3. Ensure you have network connectivity

License

MIT

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

Author

Created for the Soundbored sound effects system.