First Steps — factory
The factory profile: one task driven through the dispatch pipeline end to end — eight steps rendered from the First-Steps source of truth.
Factory is env plus one real task driven through the pipeline: you write a kickoff, ask the pipeline what to start, dispatch it, and harvest the finished branch. Experimental. The sequence's goal, from the source: env + one task driven through the pipeline.
Run it with the profile flag --profile factory (legacy equivalents:
--with-aif-suite, --all). One precondition before you start: pick this only if this
machine runs the aif-handoff operator runtime — the factory payload dead-ends without it.
The eight steps
- Install at factory depth —
bash <getff>/install.sh <stack> --profile factory. As with env: already on a shallower depth, re-running the same command adds the deeper payload on top.
- Verify the payload landed —
ls .claude/skills/. On top of env you should seedispatcher,aif-doctor,harvest,storyandclaude-glm-executor-handoff. (pipelineandnight-modeare NOT factory additions — they arrive with env+ and are already there.) These are the pipeline's moving parts; the sequence below uses four of them by name.
- Fill the project passport — replace every
<…>placeholder field in.ai-factory/DESCRIPTION.md. Dispatched workers read this passport too — a vague one sends every dispatched task out with a vague brief.
- Prove the rules are not inert on your layout —
bash scripts/check-rule-globs.sh, thenbash scripts/check-fences-fire.shto see a rule go RED on planted input. On an empty skeletoncheck-rule-globs.shfails by design (zero source files to match); re-run it once you have some. Dispatched workers inherit these gates on every branch they touch, which is why they are proven here and not assumed.
- Read the tier + degradation SSOT — open
.ai-factory/tier-home.md: it decides which tier a task routes to, and what degrades when a capability is absent. The public render of its degradation matrix lives on our Degradations page.
- Write your first kickoff — create
.ai-factory/orchestrator-prompts/<work-item>/kickoff.md: aType:line (fix/research/feature), the goal, and — if the work splits into parallel sub-steps — a## §1 Sub-wavesection with one table row per sub-step. The kickoff is the whole brief the worker gets; write it so that a stranger could act on it.
- Ask the pipeline what to start next — invoke
/pipeline. It reads your kickoffs plus.ai-factory/orchestrator-prompts/plan.md(created on first run), ranks them, and emits a launch table. An empty backlog just renders the overview with zero open umbrellas — that is normal, not an error, and it means you are one kickoff away from a launch table.
- Dispatch the top row and read the result — dispatch the launch table's top row,
then bring the finished branch back with
/harvest. If a task stalls or the runtime misbehaves,/aif-doctoris the diagnostic entry point.
Where this goes next
The same loop as a working day: Daily cycle — factory. What each tier means and what degrades when a piece is missing: Overview — multi-model pipeline and Degradations.
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.
Quickstart: TypeScript
From zero to a failing gate in 5 minutes — install getff into a TypeScript/npm project, break a convention on purpose, and watch it get caught before CI does.