Skip to content

Reference CLI

agentapp-ref is the reference command-line tool for the Agent App package contract. It is intentionally small: it validates package shape, reads manifest properties, emits catalog metadata, projects host-facing objects, and checks static readiness.

It does not run agents or execute app workers.

Install or run

From this repository:

bash
npm run cli -- validate docs/examples/content-factory-app

From npm after publishing:

bash
npx agentapp-ref validate ./my-agent-app

Commands

CommandPurpose
validate <app>Validate APP.md shape and local references.
read-properties <app>Print parsed frontmatter as JSON.
to-catalog <app>Emit compact catalog metadata.
project <app>Emit host catalog projection with provenance.
readiness <app>Check static setup readiness without running an agent.
migrate-check <app>Report migration gaps for the current target version.
migrate-generate <app>Suggest layered config files, including app.runtime.yaml, boundary / integration / operation files, app.install.yaml, App Server bridge fields, storage isolation, and optional app backend service metadata.

Validate

bash
npm run cli -- validate docs/examples/content-factory-app

Use this in CI before publishing. It catches missing required fields, unsupported statuses, unknown app types, invalid entry kinds, missing local references, and missing executable permissions.

Project

bash
npm run cli -- project docs/examples/content-factory-app

Projection output includes app summary, entries, capability requirements, storage, services, workflows, permissions, requirements, boundary, integrations, operations, install metadata, and provenance. Hosts can use this as a model for their own projection layer.

Readiness

bash
npm run cli -- readiness docs/examples/content-factory-app

Readiness reports required and optional setup. A structurally valid package can return needs-setup when required Runtime, UI, Context, Knowledge, Skill, Tool / Connector, Artifact, Evidence, Policy, QC, services, integrations, operations, or evals are not satisfied by the host.

Exit behavior

The CLI writes JSON to stdout. Validation failures set a non-zero exit code. Warnings can still produce ok: true if they do not block structural validity.

What the CLI is not

The CLI is not:

  • a full host runtime
  • a security sandbox
  • a registry
  • an app installer
  • a JSON Schema validator for every future extension
  • an agent executor

It is the shared reference for package shape and static host-facing semantics.

Use the CLI in three places:

  1. Package author CI: reject invalid manifests and missing local references.
  2. Registry ingestion: compare projection output, package hash, and release metadata.
  3. Host tests: keep projection and readiness behavior stable across host changes.

A simple package check can run:

bash
npm run cli -- validate docs/examples/content-factory-app
npm run cli -- project docs/examples/content-factory-app > /tmp/content-factory.projection.json
npm run cli -- readiness docs/examples/content-factory-app > /tmp/content-factory.readiness.json

Output contract expectations

  • JSON output should be deterministic for the same inputs.
  • Errors should be actionable and tied to manifest keys or local paths.
  • Warnings should identify production-readiness gaps without blocking draft exploration.
  • Readiness should separate missing host capabilities, missing connectors / integrations, missing user setup, and missing package files.

Draft host-platform standard for installable agent applications.