---
sidebar_position: 2
slide: /diagrams/abi-quickstart.svg
slide_alt: Clone, set a key, start the stack, open Nexus UI.
---

# Quickstart

Run ABI on your machine. You need Docker, [uv](https://docs.astral.sh/uv/getting-started/installation/), Git, and Python 3.11 or newer.

## 1. Clone

```bash
git clone https://github.com/jupyter-naas/abi.git
cd abi
```

Fork first if you plan to keep a private copy. See [Git remote](/customize/developer_tool_chain/setup_git_remote).

## 2. Environment

```bash
cp .env.example .env
```

Put at least one model key in `.env`. OpenAI is the usual first key:

```bash
OPENAI_API_KEY=sk-...
```

`.env` is gitignored. Do not commit it.

## 3. Start the stack

```bash
make
```

Or, from a checkout that already has the CLI:

```bash
abi dev up
```

First boot creates local config if it is missing. Docker must be running: Oxigraph, Postgres, and the job runner come up as containers.

## 4. Open a surface

| Surface | Where |
|---|---|
| Nexus UI | [http://localhost:3042](http://localhost:3042) |
| API docs | Local OpenAPI on the API process |
| CLI | `abi chat` |

The port does not change.

Default local admin (Nexus password login) is documented in the ABI repo `AGENTS.md`. Change it before you expose the box.

In chat, ask Abi to list agents. Enabled ones should show as on.

## 5. Turn a module on

Edit `config.yaml`. Set `enabled: true` on the module or agent you want. Restart the stack so the context engine reloads.

No rewrite of the supervisor. That is the point.

## Next

- [Architecture](/get-started/system-architecture): kernel, module, components
- [Request path](/get-started/request-path): how a request moves
- [Installation](/customize/installation): clone vs fork, `.env`, `config.yaml`
- [Agents](/customize/capabilities/agents): roles, tools, dispatch
- [Community](https://naas.ai/community) if you operate it; [Enterprise](https://naas.ai/enterprise) if we operate it with you
