Skip to main content

Usage

Every file written is printed. This is a package scaffolded by unmute init, which declares one LiveKit target:
A package with tools, knowledge files, tracing, or a phone route writes more: tools/<name>.py per tool, utils/knowledge.py, utils/tracing.py, session.py, state.py, call_state.py, and on Pipecat pcc-deploy.toml. Output goes to <package>/build/<target-instance-name>/. With no --target, every declared target is compiled. --target is repeatable.

Files you keep next to the build

compile deletes build/<target>/ and writes it again. It keeps .env, a LiveKit Cloud livekit*.toml and tool samples/*.json, and nothing else. For any other file you want next to the generated ones, such as a host’s service definition, use the package’s hosting/<target>/ folder:
Every compile copies that folder into build/<target>/, with its subfolders, and prints each file:
A hosting file may not share a name with a generated or kept file. Compile refuses one, names it, and leaves the old build as it was. Hosting files are copied byte for byte, and they do not change the build’s artifact_id.

The report

The compiler does not print what it decided. It writes that to build/<target>/compile-report.json, next to the files it describes, one JSON object per target:
  • bindings: what each model role resolved to, forwarded to the provider without being checked. A LiveKit OpenAI Responses binding is the one exception: its entry names the compiler directive it consumed and the reasoning setting it lowered, instead of claiming every param passed through unchanged.
  • sizing: your capacity: block turned into numbers, tagged with the assumption they came from.
  • telephony: present only for a target with a phone route. The resolved route, its endpoints, and an evidence line per capability.
  • route_prerequisites: setup work you must do outside Unmute before a real call, when the route needs any.
  • required_env, variables, secrets: what the generated project reads from its environment, and where each name comes from.
  • generated_files: the same paths compile printed above.
  • supported: the framework version window this build was verified against.
  • notes: driver detail, such as how a role was routed or how a turn pace resolved to a silence window.
Open the file to see what a package resolved to. None of it appears on the terminal.

Warnings

Warnings print on standard error, and do not change the exit code:

Compiling is safe to repeat

build/ is output. Compile as often as you like; never edit inside it.

Where to go next

unmute deploy

Push the package you just compiled.