← Back
eliasstravik

eliasstravik/herdr-projects

A coordinator conversation, parallel worker threads, shared memory and an overview of what needs you. A Herdr plugin.

View on GitHub ↗https://herdr.dev ↗
herdrherdr-plugin
Stars
555
Forks
36
Watchers
555
Open issues
19
Contributors
1
Language
Rust
License
MIT License
Default branch
main
Created Sep 18, 2026Updated Sep 28, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Herdr Projects | Projects for Herdr

Run a whole project across your coding agents without handing each one its task or keeping track of who is doing what

Herdr Projects lets you run a larger piece of work in Herdr when one agent isn't enough and managing five by hand is a job in itself. You talk to one coordinator agent. It starts a separate agent for each task on its own branch, gives every one of them the same goal, instructions and memory, and Herdr's own sidebar shows you which threads need you, which are ready for review and which are still working.

Animation: you tell a coordinator what you want, it starts three threads that each work on their own branch, and an overview groups them as ready for review, waiting on you, and working

Open your first project

✓ Free, MIT licensed   ✓ Runs on your machines, no hosted service   ✓ macOS and Linux, Herdr 0.9.1+


Keep one conversation going while the work happens in parallel

The coordinator never does the work itself, so it's always free to answer you. Each task runs in its own thread: a separate agent in its own git worktree and branch, or in its own folder when there's no repository. You read reports and answer the threads that need you instead of briefing every agent yourself.

Choose between briefing each agent by hand, one long agent session, a cloud projects product, or a coordinator in Herdr

Herdr Projects Briefing agents by hand One long agent session Cloud projects products
No extra software fee ✅ ✅ ✅ ❌
Parallel tasks on separate branches ✅ ✅ ❌ ✅
Same instructions and memory for every task ✅ ❌ ✅ ✅
One conversation that stays free to answer ✅ ❌ ❌ ✅
Threads grouped by what needs you ✅ ❌ ❌ ✅
Runs on your own machines ✅ ✅ ✅ ❌
Adopts an agent pane you already started ✅ ✅ ❌ ❌
Works with the agent CLI you already use ✅ ✅ ✅ ❌
Runs with no machine of yours switched on ❌ ❌ ❌ ✅

Keep your attention on decisions. Herdr Projects starts and tracks the threads, your agents do the work, and you choose what to review, answer, or merge.

Tell the coordinator what you want. See which thread needs you in the sidebar.

📈 See every thread at a glance

Each thread's sidebar row shows its id and title, and a line under it with what Herdr's own state word does not say (review · PR #4, ~40%) and the agent's own activity. Agents and spaces are grouped by project: the project's home space and its coordinator head the group with the project's name in bold, then its threads with what needs you first and its other spaces as Herdr's own rows; everything else comes last. The tab bar says projects: 2 need you. prefix+a opens one popup with threads, tasks, inbox, routines and settings, where every thread's own list of next steps is a number key away.

⚡ Stop briefing every agent yourself

Say what you want once. The coordinator proposes threads and waits for your go-ahead, then each thread starts from a brief with the project's goal, your standing instructions, the project's memory and its task, on the agent you pick (Claude Code, Codex, OpenCode or any other kind Herdr runs). Lessons a thread reports under ## Remember flow back into memory for the next one.

💬 Know when a thread needs an answer

Agents report their own progress, so a thread that asked you something shows needs you even when it looks idle, and you get a notification that names the project and the thread. A background ticker follows pull requests: failing checks and review comments go back to the thread to fix, and a merged pull request resolves the thread and removes its worktree and branch once its agent has finished (it may still be tagging or deploying).

Open your first project in three steps

1️⃣

Install and configure
Run herdr plugin install eliasstravik/herdr-projects, then herdr-projects configure once for the sidebar rows, the popup key, the progress hooks and the /autoproject skill.

2️⃣

Create and open a project
Run herdr plugin action invoke new --plugin herdr-projects, or herdr-projects new "Billing" --repo ~/dev/app then herdr-projects open billing. A coordinator agent starts in the project's folder and primes itself from its AGENTS.md.

3️⃣

Tell it what you want
Describe the work in the coordinator's pane. It suggests threads, you say go ahead, and the sidebar shows each thread's state as it works.

Get everything included, free

For developers who run coding agents in Herdr on macOS or Linux

Free

   ✓  A coordinator that delegates and never does the work itself
   ✓  Threads on their own worktree and branch, or in a tab
   ✓  Shared instructions and memory in every brief
   ✓  What needs you, in the sidebar, the tab bar and one popup
   ✓  Pull request follow-up, routines, cleanup after a merge
   ✓  Threads on your saved SSH machines, reports copied home
Open your first project

Updating

Once, if you're on 0.2.2 or older (herdr-projects --version), which has no update yet:

herdr-projects ticker stop
herdr plugin install eliasstravik/herdr-projects
herdr-projects doctor --fix
herdr-projects ticker start

Herdr reinstalls the plugin in the same folder, and the plugin keeps your ~/.local/bin/herdr-projects link pointing at it. If you linked a local checkout with herdr plugin link instead, run git pull and sh scripts/install.sh in it in place of the herdr plugin install line.

From then on:

herdr-projects update           # fetch, install the new binary, doctor --fix, restart the ticker
herdr-projects update --check   # only print the installed and the newest version

update works for both install types and changes nothing when you're already on the newest release. Its doctor --fix also links the autoproject skill for each harness you configured, so existing users don't need to run configure again. A linked checkout must be on main with no uncommitted changes, or update stops and says why. When the install fails, the old version stays installed and the ticker is restarted. doctor says when a newer version is out.

Get your questions answered

Do I need to know how to code?

You need to be comfortable in a terminal. The plugin downloads its own prebuilt binary on install, and a project is a plain folder of Markdown and TOML files, but you never have to edit them: everything changes by asking the coordinator or from the popup. You'll need macOS or Linux, Herdr 0.9.1 or newer, Git, and an agent CLI Herdr can start, such as Claude Code. Rust/Cargo is needed only when there is no prebuilt binary for your machine. The getting-started guide covers the prerequisites.

How do I check that Herdr Projects is running?

Run:

herdr plugin action invoke doctor --plugin herdr-projects

The command checks the Herdr version, the tools it calls, the ticker, and each project's session. The getting-started guide walks through a project that won't open, a thread that doesn't start, and a ticker that isn't running.

What permissions does the coordinator need?

It runs the herdr-projects binary every turn, so you'll want to allow-list it in your agent by subcommand, never the bare binary. Allow reading and steering (skill, context, report, inbox done, thread list, thread prompt, thread next, thread read, thread keys and the like) and leave thread resolve, sweep, delete, rename, routine approve and configure on your agent's normal permission prompt. Leave thread start off the list too unless you've set start_threads = "auto": then every thread start is a real confirmation. Operations has the exact patterns.

Does the plugin send my project to a hosted service?

No. A project is a folder on your machine, the plugin talks to your local Herdr session, and remote threads use your own SSH machines. Your agent CLI still uses its own service as usual.

Will it touch my branches or worktrees on its own?

Only to clean up after a thread is resolved, which happens when you resolve it, when its pull request is merged, or after auto_resolve_days idle. Then it removes the thread's worktree (never with force, so uncommitted changes keep it) and, only if the pull request is merged, the local branch. The thread's report and files are copied home first and always kept. It never merges or pushes itself: a merge happens when you send a thread its own "Merge the PR" line and the thread does it with its own tools.

Where does my project live?

In ~/.herdr-projects/<name>/ by default: PROJECT.md for your settings and standing instructions, AGENTS.md for priming the coordinator, MEMORY.md and memory/ for what the coordinator remembers, TASKS.md for the task list the coordinator keeps for you (each task assigned to you, a person, an agent profile, another machine or both: task owners), uploads/ for files you give the threads, threads/ for thread records and reports, and library/ for files threads produced. The safety settings live outside it, in ~/.config/herdr-projects/config.toml, where no agent works. Operations lists every file.

Do I have to start every thread through the coordinator?

No. Run herdr-projects thread start yourself, or take an agent pane you already started and make it a thread with thread adopt. The herdr-projects adopt-workspace command turns the workspace you're in into a project with its agent as the first thread.

What if the safety settings aren't enough?

They are soft. By default the coordinator proposes threads and waits (until you turn on yolo mode in the popup), thread agents keep their normal permission prompts, which the coordinator answers for plainly in-task actions and brings to you otherwise (it may choose their model, never their launch flags), and routines may not run shell commands until you enable them and approve each command in a terminal. But agents have a shell: one that runs with skip-permission arguments can edit those files, a thread can prompt the coordinator pretending to be you, an approved routine command covers its text and not the scripts it calls, and whatever reaches memory is repeated in every later brief. Operations says plainly what each guard stops and what it doesn't.

What does it cost?

Herdr Projects is free and MIT licensed. Your agent CLI's usual usage charges still apply: every thread is a full agent session, and the coordinator spends tokens each turn reading its digest.

Open your first project in three steps

Your first project starts with an install, a name, and one sentence about what you want. Herdr Projects starts the threads and keeps them in view. You choose what to review and what to merge.

Open your first project

✓ Free, MIT licensed   ✓ Runs on your machines, no hosted service   ✓ macOS and Linux, Herdr 0.9.1+