Worktrees as frames
Every agent on its own branch, physically unable to collide with a sibling's work.
Free & open source Linux & macOS · MIT
Coding-agent CLIs, next to the terminals, editors and diffs they work on. Adding your own is a file, not a fork.
bash <(curl -fsSL https://hivemind.griiken.com/install.sh)



From a repository you already have to an agent working in it, in three commands.
One directory, .hivemind/, holds the workspace and its issues as Markdown beside your code. Nothing else on your machine changes.
$ hive init --prefix API
A frame is one repository, worktree or SSH host. The agent gets a real terminal inside it, with the CLI and the keys you already installed.
$ hive ctl spawn --agent claude --frame api
Its screen comes back as text you can pipe. The same verb sends the next instruction — to you, or from one agent to another.
$ hive ctl read tile-scout --json
Every agent in the box is a manifest, and every one of them passes exactly the checks yours does. There is no tier you cannot reach and no fork to maintain.
It names the command to run and how to read that command's screen. Write it, check it the way a stranger's machine will, and install it from a folder or straight from a repository.
$ hive agents validate ./my-agent $ hive agents install ./my-agent $ hive agents install owner/repo
Read how to write an agent manifest →
Before it installs, Hivemind says what it will do in plain words — the command it runs, any directory it reads, whether it can talk to your other agents. An agent added automatically, with nobody reading it, may do none of those.
id: my-agent
label: My Agent
bin: my-agent
caps:
promptDelivery: typed
turnSignal: false
resume: none
supervise: human
blockedDetection: true
detect:
default: idle
rules:
- when: { contains: "esc to interrupt" }
then: working
- when: { contains: "[y/n]" }
then: blockedCanvas and Windows ship; the rest are plugins, and so is the one you write. Your terminals, editor buffers and browser tabs survive the switch — tile bodies are mounted once and lent to whichever view is on screen.




A view is a folder with a manifest and one page. The host hands it the frames, the tiles and their status; it draws the workspace however it likes, sandboxed, and asks for a live terminal when it wants one.
$ hive views install ./my-view/dist $ hive agents install ./my-agent
{
"id": "my-view",
"name": "My view",
"entry": "index.html",
"permissions": [],
"author": "you",
"license": "MIT"
}Every agent on its own branch, physically unable to collide with a sibling's work.
They live in your repository. No tracker, no account — greppable, and reviewable in a diff.
PTYs on the host, editor over SFTP, in the same canvas as everything local.
Every verb takes --json and returns a real exit status, so any script can drive it.
One binary. Linux x86_64 and macOS Apple Silicon, MIT licensed.