> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fabro.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Composable run lifecycle: create, start, attach

## `fabro create` / `start` / `attach`

`fabro run` has been decomposed into three composable primitives following the Docker-style lifecycle model. `fabro create` allocates the run directory, `fabro start` spawns the detached engine process, and `fabro attach` tails progress with live rendering and handles human-in-the-loop interactions. `fabro run` remains the all-in-one command — it now composes these three steps internally, and `--detach` simply skips the attach step.

This enables new automation patterns: create a run, start it in the background, and attach later — or script CI pipelines that create and start without ever attaching.

```bash theme={"languages":{"custom":["/languages/dot.json","/languages/fabro.json"]}}
fabro create my-workflow --goal "Implement feature X"
fabro start <run-id>
fabro attach <run-id>
```

## More

<Accordion title="CLI">
  * Added Linux ARM64 (`aarch64-unknown-linux-gnu`) release target
  * `fabro logs` and `fabro attach` now show tool details for `spawn_agent`, `use_skill`, `list_dir`, and all remaining agent tools
  * Subagent IDs now use short hex strings instead of UUIDs for readability
</Accordion>

<Accordion title="Workflows">
  * `StageStarted` events are now emitted on retry attempts for better observability
  * Added bundled `implement-issue` workflow for implementing GitHub issues via `fabro run implement-issue`
  * Added bundled `gh-triage` workflow for checking open PRs and issues via `gh` CLI
  * Model aliases in graph nodes are now resolved to canonical IDs at parse time
</Accordion>

<Accordion title="Fixes">
  * Updated `tar` crate to 0.4.45 (security fix)
</Accordion>
