Packaging & sharing blueprints
A blueprint is a directory with an agent.leviath file. To hand one to
someone else you bundle that directory into a single .leviath-bundle file, or share the
directory as-is. There is no hosted registry, and installation is always from a local path. lev
gives you four commands for the round trip: pack to build a bundle, add to install one,
list to see what's installed, and remove to take it away.
Pack a blueprint
lev pack bundles a blueprint project into a distributable .leviath-bundle archive (a
gzip-compressed tarball of the blueprint, scripts, tests, and docs).
lev pack # pack the current directory
lev pack ./my-agent # pack a specific project directory
lev pack ./my-agent -o my-agent.leviath-bundle # choose the output pathPATH(optional positional): the project directory, or a path to anagent.leviathfile. Defaults to the current directory.-o,--output <FILE>: where to write the bundle. Defaults to{name}-{version}.leviath-bundle, taken from the blueprint.
Credential-shaped files (.env*, *.key, *.pem, id_rsa*, .ssh, config.toml, and more)
are excluded from the archive automatically, so a stray secret in the project directory is not
shipped.
Install a blueprint
lev add installs a blueprint into your local agents directory, ~/.leviath/agents/. It
accepts either a bundle file or a plain agent directory.
lev add ./my-agent.leviath-bundle # install from a bundle
lev add ./my-agent # install from a directoryPACKAGE(required positional): a path to a.leviath-bundlefile or to an agent directory. Anything else is rejected;lev addnever reaches out to a network.
Installing under a name that already exists replaces the previous install.
When a blueprint asks for anything unusual, lev add prints an inventory of exactly what it wants
so you can look before running it. Unusual means pre-approved tools, script host access, shipped
executable script tools, [read_paths] declarations with their grant status, a disabled sandbox,
or a command that runs at startup.
Warning
A blueprint can carry executable .rhai tool scripts, grant its own tool permissions, and
declare seed commands that run at spawn, before the first prompt. Treat a third-party
blueprint like any other code you install: read its agent.leviath and the capability
inventory lev add prints, and inspect it with lev validate <name>. See
Security for the full trust model.
List installed blueprints
lev list shows what you can run: installed blueprints from ~/.leviath/agents/, a blueprint
in the current directory, blueprints from configured paths, and the bundled catalog.
lev list # everything
lev list --json # the same, for a scriptRemove a blueprint
lev remove deletes an installed blueprint from ~/.leviath/agents/.
lev remove my-agentNAME(required positional): the installed blueprint's name (as shown bylev list).
Run an installed blueprint
Once installed, run a blueprint by name, no path needed:
lev run my-agent --task "Your task here"lev run hands the agent to the background daemon, the same as running a local
project directory.
Important
An installed blueprint can only ever tighten its sandbox, never loosen it. The permission
floor your own config sets always wins. For a tool you have not configured, a blueprint may go no
higher than Leviath's own default. The exceptions are web_search and web_fetch, which
read-only research agents pre-approve. Installing an agent does not let it grant itself more than you
allow. See Security for how the sandbox and permission floor work.
See the CLI reference for every command and flag.