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

# Local development

> Prepare InteraOne's pnpm monorepo, run local infrastructure and applications, work on one package, and debug common services.

Use Node 20 or later, pnpm 9.15.0, Docker/Compose, Git, and Make.

<Steps>
  <Step title="Install and configure">
    ```bash theme={null}
    pnpm install
    make copy-env
    ```

    Fill the generated app `.env` files, including one working LLM/embedding provider pair.
  </Step>

  <Step title="Start infrastructure">
    ```bash theme={null}
    make docker-start
    ```
  </Step>

  <Step title="Deploy the widget asset">
    ```bash theme={null}
    make widget-deploy
    ```
  </Step>

  <Step title="Start application processes">
    ```bash theme={null}
    make dev
    ```

    The root dev task excludes launcher because its bundle is uploaded to MinIO.
  </Step>
</Steps>

## Run a focused package

```bash theme={null}
pnpm --filter @InteraOne/gateway dev
pnpm --filter @InteraOne/console dev
pnpm --filter @InteraOne/agent dev
pnpm --filter @InteraOne/worker dev
```

Package names and available scripts are defined in each `package.json`; not every package implements every root Turbo task.

## Local addresses

| Service       | Local address               | Purpose                             |
| ------------- | --------------------------- | ----------------------------------- |
| Console       | `http://localhost:3000`     | Operator dashboard                  |
| Gateway       | `http://localhost:3002`     | REST API and Socket.IO              |
| Agent health  | `http://localhost:4010`     | AI service health endpoint          |
| MongoDB       | `mongodb://localhost:27017` | Primary application data            |
| Redis         | `localhost:6379`            | Queues, cache, pub/sub, and streams |
| Qdrant        | `http://localhost:6333`     | Vector search                       |
| MinIO API     | `http://localhost:9001`     | Object storage and widget assets    |
| MinIO console | `http://localhost:9002`     | Object-storage administration       |
| MailHog       | `http://localhost:8025`     | Development email inbox             |
| Mongo Express | `http://localhost:8081`     | Development database browser        |
| Dozzle        | `http://localhost:8888`     | Container log viewer                |

## Debug loop

* Gateway: call `/api/v1/health`, inspect request ID and domain logs.
* Queue work: inspect gateway producer and agent/worker consumer logs together.
* Email: open MailHog and check `platform-email` failures.
* Storage: inspect MinIO objects and presigned URL hostname reachability.
* Retrieval: use agent vector inspection scripts and confirm source status/counts.
* Widget: check script, iframe, network, `postMessage` origins, and Socket.IO frames in browser tools.
