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.
- 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
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 --version
Install 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).
To update:
git pull origin mainbrobro "tell me about quantum computing"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
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.
- 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.
./uninstallRemoves:
- Symbolic link
- Environment variables
- Local dependencies
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
- 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
- π 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
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
Be respectful and inclusive. We're committed to providing a welcoming environment for everyone.
Tested on Linux and macOS. Windows is not officially supported.