Fleet Management
Orchestrate multiple Claude Code agents working together across your projects. Monitor status, track jobs, and manage the entire fleet from a single dashboard.
An open-source platform for running fleets of autonomous AI agents. Each agent has its own identity, schedules, and work sources. Agents can be triggered by time (interval/cron), events (webhooks), or chat messages (Discord/Slack).
Think of it as “Kubernetes for AI agents” - declarative configuration, multiple runtimes, pluggable integrations.
Fleet Management
Orchestrate multiple Claude Code agents working together across your projects. Monitor status, track jobs, and manage the entire fleet from a single dashboard.
Declarative Config
Define your agents, schedules, and work sources in simple YAML. Version control your entire fleet configuration alongside your code.
Multiple Triggers
Trigger agents with intervals (“every 5 minutes”), cron schedules (“9am weekdays”), webhooks, or chat messages from Discord/Slack.
Pluggable Work Sources
Connect agents to GitHub Issues, Jira, Linear, or custom work queues. Agents automatically discover, claim, and complete tasks.
Agent
A configured Claude instance with identity (CLAUDE.md), workspace (repo clone), and permissions. Each agent can have multiple schedules.
Schedule
Defines when and how to invoke an agent. Combines a trigger (interval, cron, webhook, chat) with a prompt template.
Job
A single execution of an agent. Has unique ID, tracks status (running/completed/failed), stores session ID for resume capability.
Workspace
The directory where an agent operates - a dedicated clone separate from your working copy, keeping agent changes isolated.
| Traditional Approach | With herdctl |
|---|---|
| Manually run Claude for each task | Agents work continuously, autonomously |
| Single agent, single task | Fleet of specialized agents per project |
| No scheduling or triggers | Interval, cron, webhook, and chat triggers |
| No work queue integration | GitHub Issues, Jira, Linear integration |
| Context lost between sessions | Persistent sessions with resume capability |
version: 1
workspace: root: ~/herdctl-workspace auto_clone: true
agents: - path: ./agents/coder.yaml - path: ./agents/marketer.yamlname: bragdoc-coderdescription: "Implements features and fixes bugs"
workspace: bragdoc-airepo: edspencer/bragdoc-ai
work_source: type: github filter: labels: any: ["ready", "bug", "feature"]
schedules: - name: issue-check trigger: type: interval every: 5m prompt: | Check for ready issues and implement the oldest one.Ready to run your own agent fleet?