Usage
unmute init, which declares one LiveKit target:
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 tobuild/<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: yourcapacity: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 pathscompileprinted 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.
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.