Skip to main content
Create an agent package your coding assistant can complete within your company’s rules. The manifest sets the allowed choices. init copies that contract into a package; the assistant writes the use case. Create, complete, check is the whole workflow. The CLI does not call a language model for you. On this page:

Quickstart

Start in your project folder with a saved manifest named acme-corp. If it does not exist, create and save it first. Use a new directory name for the agent. These are the complete setup commands:
Terminal — project folder
Then give your coding assistant this brief:
Prompt for your coding assistant
This creates an unfinished package, not a running voice agent. The prompt asks the coding assistant to edit that package. Do not run init again to complete it.

1. Choose the contract

acme-corp is the manifest’s saved name on this computer. It can differ from the company name written inside the file. Direct selection does not change the default. A missing or invalid named manifest stops creation before any package files are written. A broken default stops creation only when you have not selected a manifest by name. --draft requires both an agent directory and explicit --manifest. It cannot use --from-manifest, and it never asks questions through stdin.

2. Create the draft

The quickstart command writes six files under hotel-agent/: No models or channels are selected. No tools or tracing are added. The assistant must fill in the required choices before validation can pass. Commit the finished package and its manifest together. Validation and compilation read that local copy, so another computer needs no saved manifest. Editing the saved source later does not update existing packages.

3. Give the assistant the brief

The quickstart brief keeps the agent small: hotel facts and no booking system. The assistant reads the copied manifest before choosing models, targets, languages, regions, tools or tracing. It then edits the package files. For SLNG-served models, the provider remains slng even when a model ID names Cartesia or Deepgram. An explicit allowlist limits the IDs the assistant can choose. Allow all models permits any ID from that service; target support and provider requirements still apply. The skill explains conflicts instead of loosening the contract. It should ask for missing business facts or tool interfaces, not invent them. See model choices and tools when the brief needs more than the native workflow. If you already created my-new-agent, use its name in the quickstart brief. Skip the init command and have the assistant complete those existing files.

4. Check the result

After the assistant finishes its edits, these are the complete check commands:
Terminal — project folder
Fix validation errors in the package. Do not remove a company rule to make an error disappear. Compilation writes target artifacts under hotel-agent/build/; it does not prove that the conversation works with real providers. Phone calls require a deployed agent and a real carrier. See the telephony guide when your brief needs phone access.

Command reference

Terminal — unmute init --help
The agent name is also its directory. An occupied directory is refused. Plain init without a name asks for one in a terminal; outside a terminal, you must supply the name.

Advanced

Use guided setup instead

For a fresh package, this complete command selects the same contract and opens the interactive agent setup:
Terminal — alternative to the draft workflow
Guided setup collects choices and checks the package before saving. The manifest picker is an alternative to named selection, not a name-taking flag:
Terminal — choose a saved contract interactively
The creation console cannot collect custom model endpoints or SLNG Context Router upstream settings. Use the draft workflow for those bindings, then follow the relevant model reference.

Start without a company contract

When no saved default exists, unmute init <name> writes the ordinary scaffold. It selects LiveKit, SLNG speech models, an OpenAI reasoning model, a browser channel and an end_call tool. With a default present, it opens guided setup under that contract instead. The scaffold’s .env.example lists starter environment names. After compiling, build/<target>/.env.example lists the values needed by that target. Follow credentials and targets to finish setup.

Refresh the assistant’s instructions

After updating the CLI, run unmute skill install again in the project folder. The skill ships in the binary. Review local edits before replacing them with --force; see skill installation.

Troubleshooting

Where to go next

Company manifests

Understand the contract the assistant must preserve.

The Unmute skill

Install the workflow your coding assistant follows.

Validate the package

Read and fix errors before compilation.

Choose the agent structure

Add tasks or handoffs when the use case needs them.