fabro/docs/getting-started/quick-start.mdx
Bryan Helmkamp b601df47e5 Per-request demo mode with UI toggle
Replace the server-level `--demo` flag with per-request demo dispatch.
The Rust API builds both a demo and real router; incoming requests with
the `X-Arc-Demo: 1` header hit the demo router (auth disabled, static
data), all others hit the real router with normal auth.

The React web app gets a beaker icon toggle in the top nav bar (next to
the theme toggle) that sets an `arc-demo` cookie. Loaders read the
cookie to decide whether to send the `X-Arc-Demo: 1` header to the API.
The `ARC_DEMO=1` env var still works as a default when no cookie is set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 07:30:23 -05:00

101 lines
2.2 KiB
Text

---
title: "Quick Start"
description: "Get up and running with Arc"
---
## Prerequisites
- [Rust](https://rustup.rs/) (latest stable)
- [Bun](https://bun.sh/) (for the web frontend)
- At least one LLM API key (e.g. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `GEMINI_API_KEY`)
## Clone and build
```bash
git clone https://github.com/qltysh/arc.git
cd arc
cargo build --release
```
## Configure API keys
Copy the example environment file and fill in your API keys:
```bash
cp .env.example .env
```
Edit `.env` and add at least one LLM provider key:
```bash
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=AI...
```
<Note>
You only need one provider key to get started. Add more to enable multi-model workflows.
</Note>
## Run the setup wizard
The interactive setup wizard validates your environment and walks you through configuration:
```bash
./target/release/arc setup
```
## Verify your installation
```bash
./target/release/arc doctor --live
```
This checks that your API keys, tools, and environment are working correctly.
## Run a workflow from the CLI
Try the hello world workflow:
```bash
./target/release/arc run start demo/01-hello.dot
```
Or a multi-step plan-approve-implement workflow with a human approval gate:
```bash
./target/release/arc run start demo/10-plan-implement.dot
```
## Start the API server
The API server exposes a REST API for launching and managing workflow runs:
```bash
./target/release/arc serve
```
This starts the server on `http://localhost:3000`. Demo mode is per-request — the web UI sends the `X-Arc-Demo: 1` header automatically when configured with `ARC_DEMO=1`.
## Start the web frontend
In a separate terminal, install dependencies and start the React dev server:
```bash
cd apps/arc-web
bun install
bun run dev
```
The web UI is available at `http://localhost:5173` and connects to the API server on port 3000.
## Next steps
<Columns cols={2}>
<Card title="Why Arc?" icon="lightbulb" href="/getting-started/why-arc">
Understand the problems Arc solves.
</Card>
<Card title="Workflows" icon="diagram-project" href="/core-concepts/workflows">
Learn how to define workflow graphs in DOT.
</Card>
</Columns>