# Frazer > The AI-native cloud for people who build real things. Frazer builds everything between an engineer and production as one: the ADE, an Agentic Development Environment where you and your agents work; agents that take on work in parallel, inside your rules; and the cloud they build, deploy and run on. On your servers, your cloud accounts or ours. Every page on frazer.ai has a Markdown version at its path plus `.md` (the home page is /index.md), and a request with `Accept: text/markdown` is redirected to it. Copy commands from the Markdown exactly: a fetch tool that summarizes a page may shorten what it quotes. ## Start here - [Frazer for agents](https://frazer.ai/docs/for-agents.md?from=llms-txt): set yourself up, the rules every change follows, and what models often get wrong about Frazer - [Tasks, step by step](https://frazer.ai/docs/for-agents/tasks.md?from=llms-txt): create a project, deploy, add a secret, open a Fir session, open and merge a pull request on Fir, draft a plan, improve it in a loop and work on its items, ask a person for what only a person can do, build a stack for a plan, resolve a conflicted layer, roll back, add a server - [The CLI for agents](https://frazer.ai/docs/for-agents/cli.md?from=llms-txt): the contract both command lines follow: output modes, lists and streams, the error envelope with `next`, exit codes (13: needs a person), writes, help as data and MCP parity - [What agents get](https://frazer.ai/docs/for-agents/what-agents-get.md?from=llms-txt): what an agent needs to work accurately, and what Frazer gives you for each - [Agents and plans](https://frazer.ai/docs/for-agents/plans.md?from=llms-txt): what a session receives from its plan (working on, in force, conflicts, unknowns), what Fir refuses, notices, receipts, claims, notes, assertions, loops, person tasks and handoffs ## Indexes - [Docs](https://frazer.ai/docs/llms.txt): every docs page, with one line on each - [Frazer CLI](https://frazer.ai/docs/cli/llms.txt): the `frazer` command line and the contract both CLIs follow for agents: install, sign in, the grammar, output modes, the JSON error envelope, exit codes (13: needs a person, 14: stopped at your limit), streams, help as data and `help search`, and every command by product - [Frazer for agents](https://frazer.ai/docs/for-agents/llms.txt): start here: set yourself up, the rules every change follows, the facts models most often get wrong, and the tasks agents are asked for most, step by step - [Fir](https://frazer.ai/docs/source/llms.txt): Frazer's version control and the `fir` command line: workspaces, pull requests and their views at 10,000 to 50,000 a day, versions, stacks, the plan's levels above them and conflicts, merges and undo, and every `fir` command - [Auto-merge, the merge queue and issues](https://frazer.ai/docs/source/merge-queue/llms.txt): how 10,000 to 50,000 pull requests a day merge: auto-merge's seven conditions and its receipt, controls and one freeze record, release approvals bound to content, the merge queue's partitions, test batches and agents' own fixes at hotfix priority, audits sized by statistics; issues with evidence and capture approvals, filed by the monitoring agent and fixed by the fix agent - [Fir sessions](https://frazer.ai/docs/sessions/llms.txt): one record of every agent's work, for any agent: the log compaction never shortens, one protocol, required for an agent's commits and suggested for people's, resume anywhere and rewind with nothing deleted, erasure with a receipt, and what Frazer learns only on your opt-in - [Plan repositories](https://frazer.ai/docs/source/plans/llms.txt): plans, specs, decisions, milestones and every engineering record in Fir: both homes, links and Why for any line, record types and the type language - [Programs and person tasks](https://frazer.ai/docs/source/programs/llms.txt): programs of any depth: the tree, Today, the Map, the readout and Do next, forecasts with people's waits in them, milestones and squads; and person tasks, the work only a person can do inside a plan - [The planning flow and its loops](https://frazer.ai/docs/source/planning-flow/llms.txt): how plans are checked on Frazer CI (static first), cold-reviewed, scored, improved by loops of agents that run by default (fix, elevate, confirm) and approved, what happens when funds run out, and how outcomes become learned checks - [Decisions](https://frazer.ai/docs/source/decisions/llms.txt): decisions inside plans: raised with a recommendation, weighed by a panel of other model families, a calibrated confidence, the decision's own page, auto-apply rules, decisions at scale and by conversation, principles learned from a person's own answers, what decisions bind, history only at the level a task needs, and Frazer Decisions - [Frazer Agents, harnesses and skills](https://frazer.ai/docs/agents/llms.txt): agents Frazer hosts, wakes and supervises; the harness every use runs on, chosen per use with the Frazer harness as the default, and the Lab that tries, compares, simulates and calibrates harnesses; skills imported, synced, locked per session, tracked and improved - [Agent squads and campaigns](https://frazer.ai/docs/squads/llms.txt): squads of agents and people toward an objective; campaigns started by an agent for a person, the campaign policy, the controller that admits every task, supervision with no person, successors that bring memory back, the campaign board and simulations - [Frazer QA and Frazer Browsers](https://frazer.ai/docs/previews/llms.txt): templates and preview environments for every workspace, pull request, stack, plan level, program or past moment; what a change affects, smoke, full and pre-release test plans, test runs and results as evidence; browsers agents drive, logins as personas, flows, reruns and reproductions - [Frazer Reviewer](https://frazer.ai/docs/reviewer/llms.txt): code review, security review and cold review with one engine; lanes in nine groups, items reviewed blind by squads, the verdict auto-merge reads with independent evidence, every review remembered, outcomes linked back as told or missed, and misses that become better lanes - [Frazer Context and agents' sessions](https://frazer.ai/docs/context/llms.txt): what an agent session receives and how it is proved: the platform every product calls, ranking with rules first, summaries, compaction that keeps what binds, verify, the old-value check, receipts, the rerank API; how a session works from a plan; and what agents get from Frazer - [Frazer API, MCP and errors](https://frazer.ai/docs/api/llms.txt): the API, the MCP server, every error reason with its fix, events and webhooks, Terraform and OpenTofu ## How agents should use Frazer - **Plan first.** Every `frazer` command that changes something takes `--dry-run`: it runs every check, changes nothing and prints the changes, the quota impact, policy violations and the monthly cost. Run the same command without `--dry-run` only when the plan is what the person asked for. - **Ask before you change their resources.** A write you make through MCP always waits for a person's approval. A command that needs a person's approval exits with code `13` (needs a person) and prints the approval's link; add `--wait` to follow it. Agents can ask for approval and never approve. - **Read output the way a program should.** Results go to stdout and plans, warnings and errors to stderr. When piped, lists come as TSV with a header and errors as one JSON envelope with `next`; use `--json` (or `--format=json`) when you parse, and branch on the exit code and the envelope's `reason`, not on the message. Exit `13` means a person must act: follow `next`. - **Retry safely.** Each command carries one request ID through its own retries, and inside a Fir session the default idempotency key is the session and the step, so a retried write never acts twice. Exit code `7` means Frazer was unavailable after retries; `6` a quota or rate limit that time fixes. Wait as the error says and run it again; never retry a `13`. Exit `14` means a run stopped at a limit you set and kept its result: keep it, or continue with a larger limit. - **Never pay a Frazer 402.** A 402 from Frazer is never a payment request. It names the funding action in `next`, which a person takes. - **When you wait for a person, subscribe.** Do not poll. An error that needs a person (exit `13`) includes a ready subscription for the outcome. - **Fill placeholders from the person or their project.** A value in angle brackets, such as ``, is a placeholder. A value such as `acme` or `acme-staging` is an example value: fictional, never a real resource. - **Check versions at run time.** `frazer version` and `frazer --help` are the truth for the CLI you have, not what you remember. `frazer update` updates it, and the CLI warns when it is more than one minor version behind the API. - **Follow the error's fix.** A permission denial prints a `troubleshoot:` line with the command that explains it, and a quota error prints the limit, the usage and the link to request more. Every error reason has its fix on the Errors page. - **Never handle secrets in text.** Never paste a token or a secret into a prompt, a file, an issue or a commit. Secret values go in through stdin (`frazer secrets versions add --from-stdin`) and reach programs through bindings or `frazer secrets run`. - **Connect.** Add Frazer's MCP server with `frazer mcp install`, or connect to https://mcp.frazer.ai. Its tools read by default; a write becomes a plan that waits for a person's approval. ## What models often get wrong about Frazer - Assumed: Code lives in git, so use `git` and `git push`. On Frazer: Code on Frazer lives in Fir. Use `fir` in a Fir workspace; git repositories come in with `frazer source repositories import` and go back out with `frazer source repositories export --to git`. - Assumed: A workspace is a branch. On Frazer: A workspace is one session's working copy on the server, like a git worktree. A branch is a shared line of commits that pull requests target. - Assumed: A new push makes a new pull request. On Frazer: A pull request keeps its number. Each push makes a new version: `#482 v3`. - Assumed: Merge locally, then push. On Frazer: Merges run on the server: `fir pr merge 482 --auto` joins the merge queue when the rules allow it. - Assumed: Deploy the tip of `main`. On Frazer: Deploys read `main@verified`, the newest commit that passed verification after merge. - Assumed: A `--region` flag with a cloud's region name. On Frazer: There is no `--region` flag. Use `--location` with a Frazer location ID, such as `us-virginia1`. - Assumed: A project ID is unique inside an organization. On Frazer: Project IDs are unique across Frazer and never reused, so they carry the organization: `acme-staging`. - Assumed: Short service names are guessed. On Frazer: The CLI never guesses from a prefix. The only aliases are `k8s` (kubernetes), `db` (databases) and `kv` (the in-memory store). - Assumed: A write through MCP applies at once. On Frazer: It becomes a plan that waits for a person's approval. - Assumed: `frazer deploy` needs a configuration file. On Frazer: The first `frazer deploy` asks Kubernetes or serverless and stores the answer in `.frazer/app.yaml`; pass the choice explicitly when you cannot ask. - Assumed: Rolling back means a rebuild. On Frazer: A serverless rollback sends traffic to an earlier revision, with no rebuild. - Assumed: Find the plan yourself and keep it in mind. On Frazer: Fir sends a session its plan's terms and the decisions in force before the first model call, and again after every compaction: read `get_session_context` first. - Assumed: Mark a plan item done when your work is finished. On Frazer: Fir sets item states from merges: an item is done only when its layer merged and its proof passed. Claim it, write notes and state claims with evidence instead. - Assumed: Plans live in a separate docs repository you have to go and read. On Frazer: A plan is stored in the code repository's tree or in the project's plan repository, and either way it is a file under `docs/plans/` in your workspace; `fir status` says where a new record was stored. - Assumed: A plan is ready when its author says so. On Frazer: A plan reaches a person only when its required checks pass, including a cold review by other model families: `fir plan checks ` lists what still blocks it. - Assumed: Rebase the layers of a stack yourself when a lower one changes. On Frazer: The server restacks every layer above one that changes, in one transaction that never fails; a conflict becomes data on the layer. Act only on `conflicted` or a semantic hint. - Assumed: A plan check is a model reading the plan. On Frazer: Plan checks run on Frazer CI in six stages, deterministic ones first; a model check runs only on a version that passed them and is held otherwise, so fix the static errors first. - Assumed: Showing a model a superseded decision's old text helps it avoid that choice. On Frazer: Superseded text never reaches a session as a source. History comes only at the task's `lineage` level, and a deterministic check flags an old value in anything a model writes. - Assumed: Ask the person to paste a key or a password into the chat. On Frazer: Request a person task with a secret slot: the person enters the value on Frazer's own origin, and you receive a reference, never the value. - Assumed: Credentials are enough to commit. On Frazer: An agent's commit, push or pull request version needs an open Fir session (`fir session open`, or your harness's Fir plugin); without one Fir refuses with `SESSION_REQUIRED` and names the call that fixes it. - Assumed: Every pull request waits for a person to review and merge it. On Frazer: Inside an approved plan's terms a layer auto-merges when its checks and an independent second opinion pass at its exact version; `fir pr why` prints the receipt, or the one condition it still waits for. - Assumed: When money runs short, finish the work with a cheaper model or fewer checks. On Frazer: Work the budget or the balance cannot cover does not run and says "Not run: no funds" (exit `13`, `FUNDS_EXHAUSTED`), or pauses between turns as "Paused: no funds"; nothing ever runs cheaper. ## Data for agents - [Example values](https://frazer.ai/docs/example-values.md?from=llms-txt) and [demo-data.json](https://frazer.ai/demo-data.json): every fictional value the examples use (Acme, its people, repositories and hosts; reserved domains, addresses and tokens). Never use one as a real value. - [prices.json](https://frazer.ai/prices.json): the list the pricing page renders. - [Changelog](https://frazer.ai/changelog.md?from=llms-txt): what changed, newest first. Read it when Frazer behaves differently from what you remember. - [Agent skills](https://frazer.ai/.well-known/agent-skills/index.json): Frazer's skills for the `frazer` CLI and for Fir, each with its SHA-256 digest. ## Pages - [Home](https://frazer.ai/index.md?from=llms-txt) - [about](https://frazer.ai/about.md?from=llms-txt) - [ade](https://frazer.ai/ade.md?from=llms-txt) - [ade/control](https://frazer.ai/ade/control.md?from=llms-txt) - [ade/how-it-works](https://frazer.ai/ade/how-it-works.md?from=llms-txt) - [ade/sessions](https://frazer.ai/ade/sessions.md?from=llms-txt) - [ade/tour](https://frazer.ai/ade/tour.md?from=llms-txt) - [agents](https://frazer.ai/agents.md?from=llms-txt) - [ai](https://frazer.ai/ai.md?from=llms-txt) - [ai/gateway](https://frazer.ai/ai/gateway.md?from=llms-txt) - [app](https://frazer.ai/app.md?from=llms-txt) - [billing](https://frazer.ai/billing.md?from=llms-txt) - [blog](https://frazer.ai/blog.md?from=llms-txt) - [careers](https://frazer.ai/careers.md?from=llms-txt) - [changelog](https://frazer.ai/changelog.md?from=llms-txt) - [ci](https://frazer.ai/ci.md?from=llms-txt) - [cloud](https://frazer.ai/cloud.md?from=llms-txt) - [contact](https://frazer.ai/contact.md?from=llms-txt) - [databases](https://frazer.ai/databases.md?from=llms-txt) - [devboxes](https://frazer.ai/devboxes.md?from=llms-txt) - [enterprise](https://frazer.ai/enterprise.md?from=llms-txt) - [evolution](https://frazer.ai/evolution.md?from=llms-txt) - [gitops](https://frazer.ai/gitops.md?from=llms-txt) - [hardware](https://frazer.ai/hardware.md?from=llms-txt) - [how-it-works](https://frazer.ai/how-it-works.md?from=llms-txt) - [iam](https://frazer.ai/iam.md?from=llms-txt) - [infra-log](https://frazer.ai/infra-log.md?from=llms-txt) - [integrations](https://frazer.ai/integrations.md?from=llms-txt) - [knowledge](https://frazer.ai/knowledge.md?from=llms-txt) - [kubernetes](https://frazer.ai/kubernetes.md?from=llms-txt) - [legal](https://frazer.ai/legal.md?from=llms-txt) - [legal/acceptable-use](https://frazer.ai/legal/acceptable-use.md?from=llms-txt) - [legal/ai](https://frazer.ai/legal/ai.md?from=llms-txt) - [legal/community](https://frazer.ai/legal/community.md?from=llms-txt) - [legal/copyright](https://frazer.ai/legal/copyright.md?from=llms-txt) - [legal/data-locations](https://frazer.ai/legal/data-locations.md?from=llms-txt) - [legal/dpa](https://frazer.ai/legal/dpa.md?from=llms-txt) - [legal/email-senders](https://frazer.ai/legal/email-senders.md?from=llms-txt) - [legal/law-enforcement](https://frazer.ai/legal/law-enforcement.md?from=llms-txt) - [legal/privacy](https://frazer.ai/legal/privacy.md?from=llms-txt) - [legal/sla](https://frazer.ai/legal/sla.md?from=llms-txt) - [legal/subprocessors](https://frazer.ai/legal/subprocessors.md?from=llms-txt) - [legal/terms](https://frazer.ai/legal/terms.md?from=llms-txt) - [legal/vulnerability-disclosure](https://frazer.ai/legal/vulnerability-disclosure.md?from=llms-txt) - [memory](https://frazer.ai/memory.md?from=llms-txt) - [monitoring](https://frazer.ai/monitoring.md?from=llms-txt) - [network](https://frazer.ai/network.md?from=llms-txt) - [network/access](https://frazer.ai/network/access.md?from=llms-txt) - [network/dns](https://frazer.ai/network/dns.md?from=llms-txt) - [network/gateways](https://frazer.ai/network/gateways.md?from=llms-txt) - [platform](https://frazer.ai/platform.md?from=llms-txt) - [previews](https://frazer.ai/previews.md?from=llms-txt) - [pricing](https://frazer.ai/pricing.md?from=llms-txt) - [pricing/bill](https://frazer.ai/pricing/bill.md?from=llms-txt) - [providers](https://frazer.ai/providers.md?from=llms-txt) - [regions](https://frazer.ai/regions.md?from=llms-txt) - [registry](https://frazer.ai/registry.md?from=llms-txt) - [reviewer](https://frazer.ai/reviewer.md?from=llms-txt) - [runners](https://frazer.ai/runners.md?from=llms-txt) - [runners/github](https://frazer.ai/runners/github.md?from=llms-txt) - [secrets](https://frazer.ai/secrets.md?from=llms-txt) - [security](https://frazer.ai/security.md?from=llms-txt) - [security/notices](https://frazer.ai/security/notices.md?from=llms-txt) - [serverless](https://frazer.ai/serverless.md?from=llms-txt) - [servers](https://frazer.ai/servers.md?from=llms-txt) - [servers/buy](https://frazer.ai/servers/buy.md?from=llms-txt) - [source](https://frazer.ai/source.md?from=llms-txt) - [start](https://frazer.ai/start.md?from=llms-txt) - [storage](https://frazer.ai/storage.md?from=llms-txt) - [vms](https://frazer.ai/vms.md?from=llms-txt) - [volumes](https://frazer.ai/volumes.md?from=llms-txt) ## Products ### Compute - [Servers and pools](https://frazer.ai/servers.md?from=llms-txt): Bring, rent or buy servers - [Kubernetes](https://frazer.ai/kubernetes.md?from=llms-txt): A cluster per project - [Serverless](https://frazer.ai/serverless.md?from=llms-txt): Deploy a repo, DB included - [VMs](https://frazer.ai/vms.md?from=llms-txt): Images, disks, groups - [Devboxes](https://frazer.ai/devboxes.md?from=llms-txt): Real machines per engineer ### Build and ship - [Fir](https://frazer.ai/source.md?from=llms-txt): Version control built for agents - [Frazer CI](https://frazer.ai/ci.md?from=llms-txt): Native CI on Frazer Runners - [GitHub runners](https://frazer.ai/runners/github.md?from=llms-txt): GitHub Actions in a microVM - [Cache](https://frazer.ai/runners/github.md?from=llms-txt): One cache for CI and boxes - [Registry](https://frazer.ai/registry.md?from=llms-txt): Images and models, signed - [Environments and GitOps](https://frazer.ai/gitops.md?from=llms-txt): Connect a repo, roll out - [Templates and previews](https://frazer.ai/previews.md?from=llms-txt): A preview per pull request ### AI - [AI and GPUs](https://frazer.ai/ai.md?from=llms-txt): Endpoints, tuning, pods - [LLM gateway](https://frazer.ai/ai/gateway.md?from=llms-txt): Every model, one door - [Knowledge](https://frazer.ai/knowledge.md?from=llms-txt): Company RAG, permissioned ### Agents - [Frazer Agents](https://frazer.ai/agents.md?from=llms-txt): Always-on, supervised - [Agent squads](https://frazer.ai/agents.md?from=llms-txt): Managers, workers, objectives - [Agent images](https://frazer.ai/agents.md?from=llms-txt): Lite to GPU, or your own - [Frazer app](https://frazer.ai/app.md?from=llms-txt): Desktop app and editor extensions - [Frazer Reviewer](https://frazer.ai/reviewer.md?from=llms-txt): Evidence or silence ### Data - [Databases](https://frazer.ai/databases.md?from=llms-txt): Postgres with PITR - [In-memory store](https://frazer.ai/memory.md?from=llms-txt): Pick the engine and version - [Frazer Storage](https://frazer.ai/storage.md?from=llms-txt): Objects next to servers - [Secrets](https://frazer.ai/secrets.md?from=llms-txt): Write-only for people - [Volumes and snapshots](https://frazer.ai/volumes.md?from=llms-txt): NVMe or replicated ### Network - [VPC and firewall](https://frazer.ai/network.md?from=llms-txt): Subnets, rules, NAT - [Load balancers](https://frazer.ai/network/gateways.md?from=llms-txt): L4 and L7, TLS included - [DNS and certificates](https://frazer.ai/network/dns.md?from=llms-txt): Zones and automatic TLS - [Frazer Access and VPN](https://frazer.ai/network/access.md?from=llms-txt): Private access for people, devices and agents ### Operate and secure - [Frazer Monitoring](https://frazer.ai/monitoring.md?from=llms-txt): Metrics, logs, traces - [Security Center](https://frazer.ai/security.md?from=llms-txt): Posture, threats, evidence - [Identity and access](https://frazer.ai/iam.md?from=llms-txt): Roles, SSO, audit - [Billing and budgets](https://frazer.ai/billing.md?from=llms-txt): Caps that pause ### Connect - [Integrations](https://frazer.ai/integrations.md?from=llms-txt): Connect once, use everywhere - [Webhooks and events](https://frazer.ai/integrations.md?from=llms-txt): Signed events out - [Terraform and OpenTofu](https://frazer.ai/docs/terraform.md?from=llms-txt): A provider for everything - [API, CLI and MCP](https://frazer.ai/docs.md?from=llms-txt): One contract everywhere ## Optional - [Full text of the site](https://frazer.ai/llms-full.txt): 149 pages, 2,536,672 characters, about 634,168 tokens