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

# Quickstart

> Go from zero to your first rendered demo video in a few minutes.

This walks through the fastest path: install the CLI, sign in, mint an API key, and create your first demo.

<Steps>
  <Step title="Install the CLI">
    ```bash theme={null}
    npm install -g @screenforge/director-cli
    ```

    Then install the Chromium build Director drives:

    ```bash theme={null}
    director init
    ```

    Add `--with-deps` on Linux if the OS-level libraries Chromium needs aren't already present.
  </Step>

  <Step title="Sign in">
    ```bash theme={null}
    director login
    ```

    This opens your browser for a one-time approval, then saves credentials to `~/.director/credentials.json`. It does **not** create an API key by itself — that's the next step.
  </Step>

  <Step title="Create an API key">
    If you're connecting an MCP-capable agent (Claude Code, Cursor, Claude Desktop), this single command signs you in if needed, mints a key, and wires it into your agent's config automatically:

    ```bash theme={null}
    director mcp --create-key
    ```

    The key is printed **once** — save it. Prefer a UI? Sign in to the dashboard and create one from **API Keys** → **New API key** instead.
  </Step>

  <Step title="Create your first demo">
    Ask your connected agent to create one — for example:

    > Create a Director demo for `https://your-demo-store.example.com` that searches for wireless headphones and adds the first result to the cart.

    Your agent calls the `create_demo` tool on its own and gets back a `demo_id` with `status: "queued"` right away.
  </Step>

  <Step title="Wait for the result">
    Keep talking to your agent, or ask it to wait — it calls `wait_for_demo`, which returns once the demo finishes (or times out after `timeout_seconds`, default 120).

    A finished demo comes back with `outcome.goalMet`, a `videoUrl` (a signed, time-limited link), and a timing breakdown.
  </Step>
</Steps>

<Note>
  Recording against `localhost` or another private target requires a tunnel — Director's browser runs in the cloud, not on your machine. Public URLs work with no extra setup.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Sign in to a real account" icon="key" href="/director/concepts/environments">
    Set up an environment so demos start already logged in.
  </Card>

  <Card title="Full MCP tool reference" icon="robot" href="/director/mcp-tools">
    All 11 tools, their arguments, and response shapes.
  </Card>
</CardGroup>
