Registry
Publish versioned, validated agent contracts — like npm for agent specs.
The Unispec contracts registry stores versioned, validated agent contracts: machine-readable specs that describe what an agent does — its instructions, input/output schemas, tools, and permissions — independent of any runtime. Publish a contract once, then pull it anywhere, diff it against prior versions, and generate runtime artifacts from it.
- Projects live under an owner:
owner/project(the owner is your organization slug). Visibility ispublicorprivate. - Drafts → versions. You edit a draft, validate it, then publish an immutable semver version.
- Validation gates publishing: structural checks, schema checks, tool reference checks, and breaking-change detection against prior versions.
- Browse the registry at unispec.ai/registry. The HTTP API reference is under API → Registry.
Quickstart
Install the CLI and store credentials (a platform API key works everywhere, including CI):
npm install -g @unispec-ai/cli
unispec login --api-key lb-sk_xxx1. Scaffold a project
unispec init acme/support-triage
cd support-triageThis creates agent.yaml (the contract), README.md, schemas/, tools/,
examples/, and .unispec/project.json (local coordinates + visibility).
2. Edit and validate
Edit agent.yaml (see Contract format), then:
unispec validate --create-if-missing--create-if-missing creates the remote project on first use. Validation
returns issues by severity; errors block publishing.
3. Publish an immutable version
unispec publish --version 1.0.0Published versions are immutable. Subsequent publishes must bump the version;
unispec diff shows what changed (and flags breaking changes):
unispec diff --against 1.0.04. Pull and generate
# Pull a published version into a local directory
unispec pull acme/support-triage@1.0.0
# Generate runtime artifacts for a published version
unispec generate acme/support-triage@1.0.0Command reference
| Command | Purpose |
|---|---|
unispec init <owner>/<project> | Scaffold a local contract project. |
unispec login | Store credentials (--api-key, --token, --base-url). |
unispec whoami | Show effective auth/config state. |
unispec validate | Validate the local draft against the registry. |
unispec publish --version <v> | Publish the draft as an immutable version. |
unispec pull [coordinate] | Download a published version's files. |
unispec generate [coordinate] | Generate artifacts for a published version. |
unispec diff --against <v> | Compare the draft to a published version. |
unispec deprecate <v> [--reason] | Mark a published version deprecated (undo: unispec undeprecate). |
unispec search <query> | Search public (and your private) projects. |
unispec project status | Show local + remote project status. |
Example project
A complete reference contract — typed schemas, a tool, and first-class
guardrails — lives at
unispec/customer-support
(source in the platform repo under contracts/examples/customer-support).
Pull it with unispec pull unispec/customer-support to explore the layout.
The same binary also carries the platform product groups (unispec memory,
unispec vector, unispec kb, unispec agents) — see the
Quickstart.