Skip to main content

Declaragent

An agent for enterprises to build and manage fleets of agents.

One agent.yaml in git describes identity, capabilities, tools, skills, event sources, channels, secrets, and who can call whom. One CLI — declaragent — is itself an agent built on @declaragent/core, the same runtime you'd ship to production. No second implementation, no vendor dashboard locked out of your repo.

The four pillars

  1. Define agents declaratively — capabilities, skills, inbound + outbound channels, peers to call.
  2. Deploy + monitor fleets — one-command rollout, rolling + canary strategies, Prometheus + OpenTelemetry out of the box.
  3. Independent by default — each agent owns its session, secrets, and sources. Delegation between agents is explicit via rpc-peers.yaml.
  4. Tools + MCP — seven built-in tools, full MCP server support (stdio / HTTP / SSE / OAuth PKCE), plugin-contributed extensions.

See FIRST_PRINCIPLES_AUDIT.md for an evidence-backed map of intent → code.

Where to go next

  • Quickstart → — the 10-minute path. Install, run declaragent init, observe it with Prometheus + OTel.
  • Reference → — the agent.yaml schema, CLI verbs, env vars, provider matrix, extension registry.
  • Cookbook → — walkthroughs for each template and cross-cutting recipes (multi-agent fleets, deploys, secrets rotation, multi-tenant).
  • Troubleshooting → — error-code reference, install + deploy flowcharts, runbook index.

Status

This site tracks v0.5.21 (latest on npm) with 0.6.0 staged (eight slices merged; tag + publish gated by operator sign-off — see RELEASE_0_6_0_READINESS.md). See the changelog for the per-release deltas.

What's new in 0.6.0 (staged)

  • Prometheus /metrics endpoint (Slice 1) — scrape on 127.0.0.1:9464 when running declaragent up -d. Source + channel counters flow through the shared registry automatically.
  • OpenTelemetry auto-enable (Slice 2) — set OTEL_EXPORTER_OTLP_ENDPOINT, install the peer deps, and up wires the bridged tracer into every source + channel. No code changes.
  • Per-skill circuit breakers (Slice 3) — 10 consecutive failures trip the breaker, 30-s cooldown, half-open probe re-closes. State + transitions exported as Prometheus counters. declaragent events list --state circuit-open filter.
  • Default provider rate limits (Slice 4) — token bucket at the LLM call site. Anthropic 50 rps / OpenRouter 20 rps / unknown 10 rps. Env escape hatches for loud-dev workloads.
  • Dispatch DLQ (Slice 5)rejected_events table tracks every rejected dispatch; declaragent dlq list/show/drop --kind dispatch for audit + acknowledge.
  • Inbound channels → skills (Slice 6)channels.json#inbound.routes maps Slack mentions / Telegram DMs / Discord / WhatsApp events to skills with one line of config.
  • Kafka RPC transport (Slice 7)createKafkaTransport carries RequestAgent envelopes across processes. Nightly integration CI against Redpanda.
  • Canary fleet deploys (Slice 8)declaragent fleet deploy --canary --canary-wait-ms <n>: deploy one agent, soak, re-probe, then roll out the rest. Auto-rollback on post-soak failure.

What's new in 0.5.x (shipped)

The five runtime-activation slices that unlocked end-to-end 0.6.0 work:

  • External source adapter discovery (0.5.0)declaragent up now auto-discovers @declaragent/source-* packages installed in node_modules. Kafka, NATS, SQS, AMQP, MQTT all start when installed.
  • MCP runtime activation (0.5.0–0.5.1) — stdio + HTTP + SSE + OAuth PKCE + @server:resource references.
  • Channel runtime + SendMessage (0.5.0)up spins every channel in channels.json; skills can call SendMessage({kind:'channel', …}) without plugin wiring.
  • Plugin runtime activation (0.5.0) — consented plugins load at up time, contributing tools / skills / commands / hooks.
  • Non-memory RPC transports + RequestAgent (0.5.0)declaragent fleet run honors every transport kind declared in capabilities.yaml; RequestAgent is appended to the per-agent tool list when rpc-peers.yaml is present.