Skip to main content
Save a company contract and use it to create hotel-agent. The saved manifest is your reusable source; each new agent gets its own copy to validate against. On this page:

Quickstart

Run these complete commands from the directory that will hold your agent:
Terminal
The first command opens the manifest editor. Set the rules, then choose Review and save → Save manifest. The second opens guided agent setup using those rules. Finish and save the agent before running the checks.
A manifest approves choices; it does not create models, tools or prompts. Complete the agent setup before validating or running it.

1. Create the contract

In acme-corp, set the company name and revision under Identity. Then open the sections your company needs to restrict. Omitted rules add no restriction, so you do not need to fill every section. For Models, choose a role, then Add provider. Selecting a service offers Allow all models or Add model ID. The second opens the input directly; repeat it for more models. Each role supports several providers. Keep slng as the provider for models served through SLNG. Its model IDs can name different makers. Direct deepgram or cartesia connections are separate provider entries. Approval still depends on the target supporting that binding.

Move through the editor

Arrow keys edit text in a form; they do not move between its controls. After adding a value, Add stays selected: press Enter to add another. Completed edits stay in the draft when you leave a list or section. New provider and region entries join it once their required fields are complete. Switching sections asks before discarding incomplete input. Only Review and save → Save manifest writes the file. The review names changes, validation errors and the destination. Existing saved names are never overwritten by create.

2. Build an agent from it

Choose one route for the same hotel-agent example: These commands are alternatives. Do not run them all against the same directory. --manifest selects directly, even if an unrelated default is broken. --from-manifest opens a picker and cannot be combined with --manifest or --draft. For the assistant route, install the Unmute skill and give it the use case and saved name acme-corp. It creates the draft, reads the copied rules, implements the agent, then validates and compiles it. A draft has no chosen models, targets or channels and is not yet runnable. Both routes copy the exact contract into hotel-agent/manifest and link it from agent.yaml. Commit both files. Validation then works on another computer or in CI without the saved library.

3. Check the agent

After completing hotel-agent, run the validation and compilation commands from the quickstart. Both read hotel-agent/manifest, not the saved library. Fix the agent when it violates a company rule; do not weaken the contract. A successful compile does not test a conversation. Use the browser loop for LiveKit or Pipecat. SLNG has no unmute dev; follow its deployment workflow.

Advanced

Update the saved contract

Reopen the same contract when your company rules change:
Terminal
The saved name stays fixed; the company name and revision are editable. Revisions increase only when you change them. Saving replaces formatting and comments with clean YAML and creates an exact backup beside the original. The command prints both paths. Unchanged edits preserve the original bytes and create no backup. A save error keeps the draft open for correction or retry.
Editing acme-corp does not change hotel-agent/manifest or any existing package. See updating a package contract before replacing its copy.

Choose the default for future agents

Terminal
Plain unmute init uses this default. The first saved manifest becomes the default automatically; later creations offer to change it. Direct selection with --manifest changes only the new agent. manifest use requires a valid saved manifest and changes no existing package.

Edit YAML in an external editor

Use this alternative when you prefer YAML or need to repair an invalid saved file:
Terminal
--editor uses VISUAL, falling back to EDITOR. The editor must wait until you close the file. This edits the complete contract, not a fragment to merge. The same flag also works with manifest create acme-corp --editor for a new name. Temporary drafts are validated before saving. A failed editor or invalid draft leaves the saved file untouched and reports the draft path. Successful replacements use the same backup protection as the terminal editor.

Storage and terminal support

Saved files live under the user config directory at unmute/manifests/<name>/manifest; unmute/default-manifest holds the default name. Names use letters, digits, hyphens and underscores. Omitting a name from manifest create prompts for one. The editor needs at least 60 columns and 18 rows. Smaller terminals retain the draft and ask you to resize. TERM=dumb uses numbered prompts with :sections and :help instead of F2 and F1. The editor does not offer Allow nothing for models. Existing empty model rules must be repaired before saving. YAML and --editor still support them; see the manifest reference for all rule meanings.

Command help

Terminal — unmute manifest --help
Terminal — unmute manifest create --help
Terminal — unmute manifest edit --help
Terminal — unmute manifest use --help

Troubleshooting

Where to go next

Build an agent

Create hotel-agent from the contract you saved.

Use a coding assistant

Let the skill complete the use case within your company rules.