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 soundboredThen run:
soundboredFrom Source
- Clone the repository:
git clone https://github.com/christomitov/soundbored-cli.git
cd soundbored-cli- Install dependencies:
npm install- Build the project:
npm run build- Link the CLI globally:
npm linkNow 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:
soundboredSearch with Initial Query
Start with a pre-filled search:
soundbored "airhorn"Manage Config
Show current config and where it’s stored:
soundbored config --showUpdate values non-interactively:
soundbored config --api https://soundbored.example.com --token YOUR_TOKENRun interactive reconfiguration:
soundbored configKeyboard 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 devRun Tests
npm testLint Code
npm run lintFormat Code
npm run formatProject 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.jsonTroubleshooting
"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
- Run
soundbored config --showand confirm the Base URL and token - Verify the API URL is accessible
- 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.
