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

# Building from Source

> Build the Harbor desktop app or CLI from source.

## Prerequisites

* [Rust](https://rustup.rs/) (stable, 1.80+)
* [Node.js](https://nodejs.org/) 20+
* [Tauri Prerequisites](https://v2.tauri.app/start/prerequisites/) (for the desktop app)

## Clone the Repository

```sh theme={null}
git clone https://github.com/JoshuaShunk/Harbor.git
cd Harbor
```

## Desktop App

<Steps>
  <Step title="Install frontend dependencies">
    ```sh theme={null}
    cd ui && npm ci && npm run build && cd ..
    ```
  </Step>

  <Step title="Run in development">
    ```sh theme={null}
    cd crates/harbor-desktop && cargo tauri dev
    ```
  </Step>

  <Step title="Build for production">
    ```sh theme={null}
    cd crates/harbor-desktop && cargo tauri build
    ```
  </Step>
</Steps>

## CLI Only

```sh theme={null}
cargo build --release -p harbor-cli
```

The binary will be at `target/release/harbor`.

Or install it directly:

```sh theme={null}
cargo install --path crates/harbor-cli
```

## Project Structure

```
Harbor/
├── crates/
│   ├── harbor-core       # Core library (config, connectors, gateway, vault)
│   ├── harbor-cli        # CLI binary
│   └── harbor-desktop    # Tauri desktop app
└── ui/                   # React frontend
    └── src/
        ├── pages/        # Servers, Hosts, Marketplace, Settings
        ├── components/   # Shared components
        └── contexts/     # Theme, updates
```

## Tech Stack

| Layer    | Technology                         |
| -------- | ---------------------------------- |
| Core     | Rust, Tokio, Axum                  |
| Desktop  | Tauri v2                           |
| Frontend | React 19, TypeScript, Tailwind CSS |
| Build    | Cargo (Rust), Vite (JavaScript)    |
