Elizon Docs
Elizon CLI

First run

From an empty folder to a signed Package in five commands.

This walks through the whole CLI once, with the defaults. For the reasoning behind each step, follow Your first Package.

1. Scaffold a project

npx @elizon/cli init my-package --starter=single-agent

init asks which coding agent you use (default: Claude Code) and writes a small, already valid Package into my-package/. It asks for no account and makes no network call.

cd my-package

Note the version it pinned in .elizon/config.yaml (cliVersion). The commands below use 0.5.0; use your own.

2. Validate

npx @elizon/cli@0.5.0 validate
✓ /home/you/my-package/elizon.yaml is valid.

Edit elizon.yaml and the files under agents/, knowledge/ and so on, then validate again. Every problem is reported with where it is, a stable code and what to do about it. See validate.

3. Build

npx @elizon/cli@0.5.0 build
✓ /home/you/my-package/my-org-my-package-0.1.0.pkg
  my-org.my-package 0.1.0 — 2 objects, 2740 bytes
  entry point:   agents.support-assistant
  …
  unsigned — this artifact cannot be installed until it is signed.
  Run `npx @elizon/cli sign my-org-my-package-0.1.0.pkg --target=<name> --yes` to sign it with your Organization’s key.

The artifact, <namespace>-<name>-<version>.pkg, is written next to elizon.yaml and is unsigned. Building is offline and reproducible.

4. Connect this machine and sign

npx @elizon/cli@0.5.0 target add acme.elizon.example
npx @elizon/cli@0.5.0 sign my-org-my-package-0.1.0.pkg --yes

target add opens a device approval in your browser. sign signs the artifact with your Organization's key. The key stays in your Organization: only a list of file hashes is sent, and a signature comes back. --yes confirms that you mean to act on a real Organization.

5. Install

Either upload the signed .pkg in Studio → Packages → Install a Package (see Installing a Package), or install from the terminal:

npx @elizon/cli@0.5.0 install my-org-my-package-0.1.0.pkg --yes \
  --project=<project-id> \
  --slot.reasoning=<llm-configuration-id> \
  --slot.embedding=<llm-configuration-id> \
  --slot.product-documents=defer

This starter includes a Knowledge Base, and Knowledge Bases live in a project, so the install names one with --project. defer leaves the documents Slot for later: the Package installs as installed-incomplete, and you add documents afterwards.

Then check it:

npx @elizon/cli@0.5.0 packages ls

What next