Skip to content
herdctl logo herdctl logo

herdctl

Autonomous Agent Fleet Management for Claude Code

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 ApproachWith herdctl
Manually run Claude for each taskAgents work continuously, autonomously
Single agent, single taskFleet of specialized agents per project
No scheduling or triggersInterval, cron, webhook, and chat triggers
No work queue integrationGitHub Issues, Jira, Linear integration
Context lost between sessionsPersistent sessions with resume capability

herdctl.yaml
version: 1
workspace:
root: ~/herdctl-workspace
auto_clone: true
agents:
- path: ./agents/coder.yaml
- path: ./agents/marketer.yaml
agents/coder.yaml
name: bragdoc-coder
description: "Implements features and fixes bugs"
workspace: bragdoc-ai
repo: 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?