Build the builder.

Fabrica is a software factory framework. Think of it as terraform for factories. Your skills, loops, and rules are infrastructure, but they are scattered and not versioned. Fabrica is here to help.

~/.fabrica

Your agent setup was scattered

If your team uses AI coding agents, your “how we work” knowledge ends up all over the place.

  • The same skills get copied into every repo’s .claude/skills folder.
  • AGENTS.md mixes how this app works with how you write code in general.
  • A PR-review bot gets set up by hand in three tools, and the three slowly drift apart.
  • There’s no centralized observability for agents and loops.

So when you improve your process, you update it everywhere by hand. And when you switch tools, you start over.

Now it gets configured and provisioned

Your product repo versions your code. A blueprint repo versions your software factory.

Fabrica

Blueprint repo

Generic skills, rules, routines, and their connectors. May import third-party blueprints too.

Fabrica MCP

Serves your factory’s rules and skills.

Agents and Loops

Scheduled tasks in Claude Code, Cursor, and others.

Product repo

Your actual software code.

Composable software factories

Import blueprints inside larger blueprints. Build your software factory with reusable software factory fragments.

Install

Fabrica is a single static binary

Install
curl -fsSL https://raw.githubusercontent.com/staltz/fabrica/main/install.sh | bash

It puts fabrica in ~/.local/bin. Prefer Go? Build it from source.

On a Mac, you can use Fabrica.app instead: a menu bar app that installs the CLI too and edits your factories with forms. Download Fabrica-macos.zip.

Fabrica.app showing a factory: its blueprint, the tools it runs in, and its repos
  1. Make a blueprint

    Start from the starter blueprint that comes built in: five skills, three routines and four rules, ready to change.

    $ fabrica new ~/code/my-blueprint
    $ fabrica check
    ✓ No problems found.
  2. Add a factory

    One file in your home repo: this blueprint, on every repo, in Claude Code and Cursor.

    ~/.fabrica/factories/my-default.yaml
    blueprint: { git: github.com/you/my-blueprint, ref: main }
    runtimes: [claude-code-local, cursor-local]
    targets: ["*"]
  3. Plan, then apply

    Plan never changes anything. Apply adds one MCP server to each tool, and never writes into a product repo.

    $ fabrica plan
    $ fabrica apply
  4. Add the Fabrica line

    Make it the first line of a product repo’s AGENTS.md. From then on, every agent there works your way.

    AGENTS.md
    Before starting, load this repo's working rules from the Fabrica MCP server; if you don't have it, ignore this line.

Or let your agent set it up.

Paste this into your coding agent, in your project’s repo. It installs Fabrica, moves your generic skills and rules into a blueprint, and deploys a factory back onto your repo.

Prefer doing it by hand? Read the guide.

Prompt
I want you to use https://github.com/staltz/fabrica to set up a software factory for my project.

**Instructions:**
1. Read how Fabrica works
2. Install the `fabrica` CLI for me
3. Ask me if I want a local-only or a cloud-based factory, and with what AI harnesses
4. Create a new factory blueprint repository in a suitable location
5. Extract generic skills and rules from this product repository into the blueprint repository
6. Configure the factory in the home repo `~/.fabrica`
7. Use `fabrica plan` and `fabrica apply` to deploy the factory onto the product repository
8. Verify that it works
9. Report back to me with a simple summary (written in casual and conversational plain English) on: what changed in my product repository, how the factory was deployed, how it works, and follow ups to improve the factory.

Learn more

Read the manual