CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing to Flow Browser
## Project Structure
| Directory | Description |
| ---------------- | -------------------------------------------- |
| **src/main** | Electron main process code |
| **src/renderer** | Frontend React application |
| **src/preload** | Preload scripts for secure IPC communication |
| **src/shared** | Code shared between main and renderer |
| **docs** | Documentation and guides |
## Prerequisites
- [Node.js](https://nodejs.org/en/download) (v22+)
- [Bun](https://bun.sh/docs/installation) (v1.2.0+)
> [!IMPORTANT]
>
> Electron uses node-gyp to build native modules.
>
> You need to [install some dependencies](https://github.com/nodejs/node-gyp?tab=readme-ov-file#installation) for node-gyp to work, or it might fail to build.
## Getting Started
```bash
# Clone the repository
git clone https://github.com/MultiboxLabs/flow-browser.git
cd flow-browser
# Install dependencies
bun install
# Start the application in Preview Mode
bun start
# Development with hot reloading
bun dev
# Development with file watching (Recommended)
bun dev:watch
```
For more detailed development info, see the [contributing documentation](./docs/contributing/) and the guide on [adding database migrations](./docs/contributing/migrations.md).
## Using Extensions
### From Chrome Web Store
1. Navigate to the [Chrome Web Store](https://chromewebstore.google.com/)
2. Browse and install extensions directly from the store
## Building
There are different commands to build the application for different platforms.
```bash
bun build:win # Windows
bun build:mac # macOS
bun build:linux # Linux
```
The build output will be in the `./dist` directory.
## Technology Stack
- **Frontend**: React 19, TailwindCSS
- **Animation**: Motion (imported from "motion/react")
- **UI Components**: Radix UI
- **Build Tools**: Electron Builder, electron-vite, Vite, TypeScript
- **Runtime**: Electron 35 (Chromium)
## Widevine VMP Signing (Advanced)
This build pipeline contains Widevine VMP Signing Capabilities. However, you will have to create an account in order to enable it.
Create an Account: https://github.com/castlabs/electron-releases/wiki/EVS#creating-an-evs-account
Once logged in, the app will be automatically VMP-signed, and you can enjoy Widevine Protected Content!