Define agents
agent.yaml identity + Markdown skills + tool
allowlists + inbound/outbound channels + typed peers.
v1.1 Agent Graph typed capabilities shipped in 0.7.1 (PR #23).
v0.7.1 · shipped 2026-04-23 · release notes ↗
agent.yaml.
The declarative runtime for AI agent fleets. Write
agent.yaml. Commit it. Run declaragent up.
Prometheus, OpenTelemetry, audit chain, circuit breakers, canary
deploys — in the box.
$ npm i -g
@declaragent/cli
Star on GitHub
tip short-form CLI —
d9t up runs the same as declaragent up.
█
npm i -g @declaragent/cli
brew tap declaragent/tap
brew install declaragent
curl -fsSL https://declaragent.dev/install.sh | sh
Then — converse your fleet into existence:
declaragent init --fleet acme
cd acme
DECLARAGENT_BUILDER=on declaragent # short: d9t
New to Declaragent? Take the 15-minute conversational tour →
Honest status · receipts-first
Single-machine production was shipped in 0.6.0. The 12-item enterprise
integration plan — multi-host RPC, OIDC/OAuth2, managed control
plane, SIEM export, GitOps fleet render, per-tool
rate limits, MCP auto-recovery, typed capability schemas — shipped
in 0.7.1. Every ✓ below links to the PR. The only open receipt:
Pillar 3's 7-consecutive-green weekly soak proof.
agent.yaml identity + Markdown skills + tool
allowlists + inbound/outbound channels + typed peers.
v1.1 Agent Graph typed capabilities shipped in 0.7.1 (PR #23).
up / ps / logs / down, Prometheus, OTel, circuit
breakers, canary deploys. Managed control plane aggregator,
GitOps fleet render, SIEM audit export — all
shipped in 0.7.1.
Memory + Kafka + NATS RPC transports, pending-registry correlation, version-skew detection, OIDC/OAuth2 on envelopes, fleet-e2e tests, nightly CI on Redpanda.
8 built-ins (Read, Write, Edit, Bash, Glob, Grep, Agent, SendMessage) + MCP stdio/HTTP/SSE/streamable-HTTP + OAuth 2.1 PKCE + per-tool rate limits + auto-recovery for crashed MCP servers (0.7.1).
14 builder tools, plan-confirm-execute, git-backed rollback, scope + secret guards, fleet-e2e test, recorded-conversation regression suite (0.7.1).
Every ✓ has a test. Every ◐ names the gap and the tracked doc. Read the full audit — file:line evidence for every claim on this page.
Capabilities · declarative
Every block below is declarative in agent.yaml and
installable through the CLI. No hidden console, no vendor dashboard,
no "contact sales."
Read, Write, Edit, Bash, Glob, Grep, Agent, SendMessage. File-system grounded. MCP server tools load on top.
tools:
defaults: [Read, Glob, Grep, Bash]
Tools reference →
Prompts + input schema in one Markdown file with frontmatter.
{{var}} interpolation. Tiered discovery (user /
project / plugin).
skills:
- skills/review-pr.md
Skills reference →
Bundle skills, tools, channels, sources. Consent-gated permission grants on install. Versioned via changesets.
$ declaragent plugin install \
@declaragent/plugin-github
Plugin system →
First-class Model Context Protocol support — stdio + HTTP. Tools, resources, prompts. One-command registration.
$ declaragent mcp add postgres \
--command psql-mcp
MCP reference →
Cron, webhook, file-watch, Kafka ✓, NATS · SQS · AMQP · MQTT ◐. DLQ + replay + idempotency + rate limiting — declaratively.
$ declaragent source add webhook \
gh-events --config-file ./hook.yaml
Source adapters →
Slack, Telegram, Discord, WhatsApp. Outbound rate limits, send idempotency, per-user session context, BlockKit / Markdown rendering.
channels:
- id: slack-prod
type: slack
Channel registry →
One daemon, many tenants. Per-tenant quotas, extension scopes, residency tags, tenant-stamped buses.
$ declaragent tenants show acme-prod
$ declaragent tenants diff
Multi-tenant guide →
Vault, AWS Secrets Manager, GCP Secret Manager, K8s, env. TTL cache, audit on every resolve, rotation monitor.
$ declaragent secrets rotate \
vault:kv/acme/gh-token
Secrets reference →
Every tool call, channel send, tenant boundary, secret access. SHA-256 chain verify. GDPR erase by user or correlationId.
$ declaragent audit verify
$ declaragent audit erase --user U123
Audit format →
Four modes: default (prompt per call), plan (dry-run), bypass (trusted), auto (auto-approve allow-list). Sandboxing on file + shell.
$ declaragent --mode plan
$ declaragent --mode auto
Permission modes →
Prometheus exporter with per-tenant labels. OpenTelemetry spans for every turn + tool call. Structured logs with correlationId threading.
observability:
prometheus: { port: 9464 }
otel: { endpoint: $OTEL_URL }
Grafana setup →
One fleet.yaml declares N agents + shared peer table.
Inter-agent RPC, rolling / all-or-nothing deploy, version-skew
detection.
$ declaragent fleet new acme-fleet
$ declaragent fleet run
Fleet reference →
Lifecycle · one binary
No separate tools for init vs. deploy vs. ops. The same binary you
install on your laptop runs in CI and talks to the daemon in
production. declaragent is the long form;
d9t is the short.
declaragent init --fleet acme
cd acme
DECLARAGENT_BUILDER=on declaragent
> build a fleet that triages GH
> issues and hands severe ones
> to a reviewer agent
/yes
Scaffold a fleet, then converse to shape it. Templates still work.
declaragent plugin install \
@declaragent/plugin-github
declaragent source add webhook \
gh-events --config-file ./hook.yaml
declaragent mcp add postgres \
--command psql-mcp
Add plugins, event sources, MCP servers, channels. Consent-gated.
declaragent daemon
declaragent events list --last 20
declaragent dlq redrive \
--source webhook:gh-events <id>
declaragent audit verify
declaragent tenants show acme-prod
Run locally or as a daemon. Observe, replay, audit, debug.
declaragent deploy gcp-cloud-run \
--project acme --region us-central1
declaragent fleet deploy \
--target cloud-run
declaragent fleet deploy --rollback
Single agent or whole fleet. Rolling, health-gated, rollback-ready.
Enterprise primitives · built-in
Every tool call, channel send, tenant boundary, and secret resolve
is recorded to a SHA-256 hash chain. audit verify
detects tampering; audit erase --user tombstones in a
GDPR-clean pass.
One tenants.yaml declares quotas, residency,
extension allow/deny, and per-tenant secret scopes. The event bus
is tenant-stamped; cross-tenant writes fail closed with a typed
error.
Native providers for Vault, AWS Secrets Manager, GCP Secret
Manager, K8s, and env. TTL cache + rotation monitor. Every resolve
writes a secret_access audit record.
Four runtime modes — default (prompt per call), plan, bypass, auto (allow-list). File-system sandboxing, per-tool allow/deny globs, escalation on denial.
Prometheus exporter with tenant_id constLabels baked
in. OpenTelemetry spans thread through every turn, tool call, and
RPC hop. Structured logs keyed on correlationId.
Cloud Run deploy templates generated from agent.yaml.
Fleet deploys support rolling / all-or-nothing / per-agent with
health-gated rollback. Every deploy records a version; one flag
reverts.
Interactive · no install
fleet.yaml. Run the production validator
in your browser.
Same validation logic that ships in @declaragent/cli,
ported verbatim. Dangle a peer, duplicate a capability, reference a
missing deploy target — findings appear inline, offline, no
network hop.
If this saves you an afternoon
One click. No account creation, no email capture, no newsletter trap. Stars are the signal maintainers read first when prioritizing the next week of work.
Or watch the repo — release notes, RFCs, and the nightly soak dashboard all land there first.