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

# Choose your setup

> Select the simplest runtime topology that supports your project.

Run `uv run ngram setup` to choose an inference route and create an Entity. The wizard distinguishes where the **runtime** lives from where **inference** happens.

## Three setup profiles

| Profile  | Runtime                  | Inference                        | Extra infrastructure                        |
| -------- | ------------------------ | -------------------------------- | ------------------------------------------- |
| `hosted` | Local computer           | Provider API                     | Provider credential                         |
| `local`  | Local computer           | Local Ollama                     | Model download and sufficient hardware      |
| `hybrid` | Typically Railway worker | Protected home inference gateway | Gateway, Cloudflare Access, durable storage |

```bash theme={null}
uv run ngram setup --profile hosted
uv run ngram setup --profile local
uv run ngram setup --profile hybrid
```

Run only the command for the profile you want. Hosted is the shortest path when you already have a provider account. Local is useful when you want inference on your own hardware. Hybrid is an operational deployment choice.

## What the wizard configures

* Your Entity name and configuration.
* The inference provider and model selection.
* Local environment variables and provider credentials.
* An embedding route for semantic memory.
* Advanced gateway and tunnel setup when you explicitly choose hybrid.

Follow the exact next-step command printed at the end. Keep `.env` local and restart an already running process after changing its environment.

## Add a spatial body

For an existing local Entity, use [manual spatial setup](/spatial/quickstart). For an integrated hosted-inference and Meta Quest lab workflow, use:

```bash theme={null}
uv run ngram lab up rook --lan
```

The lab launcher performs provider checks and supervises the Entity and WebXR processes. It exposes the HTTPS spatial surface to your trusted LAN while keeping the Entity bridge on loopback. See [Quest lab](/deployment/quest-lab) for requirements and pairing.

## Verify before adding another layer

1. Confirm the Entity can reply in the terminal.
2. Confirm embedding requests succeed.
3. Inspect state paths with `uv run ngram status rook`.
4. Connect one additional surface.
5. Verify stop behavior and persistence before leaving a daemon running.

<Tip>Cloudflare is only needed when your chosen topology exposes a protected home gateway. It is not part of ordinary hosted or local first-run setup.</Tip>
