Prerequisites
Install Node.js
If you’re using nvm (recommended):Quick Start
Install Dependencies
The
--legacy-peer-deps flag is required due to peer dependency conflicts in some packages.Build Packages
Choose one of the following options:
- Option 1: Setup Script (Recommended)
- Option 2: Manual Build
Bruno should now be running! The React app will be available in the Electron window.
Development Scripts
Core Development Commands
Custom Configuration
Custom Electron userData Path
You can customize the ElectronuserData path in development mode:
bruno-test folder on your Desktop and uses it as the userData path, keeping your development data separate from your production Bruno installation.
Troubleshooting
Unsupported Platform Error
Unsupported Platform Error
If you encounter an
Unsupported platform error during npm install:Build Failures
Build Failures
If package builds fail:
- Ensure you’re using Node.js v22.x
- Clear all build artifacts:
rm -rf packages/*/dist - Run the setup script again:
npm run setup
Electron Won't Start
Electron Won't Start
If Electron fails to start:
- Ensure the web app built successfully
- Check that all dependencies are installed
- Try running web and electron separately to identify the issue
Hot Reload Not Working
Hot Reload Not Working
If hot reload isn’t working:
- Use
npm run dev:watchinstead ofnpm run dev - Ensure file watchers aren’t hitting system limits (common on Linux)
- Restart the development server
Development Tools
Storybook
Bruno uses Storybook for component development:http://localhost:6006 where you can develop and test UI components in isolation.
End-to-End Testing
Run Playwright E2E tests:IDE Setup
VS Code (Recommended)
Recommended extensions:- ESLint: For linting JavaScript/React code
- Prettier: For code formatting
- Tailwind CSS IntelliSense: For Tailwind autocomplete
- styled-components: For styled-components syntax highlighting
ESLint Configuration
Bruno uses ESLint with custom rules. The configuration is already set up in the project.Next Steps
Now that your development environment is set up:- Read about Bruno’s architecture
- Familiarize yourself with our coding standards
- Find an issue to work on in GitHub Issues
- Start contributing!