Built-in tools
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 →
v0.1.3 · on npm, on Homebrew, on curl
One agent.yaml. Hash-chained audit, per-tenant quotas, secrets
rotation, rolling deploys, Prometheus + OpenTelemetry out of the box. Every
capability is configured through the same CLI you ship to production.
$ npm i -g
@declaragent/cli
Read the docs →
█
Capabilities
Every block below is declarative in agent.yaml and installable
through the CLI. No hidden console, no vendor dashboard.
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
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 init \
--template concierge \
--provider anthropic
declaragent init --fleet acme
declaragent fleet add \
--template rpc-server
Pick a template, scaffold an agent or a fleet of agents.
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
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.
Advanced — try in your browser
fleet.yaml. Run the production validator without
installing anything.
This is the same validation logic that ships in @declaragent/cli,
ported verbatim. Dangle a peer, duplicate a capability, reference a missing
deploy target — the findings appear inline, offline, with no network hop.
curl -fsSL https://declaragent.dev/install.sh | sh
npm i -g @declaragent/cli
brew tap declaragent/tap
brew install declaragent
Then:
declaragent init --template concierge --provider anthropic
cd concierge
declaragent