# On your laptop

At the end, Loopgate is open in your browser, it sees the coding agents you are signed in to, and a workflow has run one task on a repository of yours.

## At a glance

**Time:** 5 minutes with Node, 15 with Docker.

**You need:**

- Node 22 or newer and Git, or Docker instead
- A Git repository on this machine
- Claude Code, Codex or pi, signed in as you normally do

## Steps

1. **Start Loopgate.**

   ```sh
   npx loopgate ui
   ```

   You should see: the workbench open in your browser on Tasks, asking what needs doing. Settings → Engines names Claude Code, Codex and pi, each Ready, Sign in needed or Not installed.

2. **Add a workspace:** the folder icon beside Tasks in the sidebar. Type the path of your repository, such as `~/code/my-app`, and press **Add**. Or paste a repository address and press **Clone**.

   You should see: the folder in the sidebar with a + beside it.

3. **Say what needs doing** in the box, such as "Add a README that explains how to run this project". Leave **Who** on **Auto** and press **Run**.

   You should see: a draft that names who works it and each step's model. Click a step to see what it will be told, every word of it.

   Or pick **plan-build-review** under **Who**: its steps show under the box, and Run starts it as built.

4. **Press Start.**

   You should see: the run's conversation. Each agent's turn opens with what it was sent, on the right, and its reply follows on the left.

5. **When the run needs you, open Needs you** in the sidebar and answer there: a plan to lock, a choice, an approval.

   You should see: **Open pull request** in the run's header once a step has committed. Nothing opens without your press.

### Without Node, in Docker

With about 2 GB of free memory and 5 GB of disk: [Docker Desktop](https://www.docker.com/products/docker-desktop/) on a Mac or Windows, opened once, or Docker Engine with Compose on Linux.

1. **Make a folder for Loopgate and download the laptop file into it.**

   ```sh
   mkdir loopgate && cd loopgate && curl -fsSLO https://loopgate.dev/runner/laptop.compose.yaml
   ```

2. **Start it.**

   ```sh
   docker compose -f laptop.compose.yaml up -d
   ```

   You should see: the download, then `Container loopgate-laptop-loopgate-1  Started`.

3. **Print the launch link and open it within a minute.**

   ```sh
   docker compose -f laptop.compose.yaml logs loopgate
   ```

   You should see: a line that starts `http://127.0.0.1:4312/#token=`; opened, it shows Tasks.

4. **On Settings → Engines, press Sign in with ChatGPT or Sign in with Claude** on pi's row, and follow the address and code it shows.

   You should see: pi's row says Ready.

5. **Add a workspace by its address:** paste a repository address and press **Clone**, or type a name and press **Create** for an empty folder. Then follow steps 3 to 5 above.

   You should see: `Cloning <repo>…` with Git's progress, then the workspace in the sidebar.

## Good to know

- The agents work on a branch of their own, in a worktree beside your checkout. Your checkout is not touched.
- A run has no spending limit unless you set one on its draft.
- Loopgate keeps running after you close the terminal; `npx loopgate ui` brings the page back. It works only while the laptop is awake; on a server, runs keep going.
- `npx loopgate runs` lists every task and how it ended.

## If something is off

- **Engines says an agent is not Ready.** Sign in to it in your terminal as you normally do, then press **Detect again** on Settings → Engines.
- **Run or Start is grey.** The draft still needs the task: type it in its Task row. A workflow that opens a pull request needs a workspace that is one Git repository; a folder without Git is worked in place, with no pull request.
- **The Docker launch link no longer opens Loopgate.** Each link works for a minute. Print a fresh one with `docker compose -f laptop.compose.yaml exec loopgate loopgate ui --no-open`.

## Next

- [The patterns](patterns.md)
- [On your server](server.md)
