Prerequisites
Required
- Rust (latest stable via rustup)
- Node.js (LTS, v20+)
- pnpm (NOT npm or yarn)
- Git
For Desktop App
- All of the above, plus:
- Tauri 2 prerequisites (see platform guide)
- macOS: Xcode Command Line Tools
- Linux:
webkit2gtk,libappindicator,librsvg - Windows: Visual Studio C++ Build Tools, WebView2
Clone the repository
Project structure
Building the server
The server is a Rust application using Axum. It embeds the compiled client at build time viarust-embed.
Run the server
Development mode (hot reload)
For active development, run the server and client separately with hot reload:Building the desktop app
The desktop app wraps the client in a Tauri 2 shell, adding computer use capabilities.Install Tauri prerequisites
Follow the Tauri 2 prerequisites guide for your platform.
Building the landing page
If you want to run or modify the marketing site:http://localhost:5173.
The landing page requires a PostgreSQL database (Neon) for user management features. For just viewing the site, the dev server works without it.
Custom data directory
Set theBOLLY_HOME environment variable to use a different data directory:
Code style and linting
Before submitting changes:Running tests
Contributing
- Fork the repository from the
mainbranch - Create a feature branch
- Test your changes locally
- Keep commit messages short and imperative
- Submit a pull request
See CONTRIBUTING.md in the repository for full guidelines.
Next steps
Configuration
Customize personality, heartbeat, and memory settings.
API Keys
Learn about API keys for Anthropic, Google AI, and ElevenLabs.