# Fir > Fir is Frazer's version control, built for agents: repositories, branches, `main` and pull requests in the usual words, a workspace per session on the server, versions of every pull request, stacks as the unit of merging, a merge queue per protected branch, conflicts resolved without people, pull request views for one person directing 10,000 to 50,000 pull requests a day, and an undo for every step. `fir` is its command line. Plans, specs and record types have their own index (https://frazer.ai/docs/source/plans/llms.txt), and so do programs and person tasks (https://frazer.ai/docs/source/programs/llms.txt), the planning flow and its loops (https://frazer.ai/docs/source/planning-flow/llms.txt), decisions (https://frazer.ai/docs/source/decisions/llms.txt), auto-merge, the merge queue and issues (https://frazer.ai/docs/source/merge-queue/llms.txt), and sessions (https://frazer.ai/docs/sessions/llms.txt). Part of Frazer's docs for agents. Every page on frazer.ai: https://frazer.ai/llms.txt. Every docs page: https://frazer.ai/docs/llms.txt. ## How agents should use Fir - Inside a Fir workspace use `fir`, not git. `fir status` shows the workspace, its branch and its base. - A workspace is not a branch. `fir pr create` publishes it as a pull request; `fir pr push` adds a version to the same pull request. - Merges run on the server: `fir pr blockers ` says what still blocks one, `fir pr merge --auto` merges when the rules allow, and `--expect-version` guards against a newer version. - Agents never approve and never merge locally. Every step is in the activity log and `fir undo ` undoes it. - Never rebase a stack by hand: the server restacks, and a conflict is data on the layer. Read `base_changed`, and act only on `conflicted` or a semantic hint; resolve with `get_conflicts` and push the resolution as the next version. - Read a list as data: `fir pr list --view now --json` returns the stages and their rates, and `--view needs-you` the counts, the exception groups and the rows, at one snapshot. You may prepare a row for the person you work for; you never answer one. - Open a Fir session before you change code: an agent's commit, push or pull request version without one is refused with `SESSION_REQUIRED`, and its `next` opens one. - Add `--json` when you parse output; no `fir` command prompts. ## Pages - [Fir](https://frazer.ai/docs/source.md?from=llms-txt): Frazer's version control, built for agents. Repositories, branches and pull requests in the words you know, a server-side workspace per session, versions of every pull request, stacks, a merge queue per protected branch and an undo for every step. - [Stacks and conflicts](https://frazer.ai/docs/source/stacks.md?from=llms-txt): Stacked pull requests in Fir as the default unit of merging: a stack object with planned layers from plan items, typed edits, server-side restacks that never fail, approvals that follow each layer's own patch, one stack review for the approver, one queue entry per stack, and conflicts that are prevented, predicted and resolved without people at 10,000 pull requests a day. - [Fir CLI](https://frazer.ai/docs/source/reference/cli.md?from=llms-txt): Every fir command, grouped by job, with what it does, the flags agents use most, the environment it sets and how it behaves in scripts. ## Optional - [Full text of these pages](https://frazer.ai/docs/source/llms-full.txt): 3 pages, 89,326 characters, about 22,332 tokens