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
- Install at core depth — from your project root run
bash <getff>/setup --profile core <stack>. The stacks arets-server,react-next,react-spaandreact-native; omit the stack to auto-detect. (install.sh python,install.sh cargoandinstall.sh goare separate non-npm lanes, each an explicit positional.) Note the interactive default depth isenv(raised fromcoreon 2026-08-18):-yanswers the prompts with that default, so this rules-only walk passes--profile coreexplicitly — everything later in getff stacks on top of it.
- Verify the payload landed —
ls AGENTS.md .ai-factory/ scripts/. You should seeAGENTS.md,.ai-factory/{DESCRIPTION.md,ARCHITECTURE.md,RULES.md}andscripts/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.
- Fill the project passport — replace every
<…>placeholder field in.ai-factory/DESCRIPTION.md(domain, stack, constraints, non-goals). This is the fileAGENTS.mdsends 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.
- 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, widenRULE_GLOBSineslint.config.mjsto 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 firstsrc/files exist.
- 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.
- 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.
- Continue into rule research in the same session — invoke
/rule-research(or read.claude/agents/rule-researcher.mdon 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).
What is getff
getff is two layers around one idea: conventions your AI agents can't silently bypass, plus an AI-run layer that works inside them. What each layer is, and what each one honestly is today.
First Steps — env
Add the env profile on top of core: tier criteria on disk and one idea taken through /arch — six steps rendered from the First-Steps source of truth.