getff docs

First Steps — core

Install getff at core depth and end with a rule that has gone red on planted input in your own repo — seven steps rendered from the First-Steps source of truth.

Core is the rules layer at its smallest: install the gates, then prove on your own machine that one of them actually fires. The sequence ends with a rule that has gone red on input planted on purpose — which is why these steps ask you to break things deliberately. The rules layer ships as a beta.

You need a project with a package.json (the npm stacks below). A Python, Rust or Go project takes a separate lane — see Quickstart — Python for the Python one.

The sequence's goal, from the source: install → a rule provably fires on your code.

Why a JSON file sits under the template tree at all: first-steps.source.json is the SINGLE SOURCE OF TRUTH for the First-Steps sequences — two renders (the installer's site pages like this one, and the AI-facing sequences in the delivered AI-USAGE-GUIDE.md) both read from it, and NEITHER render is the source. One file keeps the human page and the agent guide from drifting apart step-by-step.

The seven steps

  1. Install at core depth — from your project root run bash <getff>/setup --profile core <stack>. The stacks are ts-server, react-next, react-spa and react-native; omit the stack to auto-detect. (install.sh python, install.sh cargo and install.sh go are separate non-npm lanes, each an explicit positional.) Note the interactive default depth is env (raised from core on 2026-08-18): -y answers the prompts with that default, so this rules-only walk passes --profile core explicitly — everything later in getff stacks on top of it.
  1. Verify the payload landed — ls AGENTS.md .ai-factory/ scripts/. You should see AGENTS.md, .ai-factory/{DESCRIPTION.md,ARCHITECTURE.md,RULES.md} and scripts/audit-ai-docs.sh. Nothing here is optional: a missing file means the install did not finish, and every later step leans on this one.
  1. Fill the project passport — replace every <…> placeholder field in .ai-factory/DESCRIPTION.md (domain, stack, constraints, non-goals). This is the file AGENTS.md sends every future session to first, so a passport left unfilled degrades every later session. Ten minutes here is the highest-leverage ten minutes of the install.
  1. Prove the rules are not inert on your layout — bash scripts/check-rule-globs.sh. It fails when a shipped custom rule matches zero files in your layout — installed, but silently enforcing nothing. If it fires, widen RULE_GLOBS in eslint.config.mjs to cover your layout. On a brand-new skeleton with no source files yet this FAILS by design: every rule matches zero files. That is the expected first run; re-run it once your first src/ files exist.
  1. Watch a rule actually fire — bash scripts/check-fences-fire.sh. It plants deliberately-bad input in a temp dir and asserts the installed ESLint rules go RED on it. This is the first-rule-fires moment: an installed rule that has never been seen to fire is an unproven claim, and this step is where the claim stops being a claim.
  1. Run the gate you will run every day — bash scripts/audit-ai-docs.sh (drift + code-vs-docs probes, ~10 sec). Expect findings on a fresh project; the INSTALL-FOR-AI «Expected first-run failures» table lists which ones are normal.
  1. Continue into rule research in the same session — invoke /rule-research (or read .claude/agents/rule-researcher.md on a harness without skills). The installer delivered a curated starter set; researching stack-specific rules from live documentation is the next step of the same lifecycle, not a later project.

The agent behind that command is rule-researcher: it detects the project's stack, researches best-practices and anti-patterns from canonical official docs, and authors two committed JSON files — a ResearchPlan and a GenerateSelection — that the deterministic factory turns into a real ESLint rule + paired-negative test (agents/rule-researcher.md:3-11).

Where this goes next

The daily loop these gates put you in is one screen long: Daily cycle — rules. For what "executable" means when an AGENTS.md claims it: Executable AGENTS.md, defined. The deeper profiles add design review and a dispatch pipeline — see the factory's Overview (experimental).

On this page