agents

Built to be driven by a coding agent

Most build tools assume a person is watching. This one assumes nobody is. Every command has a distinct exit code per kind of failure, a written contract, and no prompt that can ever block a pipeline.

Point your agent at this

Drop this into CLAUDE.md, AGENTS.md, or whatever file your agent reads. It is the whole contract in a form an agent can act on.

## Building iOS apps with xos

Never parse our output. Branch on the exit code:

  0   worked
  2   the APP crashed - the tool worked, collect the crash report
  10  this machine is not ready - install what the message names, do NOT retry
  11  the build failed - a code or configuration problem
  12  signing failed - certificates, profiles, entitlements
  13  a device operation failed - worth ONE retry
  14  the licence does not permit this - do NOT retry

Codes may be added. An existing one never changes meaning.

  xos app     --project App.xcodeproj --target App --build-dir build
  xos ship    --project App.xcodeproj --target App --sign-dir signing
  xos install --udid $UDID build/App.app
  xos debug   --udid $UDID --tunnel $IP --bundle-id com.example.app

No command waits for input. Every setting has a flag and an
environment variable. Message wording is NOT stable; the codes are.

Why this matters for an agent

It never asks a question

Nothing prompts, so nothing hangs waiting for a human who is not there.

Failures are distinguishable

"Your app crashed" and "the build tool fell over" are different codes, so an agent can act on the difference instead of guessing.

The phone can be elsewhere

An agent in the cloud can install, launch, screenshot and read crash reports from a device on your desk, over an encrypted link.

What we do not promise

Message wording changes as we find clearer ways to say things, and the order of progress lines is not fixed. If you find yourself needing to read a message to make a decision, that is a gap in our contract rather than something to work around. Tell us and we will add the code or the field.