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, knowledge.py, tracing.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.

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.