fabro/apps/marketing/public/llms.txt
Bryan Helmkamp 5fc9157017
refactor(workflow): remove retro stage (#230)
## Summary

Removes Fabro's automatic retro generation stage so workflow runs go
directly from execution to finalization and optional PR creation. This
drops the retro-specific crate, events, projection fields, config/API
knobs, and user-facing docs in favor of the existing durable run
observability surfaces.

## What Changed

- Deleted the `fabro-retro` crate and the workflow `retro` pipeline
phase, with finalization now consuming `Executed` state directly.
- Removed retro configuration and API surface area, including
`--no-retro`, `[run.execution].retros`, manifest `no_retro`,
`features.retros`, and run projection `retro*` fields.
- Retired typed `retro.*` events while keeping historical event logs
readable by deserializing retired retro event names as `Unknown`.
- Stopped appending retro sections to generated PR bodies and updated
docs, marketing copy, screenshots, and navigation to point users toward
observability/event-stream inspection.

## Testing

Not run during PR creation; this branch already contained the
implementation commit.

---

[![Compound
Engineering](https://img.shields.io/badge/Compound_Engineering-6366f1)](https://github.com/EveryInc/compound-engineering-plugin)
🤖 Generated with GPT-5 (unknown context, reasoning unspecified) via
[Codex](https://openai.com/codex)
2026-05-09 10:18:20 -04:00

79 lines
4.9 KiB
Text

# Fabro
> Fabro is the open source dark software factory for expert engineers. Define your process as a workflow graph, let AI agents execute it, and intervene only where it matters.
Fabro replaces the prompt-wait-review loop with version-controlled workflow graphs that orchestrate AI agents, shell commands, and human decisions into repeatable, long-horizon coding processes. Workflows are defined as Graphviz graphs where each node is a stage (agent, prompt, command, conditional, human, parallel, etc.) executed by the workflow engine.
- Open source, MIT-licensed
- Workflows defined as Graphviz graphs with CSS-like model stylesheets
- Sandboxed execution via local Docker, Daytona, SSH, or Sprites
- Checkpoint/resume for long-running workflows
- Human-in-the-loop via CLI, web UI, or Slack
- GitHub integration for PR creation and repository access
- REST API with SSE event streaming
## Getting Started
- [Introduction](https://docs.fabro.sh/getting-started/introduction): Overview of Fabro and what it does
- [Quick Start](https://docs.fabro.sh/getting-started/quick-start): Get up and running with Fabro
- [Why Fabro?](https://docs.fabro.sh/getting-started/why-fabro): The problems Fabro solves for AI-assisted software teams
- [Comparison](https://docs.fabro.sh/getting-started/comparison): How Fabro compares to AI coding agents, software factories, and orchestration platforms
- [Dark Factory](https://docs.fabro.sh/getting-started/dark-factory): How small teams incrementally adopt a dark factory approach
## Core Concepts
- [Workflows](https://docs.fabro.sh/core-concepts/workflows): Core workflow concepts
- [Agents](https://docs.fabro.sh/core-concepts/agents): Core agent concepts
- [Models](https://docs.fabro.sh/core-concepts/models): How Fabro routes tasks to LLM models and providers
- [How Fabro Works](https://docs.fabro.sh/core-concepts/how-fabro-works): Architecture and execution model
## Tutorials
- [Hello World](https://docs.fabro.sh/tutorials/hello-world): Your first workflow — prompt nodes, tool use, and sub-agents
- [Plan & Implement](https://docs.fabro.sh/tutorials/plan-implement): Human gates, revision loops, and prompt file references
## Workflows
- [Nodes & Stages](https://docs.fabro.sh/workflows/stages-and-nodes): All node types and how they become stages at runtime
- [Transitions](https://docs.fabro.sh/workflows/transitions): How Fabro decides which node to execute next
- [Model Stylesheets](https://docs.fabro.sh/workflows/stylesheets): Assign LLM models to nodes using CSS-like rules
- [Variables](https://docs.fabro.sh/workflows/variables): Using variables in workflows
- [Human-in-the-Loop](https://docs.fabro.sh/workflows/human-in-the-loop): Adding human review and intervention
- [Best Practices](https://docs.fabro.sh/workflows/best-practices): Best practices for designing workflows
## Agents
- [Tools](https://docs.fabro.sh/agents/tools): Built-in tools for file I/O, shell, search, and web access
- [Prompts](https://docs.fabro.sh/agents/prompts): How Fabro constructs and delivers prompts
- [Permissions](https://docs.fabro.sh/agents/permissions): Controlling which tools agents can use
- [Skills](https://docs.fabro.sh/agents/skills): Reusable prompt templates that extend agent capabilities
- [Hooks](https://docs.fabro.sh/agents/hooks): Run custom logic in response to workflow lifecycle events
- [Outputs & Artifacts](https://docs.fabro.sh/agents/outputs): Agent responses, file changes, and test assets
- [MCP](https://docs.fabro.sh/agents/mcp): Extend agents with Model Context Protocol servers
- [Sub-agents](https://docs.fabro.sh/agents/subagents): Delegate subtasks to child agent sessions
## Execution
- [Environments](https://docs.fabro.sh/execution/environments): Sandbox providers for workflow execution
- [Run Configuration](https://docs.fabro.sh/execution/run-configuration): Configure runs with TOML files
- [Checkpoints](https://docs.fabro.sh/execution/checkpoints): Git-based checkpoint and resume
- [Observability](https://docs.fabro.sh/execution/observability): Monitor, inspect, and analyze runs
## Integrations
- [GitHub](https://docs.fabro.sh/integrations/github): Repository access and OAuth login
- [Slack](https://docs.fabro.sh/integrations/slack): Answer human-in-the-loop questions from Slack
- [Daytona](https://docs.fabro.sh/integrations/daytona): Sandboxed cloud environments
## Reference
- [API Overview](https://docs.fabro.sh/api-reference/overview): Introduction to the Fabro REST API
- [CLI Reference](https://docs.fabro.sh/reference/cli): Command-line interface reference
- [Architecture](https://docs.fabro.sh/reference/architecture): How CLI and API modes work under the hood
- [Graphviz DOT Language](https://docs.fabro.sh/reference/dot-language): Complete reference for Fabro's workflow language
## Optional
- [Changelog](https://docs.fabro.sh/changelog/2026-03-15): Latest changes and releases
- [GitHub Repository](https://github.com/fabro-sh/fabro): Source code
- [Discord](https://fabro.sh/discord): Community chat