Agents,
assembled.

Project Pals turns your coding agents into a crew of named pals inside Herdr: Claude Code, Codex, Grok, Gemini, opencode, Hermes. A head pal hires, assigns and checks in. Pushes wait for you.

Linux · Herdr · MIT · free
Works with the agents you already use
Claude CodecodexGrok CLIGemini CLIopencodehermes
The window

One sidebar.
The whole crew.

Project Pals in Herdr: the sidebar with the shown pal's pet and channels, every pal below with its state in colour, and a pal's channel working in its terminal
How it works

A space is a pal.
A tab is a channel.

01

Hire

A brain, a model, a role and a folder. It gets a name, a pet and its first channel.

02

Assign

Write tasks with screenshots, or tell the head pal and let it route them.

03

Work

Each pal in its own terminals and branches. Messages arrive when a turn ends, never over your typing.

04

Approve

Anything that leaves your machine waits for your click.

Plate I · The crew

Eight species.
Every state, at a glance.

Each pal is an LED-dot critter. What it wears comes from its brain, and its pose is its state. Meet all eight →

Orca, a kit wearing a crown, working at its laptop
Fig. A · kitcrown · working
Juniper, a fox in headphones, arms up: done
Fig. B · foxphones · done
Pixel, an owl in glasses, hand up with a question mark: needs you
Fig. C · owlglasses · needs you
Nova, a bun in a hood, holding up a diff: PR open
Fig. D · bunhood · PR open
Fern, a dino with an antenna, jumping: merged
Fig. E · dinoantenna · merged
Bolt, a pup in a cap, sweating at its laptop: stuck
Fig. F · pupcap · stuck
Moss, a mochi in a scarf, asleep
Fig. G · mochiscarf · asleep
Scout, a cub in a beanie, waving off: closing
Fig. H · cubbeanie · closing
The approval gate · the dream loop

Nothing ships
without you.

Held
git push, merges, releases, deploys, and edits to a project's AGENTS.md or CLAUDE.md
Approve
One click in the Inbox, good for that one command
Expires
After 30 minutes unused
Covers
Claude Code pals. A speed bump, not a sandbox: what it does and doesn't do

It learns from its hiccups.

Pals keep a notebook of what got in the way and what it cost. At 03:30 the head pal looks for what keeps repeating across the crew and drafts a fix: a skill, a rule, a task. Nothing changes until you approve it.

How the dream loop works →

Profiles · the Vault · tasks

Every pal has
a profile.

A mission, a brain, memory, channels and tasks, with a live Home note that writes itself as work lands. Plain markdown on disk, so it opens in Obsidian too.

Install

One paste.
Then it updates itself.

It downloads Project Pals 0.3.0, checks it against the release's SHA256SUMS and stops if they don't match. Updates never touch your pals, memory or tasks, and Roll back is one click.

bash · linux
cd "$(mktemp -d)" && u=https://github.com/denonmaryland/project-pals/releases/download/v0.3.0 \
  && curl -fsSLO "$u/SHA256SUMS" && f=$(awk '{print $2}' SHA256SUMS) \
  && curl -fsSLO "$u/$f" && sha256sum -c SHA256SUMS \
  && tar xzf "$f" && cd "${f%.tar.gz}" && ./install.sh

Needs Linux with a systemd user session, Herdr (opened once), python3, curl and rsync · then switch Herdr to the pals layout: Ctrl+Shift+L · hooks are backed up first, --no-helpers skips them · no macOS yet · exactly what it changes