export const metadata = {
  title: 'Getting Started',
  description: 'Get started in Edgen development',
}

# Getting Started

This section is dedicated for developers looking to contribute to Edgen or build it from source. {{ className: 'lead' }}

<Note>
  If you just want to quickly use Edgen by using pre-built binaries, please check [Guides &raquo; Quickstart](/guides/quickstart).
</Note>

## Prerequisites

### Windows

{/* #### 1. Microsoft Visual Studio C++ Build Tools */}
TODO


### MacOS

#### 1. CLang and macOS development dependencies
```bash
xcode-select --install
```
#### 2. Install rust
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

### Linux

#### 1. Install system dependencies
<CodeGroup >

```bash {{ title: 'Ubuntu' }}
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    file \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev \
    cmake \
    llvm \
    clang
```

```bash {{ title: 'NixOS' }}
# with flake.nix
nix develop
```

</CodeGroup>

#### 2. Install rust
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

## Build

### 1. Clone the repository
```bash
git clone https://github.com/edgenai/edgen.git
```

### 2. Build and run
```bash
# or without --release for debug build
cargo run --release
```
### 2.1 Run without GUI
```bash
cargo run --release -- --nogui
```
