fabro/docs/integrations/sprites.mdx
Bryan Helmkamp d002aa0b51 Rename arc run startarc run (#5)
* arc(01KK7524KNGTPS4090QMF87FJN): implement (success)

Arc-Run: 01KK7524KNGTPS4090QMF87FJN
Arc-Completed: 2
Arc-Checkpoint: 1ff03c704805dfe8e7c37b37f97bd06dfa0e5dc5

* Fix: restore trailing newlines stripped by previous commit

* arc(01KK7524KNGTPS4090QMF87FJN): simplify (success)

Arc-Run: 01KK7524KNGTPS4090QMF87FJN
Arc-Completed: 3
Arc-Checkpoint: 21771adfd26283a1d1e6b8a123a83a0c4277db48

---------

Co-authored-by: arc <arc@local>
Co-authored-by: Arc Assistant <assistant@arc.dev>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:14:50 -04:00

64 lines
2.1 KiB
Text

---
title: "Sprites"
description: "Run Arc workflows in persistent Sprites VMs from Fly.io"
---
<Warning>
The Sprites sandbox provider is **in progress** and not yet available for use. This page describes the planned integration. We'll update it when Sprites support ships.
</Warning>
[Sprites](https://sprites.dev) (by Fly.io) provides persistent, hardware-isolated Linux microVMs for Arc workflows. Unlike ephemeral providers, Sprites VMs persist across runs with auto-sleep/wake — so dependencies stay installed and caches stay warm.
## How it works
- Each run creates (or reuses) a Sprite VM via the `sprite` CLI
- Agent tool calls (shell commands, file edits, grep, glob) execute via `sprite exec` inside the VM
- The working directory is `/home/sprite`
- Each Sprite has a preview URL (e.g. `https://<name>-<org>.sprites.app/`)
- VMs auto-sleep after inactivity and wake on the next command
- Pre-installed toolchains include ripgrep
## Configuration
```bash
arc run workflow.dot --sandbox sprites
```
```toml title="run.toml"
[sandbox]
provider = "sprites"
```
A full configuration example with all Sprites-specific options:
```toml title="run.toml"
[sandbox]
provider = "sprites"
[sandbox.sprites]
org = "my-org"
url_auth = "public"
sprite_name = "my-existing-sprite"
```
| Option | Description |
|---|---|
| `org` | Sprites organization name (passed as `--org` to the CLI) |
| `url_auth` | Preview URL auth mode: `"public"` or `"sprite"` (default) |
| `sprite_name` | Reuse an existing Sprite instead of creating a new one. Skips create and destroy — useful for development |
## Prerequisites
- The `sprite` CLI installed and authenticated (`sprite login`)
- A `SPRITE_TOKEN` environment variable (or interactive login)
## Reusing Sprites
Set `sprite_name` to reuse an existing Sprite across runs. When set, Arc skips creation and destruction — the Sprite persists between runs with its filesystem intact:
```toml title="run.toml"
[sandbox.sprites]
sprite_name = "my-dev-sprite"
```
This is useful for development workflows where you want to keep installed dependencies and project state between runs.