Files
claudemesh/docs/roadmap.md
Alejandro Gutiérrez 7d35c779f4
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled
chore(release): claudemesh-cli@1.6.0
The v0.2.0 backend cut. Topics, API keys, REST /api/v1/*, and bridge
peers — all in one CLI release. Adds three new verb namespaces:
topic (channel pub/sub), apikey (REST client auth), bridge (cross-mesh
forwarding).

Also pins @claudemesh/sdk as a workspace devDependency so the bridge
implementation is bundled by Bun at build time and doesn't leak into
the npm tarball's runtime deps.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 16:11:56 +01:00

7.4 KiB
Raw Blame History

claudemesh roadmap

v0.1.0 — shipped

The public launch. Direct peer-to-peer messaging through a hosted broker, ready for real teams.

  • Direct messages between peers (by name, by id)
  • End-to-end encryption — crypto_box direct, crypto_secretbox group
  • Signed ed25519 identities + signed invite links (ic://join/...)
  • Hello-sig handshake auth against the broker
  • Hosted broker at wss://ic.claudemesh.com/ws
  • claudemesh-cli — join, list, leave, MCP server
  • Claude Code MCP tools: list_peers, send_message, check_messages, set_summary, set_status
  • Dashboard (beta): presence, live traffic, peer summaries

v1.0.0-alpha — shipping now

The ship-all push — Claude Code-grade CLI, zero-Node binary distribution, end-to-end crypto backup, per-peer capability grants, self-update.

  • Single-binary distributioncurl -fsSL claudemesh.com/install | sh downloads the right binary (darwin/linux/windows × x64/arm64) when Node isn't present. GitHub Releases auto-publishes on each cli-v* tag.
  • claudemesh:// URL scheme — invite emails become one-click. claudemesh url-handler install registers the scheme per-OS.
  • claudemesh <url> — join + launch in one command. -y makes it fully non-interactive for CI.
  • Live status line in Claude Code◇ <mesh> · N/M online polled from the MCP server's peer cache. Enable with claudemesh install --status-line.
  • Per-peer capability grantsclaudemesh grant/revoke/block/grants. Enforced server-side in the broker (silent drop) and client-side in the MCP server.
  • Encrypted backup / restoreclaudemesh backup / restore with Argon2id + XChaCha20-Poly1305. Portable .cmb recovery file.
  • Safety numbersclaudemesh verify <peer> shows a 30-digit SAS derived from both ed25519 pubkeys, for out-of-band verification.
  • Shell completionsclaudemesh completions zsh|bash|fish.
  • QR on shareclaudemesh share prints a terminal QR for phone-to-laptop pairing.
  • Self-updateclaudemesh upgrade reinstalls the latest alpha via the npm that installed the running binary.
  • Auto-migrate on broker startup — pending drizzle migrations apply under pg_advisory_lock before the HTTP server binds. Exits non-zero on failure so Coolify fails the healthcheck closed.
  • v2 invite protocol (broker + API) — short opaque codes (/i/{code}); broker seals mesh_root_key to a recipient x25519 pubkey via crypto_box_seal. CLI migration tracked at .artifacts/specs/2026-04-15-invite-v2-cli-migration.md.
  • Email invites — admins invite by email via Postmark with a branded react-email template.

v1.5.0 — shipped

CLI-first architecture lock-in. The CLI becomes the API; MCP becomes a tool-less push-pipe. Spec: .artifacts/specs/2026-05-02-architecture-north-star.md.

  • Tool-less MCPtools/list returns []. Inbound peer messages still arrive as experimental.claude/channel notifications mid-turn. Bundle size -42% (250 KB → 146 KB).
  • Resource-noun-verb CLIpeer list, message send, memory recall, etc. Legacy flat verbs (peers, send, remember) remain as aliases.
  • Bundled claudemesh skill — installed to ~/.claude/skills/claudemesh/ by claudemesh install. Sole CLI-discoverability surface for Claude.
  • Unix-socket bridge — CLI invocations dial ~/.claudemesh/sockets/<slug>.sock to reuse the push-pipe's warm WS (~220 ms warm vs ~600 ms cold).
  • --mesh <slug> flag — connect a session to multiple meshes by running multiple push-pipes.
  • Policy engine — every broker-touching verb runs through a YAML-driven gate at ~/.claudemesh/policy.yaml (auto-created with sensible defaults). Destructive verbs prompt; non-TTY auto-denies. Audit log at ~/.claudemesh/audit.log.
  • --approval-mode plan|read-only|write|yolo + --policy <path> — modeled on Gemini CLI's --policy and Codex's --sandbox.

v1.6.0 — shipped

The v0.2.0 backend cut. Topics, REST gateway, and bridge peers — all in one CLI release.

  • Topics (channel pub/sub)claudemesh topic create|list|join|leave|send. Mesh = trust boundary, group = identity tag, topic = conversation scope. Three orthogonal axes. Broker persists per-topic message history.
  • API keysclaudemesh apikey create|list|revoke for non-WebSocket clients (humans, scripts, gateway bots). Scoped per-mesh with read,send capabilities.
  • REST /api/v1/*messages, topics, peers, history over HTTP with bearer-token auth. Lets browsers, mobile, and any HTTPS client participate without WebSocket + ed25519 plumbing.
  • Bridge peersclaudemesh bridge run <config.yaml> long-lived process that belongs to two meshes and forwards a topic between them. Hop-counter prefix (__cmh<n>:) prevents loops; configurable max-hops and filter callback.
  • Humans-as-peerspeer_type: "human" plumbed end-to-end. The web dashboard now becomes a full mesh client over REST, not just a read-only management console.

Spec: .artifacts/specs/2026-05-02-v0.2.0-scope.md.


v0.2.0 — next

The surface layer. The protocol is ready; these are gateways + routing primitives.

  • Web chat UI — thin React client over /api/v1/* at dashboard/meshes/[id]/topics/[name]. Auto-issues an apikey for the signed-in dashboard user. Compose, message stream, members sidebar.
  • Tag routing — send to any peer working on repo:billing, rather than by name
  • WhatsApp gateway — a peer bot that forwards messages to/from WhatsApp, so your mesh follows you off the laptop
  • Telegram gateway — same pattern, different surface
  • Peer transcript queries — let your Claude ask another Claude what have you touched in the last hour? without a human in between
  • iOS peer app (thin) — push + reply, same keypair, same identity
  • Per-topic encryption — HKDF-derived symmetric keys from mesh_root_key + topic_id. The current implementation base64-encodes plaintext into the ciphertext field for forward-compat.
  • Custom migration runner — replace drizzle's _journal.json tracking with filename + sha256 in mesh.__cmh_migrations. Unblocks every future schema change.

v0.3.0 — later

The operator layer. Built for teams that want to run their own.

  • Self-hosted broker packaging — one-command Docker compose, Postgres included
  • Federation — brokers exchanging presence + routing ciphertext across organizations
  • Broker-to-broker federation — your self-hosted claudemesh broker peering directly with claudemesh.com (or another operator's broker) for cross-instance mesh discovery
  • Mesh analytics — message volume, peer uptime, handoff latency
  • Slack peer (first-party) — currently build-your-own; we ship one

Openness

  • MIT-licensed — the protocol, the CLI, the broker, the marketing site
  • Reference implementationclaude-intercom is the local OSS ancestor (sockets on one machine). claudemesh is the hosted/enterprise extension.
  • Spec-first — the wire protocol + crypto are documented in docs/protocol.md. Fork the broker, build your own gateway, embed a peer in your own app — all first-class.

Want something bumped up, or something that isn't listed? Open an issue.