Add llms.txt and additional meta tags for marketing site

- Add llms.txt with structured overview of Fabro docs for LLM consumption
- Add canonical link, application-name, apple-mobile-web-app-title
- Add twitter:image dimensions
- Make og:url dynamic per page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-16 12:30:16 -04:00
parent fe6ce15c20
commit 684f4070e0
No known key found for this signature in database
2 changed files with 86 additions and 1 deletions

View file

@ -0,0 +1,80 @@
# 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 DOT 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 DOT 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
- [Retros](https://docs.fabro.sh/execution/retros): Automatic retrospectives for every run
- [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
- [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

View file

@ -14,6 +14,9 @@ const { title } = Astro.props;
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="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." />
<meta name="application-name" content="Fabro" />
<meta name="apple-mobile-web-app-title" content="Fabro" />
<link rel="canonical" href={`https://fabro.sh${Astro.url.pathname}`} />
<!-- Open Graph -->
<meta property="og:type" content="website" />
@ -22,7 +25,7 @@ const { title } = Astro.props;
<meta property="og:image" content="https://fabro.sh/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://fabro.sh" />
<meta property="og:url" content={`https://fabro.sh${Astro.url.pathname}`} />
<meta property="og:site_name" content="Fabro" />
<!-- Twitter Card -->
@ -30,6 +33,8 @@ const { title } = Astro.props;
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content="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." />
<meta name="twitter:image" content="https://fabro.sh/og-image.png" />
<meta name="twitter:image:width" content="1200" />
<meta name="twitter:image:height" content="630" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="preconnect" href="https://fonts.googleapis.com" />