fabro/docs/public/getting-started/quick-start.mdx

95 lines
2.8 KiB
Text

---
title: "Quick Start"
description: "Get up and running with Fabro"
---
<Note>
Fabro runs as a server. This quickstart runs everything locally on your laptop — no deployment required. To self-host the server for a team or 24/7 workflows, see [Deployment](/administration/deployment).
</Note>
## Supported platforms
| OS | Architecture | Supported |
| --- | --- | --- |
| Linux | x86_64 | Yes |
| Linux | arm64 (aarch64) | Yes |
| macOS | arm64 (Apple Silicon) | Yes |
| macOS | x86_64 (Intel) | No |
| Windows | any | No |
<Note>
On Intel Macs, run Fabro in a Linux x86_64 container or VM. Native Windows isn't supported; use WSL2 with a supported Linux architecture.
</Note>
## Install
<Tabs>
<Tab title="Claude Code">
```bash
curl -fsSL https://fabro.sh/install.md | claude
```
</Tab>
<Tab title="Codex">
```bash
codex "$(curl -fsSL https://fabro.sh/install.md)"
```
</Tab>
<Tab title="Homebrew">
```bash
brew install fabro-sh/tap/fabro-nightly
```
</Tab>
<Tab title="Bash">
```bash
curl -fsSL https://fabro.sh/install.sh | bash
```
</Tab>
</Tabs>
<Tip>
Release binaries and the multi-arch Docker image ship with [SLSA Build Provenance](/reference/verifying-releases) attestations you can verify with `gh attestation verify`.
</Tip>
<Note>
Self-hosting the server? See [Self-host with Docker](/administration/self-host-docker) and [Server Operations](/reference/server-operations) for the install wizard, auth, and CLI-pointing.
</Note>
## Initialize your project
```bash
cd my-repo/
fabro repo init
```
This creates `.fabro/project.toml` and a starter workflow under `.fabro/workflows/hello/`.
## Configure API keys
`fabro run` uses the Fabro server even when you run it from a local terminal. If installation has not already configured a provider, store a key in that server's vault:
```bash
fabro secret set ANTHROPIC_API_KEY sk-ant-...
```
You can also use `fabro provider login --provider anthropic` for guided setup. You only need one provider to get started; add more to enable multi-model workflows.
<Note>
Exporting a provider key in your shell does not configure server-backed workflows. For a remote server, use `fabro secret --server https://fabro.example.com set ANTHROPIC_API_KEY sk-ant-...` and `fabro run --server https://fabro.example.com hello` so both commands use the same server. Direct `fabro exec` and SDK callers have different [credential sources](/core-concepts/models#credential-sources).
</Note>
## Run your first workflow
```bash
fabro run hello
```
## Next steps
<Columns cols={2}>
<Card title="Why Fabro?" icon="lightbulb" href="/getting-started/why-fabro">
Understand the problems Fabro solves.
</Card>
<Card title="Workflows" icon="diagram-project" href="/core-concepts/workflows">
Learn how to define workflow graphs in Graphviz.
</Card>
</Columns>