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

# Development setup

> Get the Freestyle repo running locally before you build a plugin.

Plugins live in the Freestyle monorepo, so set that up first. The [CONTRIBUTING.md](https://github.com/freestyle-voice/freestyle/blob/main/CONTRIBUTING.md) has the full details.

## Prerequisites

* Node.js 22+
* pnpm 10+

## Setup

<Steps>
  <Step title="Clone the repo">
    ```bash theme={null}
    git clone https://github.com/freestyle-voice/freestyle.git
    cd freestyle
    ```
  </Step>

  <Step title="Install dependencies">
    ```bash theme={null}
    pnpm install
    ```
  </Step>

  <Step title="Start it">
    ```bash theme={null}
    pnpm dev
    ```

    This runs the Electron app with hot reload. The embedded server starts on its own. On first launch, macOS asks for **Microphone** and **Accessibility** access.
  </Step>
</Steps>

## Layout

* `apps/electron`: the desktop app (main process + React renderer).
* `apps/server`: the embedded Hono API.
* `packages/sdk`: the `freestyle-voice` package you build plugins against.
* `plugins`: the example plugins.

## Build

```bash theme={null}
pnpm --filter @freestyle-voice/electron build:mac   # or build:win / build:linux
```

Next: see [how plugins work](/how-plugins-work).
