Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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!