v0.1.0 · Shipped on npm

Your agents are
YAML in a git repo.

A stable runtime core. Declarative configs next to the code they automate. Fleets of agents that deploy together. One manifest, one dev loop, one history.

$ npm i -g @declaragent/cli Star on GitHub

Apache-2.0 · 13 packages · Node ≥ 18 · Open source

A two-agent fleet exchanging an RPC request concierge calls pr-reviewer's review-pr capability; the response flows back along the same edge. review-pr agents.pr-reviewer.requests concierge client pr-reviewer capabilities review-pr click a node to replay the round-trip
idle space to replay

Use cases

What you can build today.

Every row ships as a starter template. declaragent init --template <name> scaffolds the agent, wires its source, and drops the skill definitions — you fill in the system prompt.

PR review bot

GitHub webhook → agent reads the diff, tests the coverage gap, emits structured findings back as inline review comments.

--template pr-review

Repo-aware chat

Socket-mode Slack app → agent greps + reads your repo → answers in-thread with file paths and snippets. No RAG index to maintain.

--template concierge

On-call triage

Alertmanager fires → agent grades severity, pulls the runbook, pages the right oncall engineer over Slack DM with a pre-drafted mitigation.

--template oncall-escalator

Streaming enrichment

Kafka in, enriched event out. DLQ, retry backoff, idempotency cache, and a daily token budget are all declarative — no handwritten consumer loop.

--template kafka-pipeline

Specialist fleets

A concierge that routes to a pr-reviewer, a security-scanner, and a doc-writer over agent-rpc. One manifest, one dev loop, one atomic deploy.

--template fleet-starter

Multi-tenant SaaS

One daemon, many tenants. Per-tenant quotas, extensions, secret scopes, and a hash-chained audit log you can pipe into any SIEM.

--template multi-tenant-starter

Try it — no install

Edit a fleet.yaml. Run the actual validator in your browser.

This is the same validation logic from @declaragent/cli, ported verbatim to the page. Break the YAML — dangle a peer, duplicate a capability, reference a missing deploy target — and the findings show up below.

fleet.yaml
Findings
  • Click Validate to run.

How it works

Three commands. One directory. One behavior.

  1. 01

    Declare

    One manifest. One source of truth. No hidden state in a web UI.

    version: 1
    name: acme-fleet
    agents:
      - id: concierge
        path: ./agents/concierge
      - id: pr-reviewer
        path: ./agents/pr-reviewer
        deploy:
          target: cloud-run
    deploy:
      targets:
        cloud-run:
          kind: gcp-cloud-run
          region: us-central1
  2. 02

    Run

    One process, shared in-memory bus, inter-agent RPC for free.

    $ declaragent fleet run
    fleet: acme-fleet
    running 2 agents:
      • concierge    env=default  (client-only)
      • pr-reviewer  env=default  capabilities=1
    ready. press ctrl-c to stop.
  3. 03

    Deploy

    Rolling, all-or-nothing, or per-agent. Rollback is one flag away.

    $ declaragent fleet deploy --target cloud-run
    [01/02] deploying concierge@v1.2.0-a1b2c3d  ✓
    [02/02] deploying pr-reviewer@v1.2.0-a1b2c3d  ✓
    recorded to .declaragent/fleet-deploys.jsonl

Why this

Built for repos, not dashboards.

Git-versioned behavior

git blame agent.yaml tells you when the agent got slower, quieter, or stricter. git revert rolls it back. Your agents have a changelog.

Fleets are a primitive

One fleet.yaml declares N agents + shared peers + one deploy. Rolling or all-or-nothing, both with health-gated rollback. No ad-hoc orchestration glue.

RPC between agents

A typed envelope, pluggable transport, RequestAgent in the tool box. Kafka / NATS / SQS / AMQP / MQTT in prod; in-memory in dev. Same wire format.

Open from day one

Apache-2.0, on npm. No SaaS tier gates a feature. The CLI you install is the same binary we run.

Start in 30 seconds.

curl -fsSL https://declaragent.dev/install.sh | sh

Then:

declaragent init --fleet my-fleet
cd my-fleet
declaragent fleet add --template rpc-server
declaragent fleet run