Add filename titles to TOML code blocks in docs

Every TOML example now shows which config file it belongs to
(server.toml, cli.toml, or run.toml) via Mintlify's title annotation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-07 17:09:10 -05:00
parent 99ee007572
commit 130339ee87
20 changed files with 51 additions and 51 deletions

View file

@ -9,7 +9,7 @@ The server config file at `~/.arc/server.toml` controls how `arc serve` behaves
### Full reference
```toml
```toml title="server.toml"
# Maximum concurrent workflow runs (default: 5)
max_concurrent_runs = 8

View file

@ -13,7 +13,7 @@ Arc supports four hook types, from simple shell commands to full agent sessions:
Run a shell command via `sh -c`. The simplest and most common hook type.
```toml
```toml title="run.toml"
[[hooks]]
event = "stage_start"
command = "./scripts/pre-check.sh"
@ -23,7 +23,7 @@ command = "./scripts/pre-check.sh"
POST the event context as JSON to an HTTP endpoint. Useful for webhooks, external APIs, and notification services.
```toml
```toml title="run.toml"
[[hooks]]
event = "run_complete"
type = "http"
@ -44,7 +44,7 @@ Authorization = "Bearer $API_KEY"
A single-turn LLM call that evaluates the event context and returns an `ok`/`block` decision. The model responds with structured JSON.
```toml
```toml title="run.toml"
[[hooks]]
event = "stage_start"
type = "prompt"
@ -62,7 +62,7 @@ blocking = true
A multi-turn agent session with full tool access (shell, file read/write, grep, glob). The agent can investigate the workspace before making a decision.
```toml
```toml title="run.toml"
[[hooks]]
event = "run_complete"
type = "agent"
@ -102,7 +102,7 @@ Each hook fires on a specific lifecycle event:
Hooks are defined as `[[hooks]]` entries in a [run configuration](/execution/run-configuration) TOML file:
```toml
```toml title="run.toml"
[[hooks]]
name = "pre-check"
event = "stage_start"
@ -191,7 +191,7 @@ The `matcher` field is a regex pattern that filters which stages trigger a hook.
If any of these fields match the regex, the hook fires. If `matcher` is omitted, the hook fires for all stages of the specified event.
```toml
```toml title="run.toml"
# Only fire for agent nodes
[[hooks]]
event = "stage_start"
@ -285,7 +285,7 @@ When both the server config (`~/.arc/server.toml`) and a run config define hooks
## Full example
```toml
```toml title="run.toml"
# Validate environment before the run starts
[[hooks]]
name = "env-check"

View file

@ -15,7 +15,7 @@ http://localhost:3000
The base URL is configurable via `server.toml`:
```toml
```toml title="server.toml"
[api]
base_url = "https://arc.example.com"
```
@ -24,7 +24,7 @@ base_url = "https://arc.example.com"
The API supports two authentication strategies, configured in `server.toml`:
```toml
```toml title="server.toml"
[api]
authentication_strategies = ["jwt"]
```
@ -54,7 +54,7 @@ Set the verification key via the `ARC_JWT_PUBLIC_KEY` environment variable (PEM
With mTLS, the client authenticates using a TLS client certificate. Configure both the strategy and TLS paths:
```toml
```toml title="server.toml"
[api]
authentication_strategies = ["mtls"]
@ -70,7 +70,7 @@ The Common Name (CN) from the client certificate identifies the user.
You can configure both strategies. They are tried in order — the first successful match wins:
```toml
```toml title="server.toml"
[api]
authentication_strategies = ["jwt", "mtls"]
```

View file

@ -15,7 +15,7 @@ arc run start --execution-env daytona my-workflow.dot
Long chains of CLI flags are hard to remember and impossible to version-control. Run settings now live in a TOML file with `[execution]` for sandbox config and `[vars]` for DOT source parameterization.
```toml
```toml title="run.toml"
[execution]
environment = "daytona"

View file

@ -15,7 +15,7 @@ Workflows can now trigger actions at key moments — before a stage starts, afte
Three executor types are available: `http` for calling external endpoints (with TLS mode configurable per-hook), `prompt` for natural-language conditions evaluated by an LLM, and `agent` for autonomous decision-making.
```toml
```toml title="run.toml"
[[hooks]]
event = "stage.before"
executor = "http"
@ -27,7 +27,7 @@ tls_mode = "strict"
If your primary model is unavailable or rate-limited, runs now automatically switch to a backup. Configure fallback models at the provider level in your server config:
```toml
```toml title="server.toml"
[providers.anthropic]
failover = ["openai", "gemini"]
```

View file

@ -7,7 +7,7 @@ date: "2026-03-07"
Arc can now run agent stages inside ephemeral [exe.dev](https://exe.dev) VMs as an alternative to Daytona sandboxes. The new `arc-exe` crate manages VM lifecycle through SSH — a management plane connection to `exe.dev` for creating and destroying VMs, and a data plane connection to the VM itself for command execution and file I/O.
```toml
```toml title="run.toml"
[execution]
environment = "exe"
```

View file

@ -88,7 +88,7 @@ These flags set the default model for all nodes that don't have an explicit mode
For repeatable runs, set the model in a run config file:
```toml
```toml title="run.toml"
version = 1
goal = "Implement the feature"
graph = "implement.dot"

View file

@ -213,7 +213,7 @@ The stylesheet assigns three tiers of models:
Pair the workflow with a run config TOML for repeatable execution:
```toml
```toml title="run.toml"
version = 1
goal = "Port semantic changes from upstream openai-agents-python to our Go SDK"
graph = "semport.dot"

View file

@ -254,7 +254,7 @@ This is more reliable than a single "implement everything" node because:
Pair the workflow with a run config for repeatable execution:
```toml
```toml title="run.toml"
version = 1
goal = "Build a terminal-based solitaire (Klondike) game in Python"
graph = "build-solitaire.dot"

View file

@ -26,7 +26,7 @@ arc run start workflow.dot --sandbox daytona
arc run start workflow.dot --sandbox exe
```
```toml
```toml title="run.toml"
# Run config TOML
[sandbox]
provider = "daytona"
@ -95,7 +95,7 @@ arc run start workflow.dot --sandbox docker --preserve-sandbox
Or in the run config:
```toml
```toml title="run.toml"
[sandbox]
provider = "docker"
preserve = true
@ -124,7 +124,7 @@ The Daytona sandbox runs all tool operations inside a cloud-hosted VM managed by
Snapshots let you pre-build an environment image so each run starts with dependencies already installed. If the named snapshot doesn't exist and a `dockerfile` is provided, Arc creates it automatically and polls until it's ready (up to 10 minutes).
```toml
```toml title="run.toml"
[sandbox]
provider = "daytona"
@ -153,7 +153,7 @@ If the snapshot already exists and is in `Active` state, Arc uses it directly. I
Attach key-value labels to sandboxes for filtering and identification in the Daytona dashboard:
```toml
```toml title="run.toml"
[sandbox.daytona.labels]
project = "arc"
env = "ci"
@ -186,7 +186,7 @@ Arc prints the sandbox name so you can find it in the [Daytona dashboard](https:
The `auto_stop_interval` setting (in minutes) tells Daytona to stop the sandbox after a period of inactivity. This saves costs for long-running sandboxes that may sit idle:
```toml
```toml title="run.toml"
[sandbox.daytona]
auto_stop_interval = 30
```
@ -213,7 +213,7 @@ The Exe sandbox runs all tool operations inside a cloud VM managed by [exe.dev](
### Configuration
```toml
```toml title="run.toml"
[sandbox]
provider = "exe"
```
@ -250,7 +250,7 @@ Each provider handles outbound network access differently:
For Daytona, network access is configured in the `[sandbox.daytona]` section:
```toml
```toml title="run.toml"
# Block all egress
[sandbox.daytona]
network = "block"

View file

@ -95,7 +95,7 @@ When a handler returns a `Retry` status instead of `Fail`, retries always procee
When a model provider fails with a transient error or quota exhaustion, Arc can automatically switch to a different provider. Configure fallback chains in your [run configuration](/execution/run-configuration):
```toml
```toml title="run.toml"
[llm]
model = "claude-opus-4-6"
provider = "anthropic"

View file

@ -13,7 +13,7 @@ arc run start run.toml
A run config requires three fields:
```toml
```toml title="run.toml"
version = 1
goal = "Implement the login feature"
graph = "workflow.dot"
@ -27,7 +27,7 @@ graph = "workflow.dot"
## Full example
```toml
```toml title="run.toml"
version = 1
goal = "Run the CI pipeline for $repo_name"
graph = "pipelines/ci.dot"
@ -84,7 +84,7 @@ command = "echo done"
Override the default model and provider for all nodes that don't have an explicit model assigned via a [stylesheet](/workflows/stylesheets).
```toml
```toml title="run.toml"
[llm]
model = "claude-sonnet-4-5"
provider = "anthropic"
@ -99,7 +99,7 @@ provider = "anthropic"
Map each provider to an ordered list of fallback providers. When the primary provider is unavailable, Arc tries the fallbacks in order:
```toml
```toml title="run.toml"
[llm.fallbacks]
anthropic = ["gemini", "openai"]
gemini = ["anthropic", "openai"]
@ -109,7 +109,7 @@ gemini = ["anthropic", "openai"]
Shell commands to run before the workflow starts. Use this to clone repositories, install dependencies, or prepare the environment.
```toml
```toml title="run.toml"
[setup]
commands = ["pip install -r requirements.txt", "npm install"]
timeout_ms = 60000
@ -126,7 +126,7 @@ Each command must exit with status 0. If any command fails or times out, the run
Configure how agent tools (bash, file edits) are executed.
```toml
```toml title="run.toml"
[sandbox]
provider = "docker"
preserve = true
@ -141,7 +141,7 @@ preserve = true
Additional settings when using the Daytona cloud sandbox:
```toml
```toml title="run.toml"
[sandbox.daytona]
auto_stop_interval = 60
@ -172,7 +172,7 @@ dockerfile = "FROM rust:1.85-slim-bookworm\nRUN apt-get update"
Define variables that are expanded into the DOT source before the graph is parsed. See [Variables](/workflows/variables) for the full reference.
```toml
```toml title="run.toml"
[vars]
repo_name = "arc"
repo_url = "https://github.com/qltysh/arc"
@ -195,7 +195,7 @@ If a `$variable` in the DOT file has no matching entry in `[vars]`, Arc raises a
Define hooks that run in response to lifecycle events. Each hook is a TOML array entry:
```toml
```toml title="run.toml"
[[hooks]]
name = "pre-check"
event = "stage_start"

View file

@ -38,7 +38,7 @@ Without `--preserve-sandbox`, the SSH session is terminated when the run ends an
You can also set `auto_stop_interval` in your run config to control how long an idle sandbox stays alive:
```toml
```toml title="run.toml"
[sandbox]
provider = "daytona"
preserve = true

View file

@ -27,14 +27,14 @@ Set the sandbox provider in your run config TOML or via CLI flag:
arc run start workflow.dot --sandbox daytona
```
```toml
```toml title="run.toml"
[sandbox]
provider = "daytona"
```
A full configuration example with all Daytona-specific options:
```toml
```toml title="run.toml"
[sandbox]
provider = "daytona"
preserve = false
@ -61,7 +61,7 @@ See [Server Configuration](/administration/server-configuration) for the full re
Control outbound network access with the `network` field. Three modes are available:
```toml
```toml title="run.toml"
# Full access (default)
[sandbox.daytona]
network = "allow_all"
@ -81,7 +81,7 @@ Use `"block"` or a CIDR allow list when running untrusted or generated code to p
Snapshots let you pre-build an environment image so each run starts with dependencies already installed rather than installing them in setup commands every time.
```toml
```toml title="run.toml"
[sandbox.daytona.snapshot]
name = "my-snapshot"
cpu = 4
@ -140,7 +140,7 @@ arc run start workflow.dot --sandbox daytona --preserve-sandbox
Or in the run config:
```toml
```toml title="run.toml"
[sandbox]
provider = "daytona"
preserve = true
@ -152,7 +152,7 @@ When preserved, Arc prints the sandbox name so you can find it in the [Daytona d
The `auto_stop_interval` setting tells Daytona to stop the sandbox after a period of inactivity, saving costs for preserved or long-running sandboxes:
```toml
```toml title="run.toml"
[sandbox.daytona]
auto_stop_interval = 30
```

View file

@ -22,7 +22,7 @@ The exe.dev sandbox provider is in **beta** and not yet generally available. Thi
arc run start workflow.dot --sandbox exe
```
```toml
```toml title="run.toml"
[sandbox]
provider = "exe"
```

View file

@ -72,7 +72,7 @@ The GitHub App configuration lives in two places:
### `~/.arc/server.toml`
```toml
```toml title="server.toml"
[git]
provider = "github"
app_id = "123456"
@ -112,7 +112,7 @@ The web app uses the GitHub App's OAuth credentials to authenticate users:
Configure allowed users in `server.toml`:
```toml
```toml title="server.toml"
[web.auth]
provider = "github"
allowed_usernames = ["alice", "bob"]

View file

@ -83,7 +83,7 @@ ARC_SLACK_APP_TOKEN=xapp-your-app-token
Optionally, set a default channel in your [server configuration](/administration/server-configuration):
```toml
```toml title="server.toml"
[slack]
default_channel = "#arc-reviews"
```

View file

@ -19,7 +19,7 @@ CLI flags always take the highest priority:
## Full example
```toml
```toml title="cli.toml"
mode = "server"
[server]
@ -119,7 +119,7 @@ Optional mTLS configuration for authenticating with the server. When present, th
Paths support `~/` expansion. Example:
```toml
```toml title="cli.toml"
[server.tls]
cert = "~/.arc/tls/client.crt"
key = "~/.arc/tls/client.key"

View file

@ -20,7 +20,7 @@ Arc loads environment variables from `.env` in the current directory and `~/.arc
CLI defaults can be set in `~/.arc/cli.toml` so you don't have to pass common flags every time:
```toml
```toml title="cli.toml"
[agent]
provider = "anthropic"
model = "claude-opus-4-6"

View file

@ -9,7 +9,7 @@ Arc supports `$variable` placeholders that let you parameterize workflows withou
Define variables in the `[vars]` section of a run config TOML file:
```toml
```toml title="run.toml"
version = 1
goal = "Run tests for $repo_name"
graph = "check.dot"