Executable spec for AI agent behavior contracts — define expected behavior in YAML and verify compliance.
AI agents need more than just accuracy benchmarks. They need behavioral contracts — clear declarations of what they should and shouldn't do. agentcontract lets you write those contracts as YAML files and continuously verify that your agent's behavior stays within bounds.
This is not an eval tool. It's an executable specification for agent authorization models.
npm install -g agentcontractagentcontract init --name my-agentcontract: my-agent
version: "0.1"
model:
provider: anthropic
id: claude-sonnet-4-20250514
system: "You are a helpful assistant."
temperature: 0
max_tokens: 1024
scenarios:
- name: "responds with citations"
input: "List 3 recent AI papers"
assert:
- type: contains_pattern
pattern: "https?://"export ANTHROPIC_API_KEY=sk-ant-...
agentcontract run my-agent.contract.yaml- Contract-first — The YAML contract file serves as spec, test, and documentation
- Independence — Works standalone without agentbond or trustbundle
- Single responsibility — Define contracts, verify them, show results. Nothing else
- Adapter pattern — LLM providers abstracted behind adapters (MVP: Anthropic only)
- Library-friendly — CLI-first, but importable as a TypeScript library for vitest integration
| Type | Description |
|---|---|
contains_pattern |
Output matches a regex pattern |
not_contains_pattern |
Output does NOT match a regex pattern |
scope_compliant |
Output stays within declared action scope (LLM-as-judge) |
json_schema |
Output is valid JSON matching a JSON Schema |
import type { Contract, RunResult } from "agentcontract";0.1.0 — MVP in development. API may change without notice.
| Project | Role |
|---|---|
| agentbond | Authorization layer — defines contract.scope |
| trustbundle | Audit layer — consumes RunResult via adapters |
| agent-trust-telemetry | Runtime detection — complements pre-execution verification |
See CONTRIBUTING.md.