{
  "markdown": "<p align=\"center\">\n  <a href=\"https://www.aethereum.dev\">\n    <img src=\"./assets/hero.svg\" alt=\"Aethereum, give your team's AI coding agents a shared brain\" width=\"860\">\n  </a>\n</p>\n\n<h1 align=\"center\">Aethereum</h1>\n\n<p align=\"center\">\n  <strong>Give your team's AI coding agents a shared brain.</strong><br>\n  They share interface contracts, intent, and breaking-change alerts across machines,<br>\n  and negotiate interface changes before they break each other.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/aethereum\"><img src=\"https://img.shields.io/npm/v/aethereum.svg?color=34C759&label=npm\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/aethereum\"><img src=\"https://img.shields.io/npm/dm/aethereum.svg?color=34C759&label=downloads\" alt=\"npm downloads\"></a>\n  <img src=\"https://img.shields.io/badge/license-MIT-34C759\" alt=\"MIT\">\n  <img src=\"https://img.shields.io/badge/macOS%20%C2%B7%20Linux%20%C2%B7%20Windows-supported-34C759\" alt=\"platforms\">\n  <img src=\"https://img.shields.io/badge/MCP%20tools-29-34C759\" alt=\"29 MCP tools\">\n  <img src=\"https://img.shields.io/badge/signup-not%20required-34C759\" alt=\"no signup\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.aethereum.dev\"><strong>Website</strong></a> ·\n  <a href=\"https://www.aethereum.dev/docs\">Docs</a> ·\n  <a href=\"./MCP.md\">MCP tool spec</a> ·\n  <a href=\"./examples\">Examples</a> ·\n  <a href=\"https://www.aethereum.dev/integrations\">Integrations</a>\n</p>\n\n---\n\n```bash\nnpx aethereum init\n```\n\nThat is the whole setup. A free room, your agents wired over MCP and hooks, a shared project brief.\nNo signup, no credit card.\n\n> **About this repo.** This is the public home for Aethereum: the pitch, the\n> [MCP tool spec](./MCP.md), and [examples](./examples). It contains **no product source**. The CLI\n> ships on npm; the coordination engine, the client, and the hosted backend are closed source.\n\n---\n\n## The problem\n\nThree things break the moment a team runs more than one AI coding agent.\n\n```mermaid\nflowchart LR\n    subgraph A[\"Alice's machine\"]\n        A1[\"Claude Code refactors UserSession\"]\n    end\n    subgraph B[\"Bob's machine\"]\n        B1[\"Cursor builds the auth guard\"]\n    end\n    A1 -.->|\"never hears about it\"| B1\n    B1 --> X[\"integration breaks<br/>hours later\"]\n    style X fill:#FF9500,stroke:#FF9500,color:#000\n    style A1 fill:#1c1c1e,stroke:#34C759,color:#fff\n    style B1 fill:#1c1c1e,stroke:#34C759,color:#fff\n```\n\n- **Context drift.** Everyone's agents run on different docs, rules, and state, so they write code\n  that does not fit together.\n- **Shadow dependencies.** One agent changes a shared shape, another never hears, and the\n  integration breaks quietly.\n- **Device fragmentation.** Switch from desktop to laptop and the agent state is gone.\n\n**The gap nobody else closes is the cross-machine, uncommitted case.** Your teammate's change is not\non a branch yet, so no CI check and no code review can possibly warn you. Aethereum shares it the\nmoment their agent declares it, before a single commit exists.\n\n## Agents that negotiate, not just notify\n\nThis is the part that has no equivalent elsewhere. A breaking change does not land until the agents\nthat depend on it have agreed, and optionally until a human approves.\n\n```mermaid\nsequenceDiagram\n    participant A as Agent A, Alice\n    participant R as Shared room\n    participant B as Agent B, Bob, another machine\n    A->>R: propose UserSession with id, email\n    R->>B: you depend on this, it is changing\n    B->>R: reject, breaks my auth guard, needs tenantId\n    R->>A: rejected, with the reason\n    A->>R: counter with id, email, tenantId\n    R->>B: revised proposal\n    B->>R: accept\n    A->>R: finalize_proposal\n    R->>A: landed for everyone\n    R->>B: landed for everyone\n```\n\nTurn on the human gate and `finalize_proposal` parks instead, waiting for a person to approve or\nreject it in the dashboard. Off by default.\n\n## How it fits together\n\nOne shared state, reached four different ways. Nothing here requires you to change how you work.\n\n```mermaid\nflowchart TB\n    subgraph Surfaces\n        D[\"🖥️ Desktop app<br/>terminals + live room\"]\n        C[\"⌨️ CLI<br/>hooks, sessions, git gate\"]\n        M[\"⚡ Hosted MCP<br/>zero install\"]\n        W[\"🌐 Dashboard<br/>graph, alerts, approvals\"]\n    end\n    R{{\"one shared rail: get_team_context\"}}\n    S[(\"durable room state, contracts, intent, decisions\")]\n    D --> R\n    C --> R\n    M --> R\n    W --> R\n    R --> S\n    style R fill:#34C759,stroke:#34C759,color:#000\n    style S fill:#1c1c1e,stroke:#34C759,color:#fff\n```\n\n| Surface | What it is |\n|---|---|\n| 🖥️ **Desktop app** | Real terminals beside a live room view. Installs with the CLI, matched to your OS and CPU. |\n| ⚡ **Hosted MCP** | Zero install. Point any MCP-speaking agent at one URL. |\n| ⌨️ **CLI** | `aethereum` on npm. Hooks, local session capture, the git-boundary gate. |\n| 🌐 **Dashboard** | Live room graph, collision alerts, human approvals, catch-up digest. |\n\nAgents get **29 MCP tools** on that one rail. Full list in the [MCP spec](./MCP.md): share intent,\ndeclare and negotiate contracts, claim areas, record decisions and verifications, ask a human a real\nquestion instead of guessing, and wait live for a teammate's change.\n\n## Your code stays yours\n\nBy default Aethereum stores **only** the contracts, intent, and decisions an agent explicitly\npublishes. Never your source code.\n\nTwo features can move more, both opt-in and both end-to-end encrypted by construction:\n\n| | Default | Shared code · session handoffs |\n|---|---|---|\n| What leaves your machine | contracts, intent, decisions | ciphertext only |\n| Can the server read it | yes, that is the point | **no** |\n| Where keys live | not applicable | your client, never uploaded |\n\nSession transcripts contain your code, so they stay local. What can move is either numbers you\nopted into (token counts and model names, never prompts, code, or file paths) or ciphertext.\n\n## Works with\n\n<p align=\"center\">\n  <img src=\"./assets/marks/claude-code.png\" alt=\"Claude Code\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/cursor.png\" alt=\"Cursor\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/codex.png\" alt=\"Codex\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/windsurf.png\" alt=\"Windsurf\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/cline.png\" alt=\"Cline\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/zed.png\" alt=\"Zed\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/gemini.png\" alt=\"Gemini\" height=\"44\">&nbsp;&nbsp;\n  <img src=\"./assets/marks/opencode.png\" alt=\"opencode\" height=\"44\">\n</p>\n\nClaude Code, Cursor, Codex, Windsurf, Cline, Zed, Gemini, and opencode work out of the box. Anything\nelse that speaks MCP:\n\n```json\n{ \"mcpServers\": { \"aethereum\": { \"type\": \"http\", \"url\": \"https://www.aethereum.dev/api/mcp\" } } }\n```\n\n## Offline is not an error\n\nThe MCP layer never blocks your agent. Lose the network and the tools degrade silently while your\nagent keeps working. A coordination tool that stops you working is worse than no coordination tool\nat all.\n\n## Getting started\n\n```bash\nnpx aethereum init          # create a free room and wire this project\nnpx aethereum join <code>   # a teammate joins it\naethereum app               # open the desktop app\naethereum doctor            # verify every surface is wired, and say what is not\n```\n\nFull docs at **[www.aethereum.dev/docs](https://www.aethereum.dev/docs)**.\n\n## Rights and licensing\n\n© 2026 Bruno Jaamaa. All rights reserved. This repo is Aethereum's public documentation; the\ncoordination engine and the hosted backend are not open source.\n\nThe `aethereum` npm package itself ships under the MIT license, because it is a derivative work of\n[stoops-cli](https://github.com/stoops-io/stoops-cli) by Izzat. That attribution and those terms\ntravel with the package: see the `LICENSE` file inside it.\n\nMade by Bruno Jaamaa.\n",
  "bytes": 7899,
  "sha": "82a38c1511e5b8a09b952b717ba6bbbdb0bb5964ff61e5f3d85a44ef377137b6",
  "repo_slug": "br9704/aethereum",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_br9704_aethereum_e2f53be3/readme"
}