mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
Update 47 MDX doc pages, OpenAPI spec, SVG diagram, language grammar, frontend demo data, marketing page, skills, and README to use .fabro extension. Add "fabro" to fileTypes in language grammars. Document stack.child_workflow alongside stack.child_dotfile. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
2.1 KiB
Text
64 lines
2.1 KiB
Text
---
|
|
title: "Sprites (preview)"
|
|
description: "Run Fabro 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 Fabro 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
|
|
fabro run workflow.fabro --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, Fabro 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.
|