> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vinum-elabel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Local development

> Run the Vinum E-Label application locally for development.

<Note>
  This page is for developers working on the Vinum E-Label application itself. If you're a winery looking to create e-labels, start with the [quickstart](/en/getting-started/quickstart).
</Note>

## Prerequisites

* Node.js 18 or newer
* npm
* A Supabase project (authentication, PostgreSQL, storage, edge functions)

## Install dependencies

```bash theme={null}
npm install
```

## Configure environment variables

Copy the example file and add your Supabase credentials:

```bash theme={null}
cp .env.example .env.local
```

Required variables:

* `VITE_SUPABASE_URL`
* `VITE_SUPABASE_ANON_KEY`

See [Environment variables](/en/reference/environment-variables) for details. The repository intentionally does not track `.env` or `.env.*` files.

## Run the app

```bash theme={null}
npm run dev
```

The Vite development server runs at `http://localhost:8080`.

## Useful scripts

| Command              | Purpose                                           |
| -------------------- | ------------------------------------------------- |
| `npm run dev`        | Start the local Vite server (port 8080)           |
| `npm run build`      | Build the app for production                      |
| `npm run build:dev`  | Build the app in development mode                 |
| `npm run preview`    | Preview the production build locally              |
| `npm run lint`       | Run ESLint                                        |
| `npm run i18n:check` | Dry-run check of locale file parity               |
| `npm run i18n:sync`  | Sync missing locale strings across the 24 locales |

## Previewing this documentation

The docs live in `docs/` as a Mintlify project:

```bash theme={null}
cd docs
npm i -g mint
mint dev            # preview at http://localhost:3000
mint broken-links   # validate internal links
```
