๐Ÿญ Free CLI Tool

Your SDLC,
on autopilot

Fabrik watches your GitHub Project board and drives Claude Code through a full software development pipeline โ€” Specify, Research, Plan, Implement, Review, Validate โ€” automatically. File an issue. Drag a card. Ship.

๐Ÿ“‹ GitHub Project Board source of truth
โ†“ GraphQL poll
๐Ÿญ Fabrik Go CLI, runs locally
โ†“ stage config match
๐Ÿค– Claude Code invoked per stage, isolated worktree
โ†“ output
๐Ÿ’ฌ GitHub Comments + Labels + PRs durable state

Issues in. Code out.

Each issue moves through board columns that map to pipeline stages. Fabrik polls the board, matches the issue's column to a stage config, spins up an isolated git worktree, and invokes Claude Code with the stage's prompt.

01
Specify
Refines rough issues into clear specs via Q&A
02
Research
Explores codebase, identifies scope
03
Plan
Designs approach, breaks into tasks
04
Implement
Writes code, tests, and commits to branch
05
Review
Rebases, reviews, and fixes the PR
06
Validate
Runs tests, verifies requirements
Fabrik TUI showing active pipeline jobs
The Fabrik TUI Control Panel
Active jobs, history, cost tracking โ€” live in your terminal
GitHub Project Board with Fabrik pipeline stages
GitHub Project Board in Action
Drag issues across columns to control the pipeline; comment to steer Claude

Everything you need to automate your SDLC

Fabrik gives Claude Code the structure, context, and tooling to work reliably through a full software lifecycle โ€” with you in the loop at every step.

๐Ÿ“‹
GitHub-Native Pipeline
Board columns are stages. Move a card to trigger a stage. Labels track completion state. No external CI glue required.
๐ŸŒฟ
Isolated Git Worktrees
Each issue gets its own worktree at .fabrik/worktrees/<owner>-<repo>/issue-N/ on branch fabrik/issue-N. Multiple issues run in parallel, zero cross-contamination.
๐Ÿ’ฌ
Comment-Driven Steering
Comment on an issue mid-stage to redirect the work. Fabrik reacts with ๐Ÿ‘€, processes the comment, and continues. Comments from any author trigger processing โ€” colleagues, code-review bots, and other Fabrik instances alike. Only Fabrik's own output and rocket-reacted (already-processed) comments are skipped. When Claude needs input, it signals FABRIK_BLOCKED_ON_INPUT โ€” the issue pauses and automatically resumes the moment you reply.
โšก
Yolo Mode & Auto-Merge
Enable --yolo and Fabrik auto-advances issues through every stage without human approval โ€” and auto-merges the PR when Validate completes. Apply the fabrik:yolo label to a single issue to get the same behavior scoped to just that issue.
๐Ÿ”ง
Configurable Stages
Each stage is a YAML file: custom prompt, model choice, tool restrictions, max turns, PR posting, and more. Ship the default pipeline or build your own.
๐Ÿ‘ฅ
Multi-User Safe
Run multiple Fabrik instances against the same board. fabrik:locked:<user> labels prevent conflicts. Stage work is scoped to each instance's --user; comment processing handles comments from any author.
โœ…
Startup Board Validation
On every startup, Fabrik validates that stage names in your YAML configs match board column names exactly. Mismatches are reported with a clear error before any work begins โ€” no silent misconfiguration.
๐Ÿ”„
Self-Upgrade
Pass --auto-upgrade and Fabrik watches origin/main. When idle and new commits appear, it rebuilds itself and re-execs โ€” no manual deploys.
๐Ÿ”€
PR Lifecycle Management
Implement creates a draft PR. Review rebases, fixes conflicts, posts detailed output. Validate marks the PR ready. Full lifecycle, zero manual steps.
๐Ÿ–ฅ๏ธ
Terminal UI
Fabrik launches a bubbletea control panel by default: active jobs, stage progress, token costs, and history across all issues. Press l to open fabrik watch for the selected issue (live log streaming, stage tabs, CI/PR status), enter to toggle an inline detail panel, r to resume a Claude session from history, and q to quit. Mouse support enabled by default.
๐Ÿ—‚๏ธ
Multi-Repo Support
Fabrik always bare-clones every managed repository on first access. Run it from any directory โ€” no checkout needed. Repos are discovered lazily from the project board; worktrees are created per repo and per issue automatically. Enable multi-repo mode by omitting (or commenting out) repo: in .fabrik/config.yaml โ€” Fabrik then processes issues from all repositories on the board.
๐Ÿงฉ
Plugin & Skills
Customize Claude's methodology per stage with markdown skill files in .fabrik/plugin/skills/. Reference a skill by name in your stage YAML โ€” Fabrik injects it into Claude's prompt. Default skills ship with Fabrik; fabrik init installs them and fabrik upgrade refreshes them.
๐Ÿ”—
Formations
Coordinate multi-issue projects using GitHub's native "Blocked by" relationships. Independent issues execute in parallel; dependent issues gate automatically. The fabrik:blocked label is managed entirely by the engine โ€” no pre-creation needed. See the USER_GUIDE ยง3 for the full recipe and real-world validation numbers.
๐Ÿ‘๏ธ
Pending Reviewer Gate
Set wait_for_reviews: true on a stage and Fabrik waits for all requested PR reviewers to submit before auto-advancing. Controlled by FABRIK_REVIEW_WAIT_TIMEOUT (default 15 min). The fabrik:awaiting-review label makes the wait state visible on the board; the gate clears automatically when all reviews are in or the timeout elapses.
๐Ÿ”
The Self-Evolving Factory
Fabrik is built with Fabrik
Issues filed against this repository go through the same Specify โ†’ Research โ†’ Plan โ†’ Implement โ†’ Review โ†’ Validate pipeline that Fabrik orchestrates. When we filed an issue to add fabrik watch, Fabrik researched its own log format, designed the per-issue monitoring command, and implemented the live log streaming and CI check UI โ€” building the observatory it now uses to watch itself build features. This page was written by Fabrik too.

The human's role is product manager: file issues, answer clarifying questions, drag cards, and occasionally comment to redirect the work. The factory does the rest.

From zero to pipeline in minutes

Fabrik runs as a local CLI. You need Claude Code, a GitHub token, and either gh CLI or Go.

1
Prerequisites
For binary install: gh CLI with gh auth login (repo access required). For source build: Go 1.26.1+. Both paths need Claude Code CLI and a GitHub token with repo and project scopes.
2
Install & initialize
Download a pre-built binary via gh, or clone and build from source. Then run fabrik init to scaffold stage configs into your project.
3
Configure & run
Edit .fabrik/config.yaml with your project settings, add your token to .env, and run ./fabrik.
4
File an issue, drag a card
Add an issue to your GitHub Project board. Drag it to the first stage column. Watch the factory run.
terminal
# Option A: Install binary (requires gh)
# Requires: gh auth login with access to shadoworg/fabrik
# Extracts to current directory โ€” cd to ~/bin first, or move binary afterwards
cd ~/bin
gh release download --repo shadoworg/fabrik \
  --pattern "fabrik_*_$(uname -s | tr A-Z a-z)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/').tar.gz" \
  -O - | tar xz
# Platform-specific alternatives:
# darwin/arm64:  --pattern "fabrik_*_darwin_arm64.tar.gz"
# darwin/amd64:  --pattern "fabrik_*_darwin_amd64.tar.gz"
# linux/amd64:   --pattern "fabrik_*_linux_amd64.tar.gz"
# linux/arm64:   --pattern "fabrik_*_linux_arm64.tar.gz"

# Option B: Build from source (requires Go)
git clone https://github.com/shadoworg/fabrik
cd fabrik
go build -o fabrik .

# 2. Initialize your project (pass your GitHub Project URL to skip manual config)
./fabrik init --user you https://github.com/orgs/your-org/projects/5
# Creates .fabrik/stages/, .fabrik/config.yaml
# URL auto-populates owner, project, and owner_type; --user sets your username
# Without a URL: prompts interactively (TTY) or writes a blank template (non-TTY)

# 3. Add your GitHub token
echo 'FABRIK_TOKEN=ghp_...' >> .env
echo '.env' >> .gitignore

# 4. Run
./fabrik

# Optional: yolo mode (auto-advance all stages)
./fabrik --yolo

# Optional: self-upgrade from origin/main when idle
./fabrik --auto-upgrade