celesto
Secure and persistent computer for AI agents
Your team votes on how its AI coding agents behave.
Developer toolsGitHub @aryehlevOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Your team votes on how its AI coding agents behave. Correct Claude Code once, and PeerHarness turns it into a one-sentence rule (an Agent Skill) that a majority of your team votes in for every member's agent. Peer-to-peer, no server.
Loading the full README.
Read the full README ↗Your team votes on how its AI coding agents behave.
Works with: Claude Code, Codex, Gemini CLI, Cursor, GitHub Copilot CLI, opencode, Pi, Google Antigravity, Qwen Code, Amp, Factory's Droid, Crush, Kilo, goose and DeepSeek Harness (how each one connects).
You correct your coding agent ("no, use pnpm, not npm"). PeerHarness turns the correction into a one-sentence rule. Keep it for your own agent, or propose it to your team: once a majority approves, every member's agent follows it. There is no server. Each person runs their own node with their own keys, and every node checks every signature and counts every vote for itself.
Agents suggest, people decide. Your agent can note a rule and open a window on your screen that shows the exact text. It cannot answer the window: inside its session, keeping a rule, sharing one, voting, inviting and joining take your click. That stops an agent that is trying to help. It is not a sandbox (Limits).
Status: v0.5.0, early and not audited. Made for Claude Code on macOS first; the other agents get the rules and the tools. On Linux it works from a terminal, without the windows. Windows is not supported. Read Limits before you rely on it.
PeerHarness is also a command-line tool (CLI): every step here is a command too, and you can run it yourself without an agent. See From a terminal.
Paste this into your coding agent: Claude Code, Codex, Gemini CLI, Cursor, Copilot CLI or another one PeerHarness connects.
Set up PeerHarness for me: https://github.com/aryehlev/peerharness
1. Install it:
curl -fsSL https://raw.githubusercontent.com/aryehlev/peerharness/main/install.sh | sh
2. The next step is mine. It is where I allow what you may start for me, so do not
run it yourself: it would be refused. Ask me to run this in my own terminal:
~/.local/bin/peerharness setup
Then tell me to start a new session, and what I can ask you there.
SHA256SUMS and puts it in ~/.local/bin.
No sudo, and nothing else is changed.setup, once. It is where you allow what your agent may start for you,
so your agent is refused it. It creates your key and database and connects
PeerHarness to Claude Code (two hooks, one skill and its tools) and to the other
agents it finds. It shows each change before it makes it and asks you to confirm.Then start a new session of your agent and try it.
Other coding agents. For each of the 14 others it finds (Codex, Gemini CLI, Cursor,
Copilot CLI, opencode, Amp, goose and more), setup shows a preview and then puts your
rules in the skills it reads and gives it the same tools. For goose and DeepSeek
Harness it shows the tools entry for you to add yourself. If you use goose term init, run setup from a shell without it: PeerHarness takes that shell for goose's. The hooks are Claude Code's alone, so in the others a
correction is noted only when the agent notes it. See
other coding agents.
More: what setup adds and stores and how to take it out again.
Start a new session of your agent and say these, one at a time. You need no teammate for it.
Every window has the exact text and two buttons, Cancel and Proceed. Cancel is the default, and your agent cannot answer the window. This is the one for the vote:
Your coding agent started this step. Nothing happens unless you choose Proceed.
You are about to sign a ballot in acme:
approve on "Use pnpm, not npm, in this repository." (adopt rule use-pnpm-not-npm-repository)
An approval cannot be withdrawn. The rule, exactly as proposed:
---
name: use-pnpm-not-npm-repository
description: Use pnpm, not npm, in this repository.
---
# Rule
Use pnpm, not npm, in this repository.
If this conflicts with what the user asks for in the current session, follow the user and say that it conflicts with this rule.
After that, "What is in my PeerHarness inbox?" lists the rules your agent noted and the proposals that wait for your vote, and "Anything new in PeerHarness?" exchanges with the other members first.
This is the beginning of the README. Read the rest at the original. Read the full README ↗