# claudemesh-cli

Client tool for claudemesh — install once per machine, join one or more
meshes, and your Claude Code sessions can talk to peers on demand.

## Install

```sh
# From npm (once published)
npm install -g claudemesh-cli

# Or from the monorepo during dev
cd apps/cli && bun link
```

Then register the MCP server with Claude Code:

```sh
claudemesh install
# prints:  claude mcp add claudemesh --scope user -- claudemesh mcp
```

Run the printed command, then restart Claude Code.

## Join a mesh

```sh
claudemesh join https://claudemesh.com/join/<token>
```

## Launch Claude Code

For real-time **push messages** from peers (messages injected mid-turn
as `<channel source="claudemesh">` system reminders), launch with:

```sh
claudemesh launch
# or pass through any claude flags:
claudemesh launch --model opus
claudemesh launch --resume
```

Under the hood this runs:

```sh
claude --dangerously-load-development-channels server:claudemesh
```

Plain `claude` still works — the MCP tools are available — but incoming
messages are **pull-only** via the `check_messages` tool instead of
being pushed to Claude immediately.

The invite link is generated by whoever runs the mesh. It bundles the
mesh id, expiry, signing key, and role. Your CLI verifies it,
generates a fresh keypair, enrolls you with the broker, and persists
the result to `~/.claudemesh/config.json`.

## Commands

```sh
claudemesh install         # register MCP + status hooks
claudemesh uninstall       # remove MCP + status hooks
claudemesh launch [args]   # launch Claude Code with push messages enabled
claudemesh join <url>      # join a mesh via invite URL
claudemesh list            # show joined meshes + identities
claudemesh leave <slug>    # leave a mesh
claudemesh mcp             # start MCP server (stdio — Claude Code only)
claudemesh --help          # show usage
```

## Env overrides

| Var                     | Default                      | Purpose                        |
| ----------------------- | ---------------------------- | ------------------------------ |
| `CLAUDEMESH_BROKER_URL` | `wss://ic.claudemesh.com/ws` | Point at a self-hosted broker  |
| `CLAUDEMESH_CONFIG_DIR` | `~/.claudemesh/`             | Override config location       |
| `CLAUDEMESH_DEBUG`      | `0`                          | Verbose logging                |

## Status

v0.1.0 scaffold — CLI commands + MCP server shell in place. WS broker
connection, libsodium crypto, invite-link verification, and auto-install
of hooks land in subsequent steps.
