Bro
Get AI into your CLI using the Pwoerful model Gemini 🔥 bro-website-sd.vercel.app
Install / Use
/learn @oovaa/BroREADME
Bro: AI-Powered CLI Assistant
Bro is a lightweight CLI assistant powered by Together AI and Groq via LangChain, built on Bun. The codebase is written in TypeScript for improved type safety and maintainability.
Table of Contents
Prerequisites
- Linux or macOS (Windows not officially supported)
- Bun (required — used as both runtime and package manager)
- Supported shells: bash, zsh
- A
GROQ_API_KEY(required) — get one at console.groq.com - A
TAVILY_API_KEY(optional) — enables higher-quality web search, get one at tavily.com
Installation
To install the CLI tool:
-
Clone the repository:
git clone https://github.com/oovaa/bro.git -
Navigate to the project directory:
cd bro -
Verify Bun is installed:
bun --versionInstall Bun from bun.sh if needed.
-
Run the install script:
./install <GROQ_API_KEY> [TAVILY_API_KEY]
GROQ_API_KEYis required.TAVILY_API_KEYis optional (enables higher-quality web search).
Updating
To update:
git pull origin main
Usage
Interactive Mode
bro
Non-Interactive Mode
bro "tell me about quantum computing"
Configuration
The install script automatically sets up:
GROQ_API_KEYin your shell config (required)TAVILY_API_KEYin your shell config (optional — enables Tavily web search)- Symbolic link in
~/.local/bin - Required dependencies via
bun install
Models
Bro uses the following AI models (via Together AI and Groq):
| Role | Model |
|----------|-------------------------------|
| Primary | Qwen/Qwen3.5-397B-A17B |
| Fallback | zai-org/GLM-5 |
| Fallback | moonshotai/Kimi-K2.5 |
Model fallback is handled automatically if the primary model is unavailable.
Troubleshooting
- If you see errors about Bun or missing dependencies, ensure Bun is installed and in your PATH.
- If
brois not found, make sure~/.local/binis in your PATH and the symbolic link exists. - For shell issues, only bash and zsh are supported.
- If you need to reset your API key, edit your shell config file and restart your terminal.
Uninstall
./uninstall
Removes:
- Symbolic link
- Environment variables
- Local dependencies
Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
Quick Start for Contributors
- Fork the repository and clone your fork
- Install dependencies:
bun install - Make your changes in TypeScript (
.tsfiles) - Type-check your code:
bun run tsc --noEmit - Submit a pull request with a clear description
Ways to Contribute
- 🐛 Report bugs by opening an issue with detailed information
- 💡 Suggest features or enhancements
- 📝 Improve documentation (README, code comments, guides)
- 🔧 Submit pull requests to fix issues or add features
- ⭐ Star the repository to show your support
Development Guidelines
Please read our Contributing Guide for detailed information on:
- Development setup and workflow
- Code style and standards
- Commit message conventions
- Pull request process
- Testing your changes
Code of Conduct
Be respectful and inclusive. We're committed to providing a welcoming environment for everyone.
Supported Platforms
Tested on Linux and macOS. Windows is not officially supported.
