Skip to content

Install

Install

This guide covers installing the Fab Kit CLIs and their companion utilities, plus the install-specific notes worth knowing before you set up a project.

For the conceptual overview and the 6-stage pipeline, see the project README. Once you are installed, head to the Workflows guide to learn how to drive the pipeline.

Install the CLI

Fab Kit installs via Homebrew (macOS and Linux):

brew tap sahil87/tap
brew install fab-kit

This installs four CLIs on your PATH:

BinaryRole
fabThe router — dispatches every subcommand to the right tool
fab-kitWorkspace lifecycle: init, upgrade-repo, sync
wtWorktree manager — isolates each change in its own git worktree
ideaPer-repo idea backlog (fab/backlog.md) that feeds /fab-new

wt and idea are independent projects declared as Homebrew dependencies of fab-kit, so the single brew install pulls all four transitively. See their repos at sahil87/wt and sahil87/idea.

Install the companion utilities

fab shells out to a few single-binary utilities (per the project’s “pure prompt play” principle — no runtime, no SDK):

brew install yq jq gh direnv
ToolWhy fab needs it
yqYAML processing for .status.yaml and config/schema files
jqJSON processing during the settings merge in fab sync
ghGitHub CLI — drives releases and the PR workflow (/git-pr, /git-pr-review)
direnvAuto-loads .envrc to set workspace environment variables per directory

Two post-install steps:

  • Authenticate gh so the PR commands can talk to GitHub:

    gh auth login
  • Add the direnv shell hook so .envrc is picked up automatically. Follow the per-shell instructions at the direnv hook docs (a one-line addition to your shell rc file). The first time you enter a fab workspace, run direnv allow to trust it.

Optional: shell completion

Activate tab-completion for fab in your shell’s rc file:

eval "$(fab shell-init zsh)"   # or bash / fish

This works from any directory — no fab project required. If you prefer a static completion script on disk instead of the eval hook, generate one with fab completion <shell>.

Developing Fab Kit itself

If you are building the binaries from source or contributing, you also need:

brew install go just
ToolWhy
GoBuilds the binaries from source (src/go/)
justTask runner for the build, test, and release recipes

Contributor setup and release mechanics live in the repo’s CONTRIBUTING.md.

Set up a project

Once the CLIs and utilities above are on your PATH, the project-setup flow itself — fab init for a new project, fab init/fab sync + /docs-hydrate-memory to onboard an existing repo with prior docs, and fab upgrade-repo + /fab-setup migrations to update — is covered step-by-step in the README’s Quick Start → Install. This page deliberately does not restate it: the same content is pulled to the site from the README, so duplicating it here would render twice.

Two install-specific notes worth calling out:

  • fab sync re-deploys skills, scaffolds structure, and syncs hooks without changing the pinned version — run it on its own right after cloning a repo that already uses Fab Kit. It also runs automatically in every new worktree created by wt create.
  • Agent skills and hooks live under .claude/, which is gitignored by default, so each developer deploys them locally with fab sync — they do not arrive with a git clone.

Verify your install

Run the doctor to check every prerequisite (git, yq, the direnv hook, shell completion, etc.) and diagnose common setup issues:

fab doctor

For runtime troubleshooting beyond install (a stage failing mid-way, a /fab-setup not recognized, agent producing bad code), see the README’s Troubleshooting section.

Once fab doctor is green, continue to the Workflows guide to run your first change through the pipeline.