CLI: Manifest

The valet manifests command group creates, validates, and inspects valet.yaml manifest files before deploying or publishing an agent.

Generate a manifest

valet manifests create [name] [-a <agent>] [--dir <path>]

Generates a minimal valet.yaml for an existing agent by reading the agent's current configuration from the API. Writes to the current directory (or --dir) and refuses to overwrite an existing manifest.

  • The generated manifest populates name, connectors, and channels from the API and leaves placeholder values for display_name, description, and category — fill these in by hand before the manifest can be validated.
  • Only catalog-backed integrations and channels are emitted. Agent-owned (non-catalog) entries and inline cron/heartbeat channels are skipped and need to be added by hand.

Validate a manifest

valet manifests validate [path] [--offline]

Validates a manifest in two passes:

  • Schema pass — checks syntax, required fields, unknown fields, and the story and per-service UI constraints.
  • Online pass — resolves every integration and channel catalog: reference by name against the control-plane catalog — the same lookup the attach/deploy path runs. This closes the gap where a manifest passes local validation but fails at deploy because it references a catalog entry that is not there.

When path is omitted, reads valet.yaml from the current directory. Exits 1 and prints errors to stderr when either pass fails. The online pass requires authentication and network access; pass --offline to run the schema pass only (useful in CI). Manifests that declare no catalog references skip the online pass automatically.

$ valet manifests validate
/path/to/valet.yaml is valid

$ valet manifests validate ../other-agent/valet.yaml
Error: manifest references unknown catalog entries
  connector "githubb" not found in catalog