Prerequisites
Before you begin, ensure you have the following installed on your system:Node.js v22+
Download from nodejs.org
Bun v1.2.0+
Install from bun.sh
System Dependencies
- Linux
- macOS
- Windows
Install build tools and Python:
For more details on node-gyp dependencies, see the official installation guide.
Getting Started
Install Dependencies
The
postinstall script will automatically run electron-builder install-app-deps to rebuild native modules for Electron.Development Workflow
Available Commands
Here are the essential commands you’ll use during development:| Task | Command | Description |
|---|---|---|
| Install dependencies | bun install | Install all project dependencies |
| Development | bun dev | Start development mode with hot reload |
| Watch mode | bun dev:watch | Start with file watching (recommended) |
| Lint | bun lint | Run ESLint to check code quality |
| Type check | bun typecheck | Run TypeScript type checking |
| Format | bun format | Format code with Prettier |
| Preview | bun start | Start in preview mode (production-like) |
Before Committing
First Launch
On first launch, Flow Browser will show an onboarding wizard. You must complete this before the main browser window appears.
Troubleshooting
Native Module Build Failures
If you encounter errors duringbun install related to native modules:
- Ensure you have all system dependencies installed (see above)
- Try clearing the cache and reinstalling:
Electron Display Issues on Linux
If running in a headless environment:- GLib-GObject and D-Bus warnings are harmless and can be ignored
- The VM should have a display set (e.g.,
DISPLAY=:1) - No
xvfb-runwrapper is needed in most cloud environments
Next Steps
Architecture
Learn about Flow Browser’s architecture
Building
Build Flow Browser for production