chore(cli): rename package to claudemesh-cli (unscoped) for npm publish
Some checks failed
CI / Tests / 🧪 Test (push) Has been cancelled

@claudemesh/cli was already taken on npm by an unrelated project
(claudemesh "domain packages", v1.0.7). PM picked option A: publish
unscoped as claudemesh-cli. Binary name stays "claudemesh" — users
type the natural thing on install:

  npm install -g claudemesh-cli
  claudemesh install
  claudemesh join ic://join/...

renamed references everywhere:
- apps/cli/package.json: name
- apps/cli/README.md: title + install command
- apps/cli/src/{index.ts, mcp/server.ts, commands/install.ts} headers
- docs/QUICKSTART.md: install command, version banner, npx hint
- docs/roadmap.md: package name

also (PM journey-friction #5): surface the "restart Claude Code" step
LOUDLY in install output. Added a yellow-bold warning line after the
✓ success lines so new users don't miss the restart step (MCP tools
only load on Claude Code restart).

  ⚠  RESTART CLAUDE CODE for MCP tools to appear.

ANSI colors gated on isTTY + NO_COLOR/TERM=dumb guards.

bundle rebuilt. ready for npm publish pending user's `npm adduser`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-04-05 14:41:59 +01:00
parent 6a198034a0
commit 64ca600195
7 changed files with 24 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
# @claudemesh/cli
# 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.
@@ -7,7 +7,7 @@ meshes, and your Claude Code sessions can talk to peers on demand.
```sh
# From npm (once published)
npm install -g @claudemesh/cli
npm install -g claudemesh-cli
# Or from the monorepo during dev
cd apps/cli && bun link

View File

@@ -1,5 +1,5 @@
{
"name": "@claudemesh/cli",
"name": "claudemesh-cli",
"version": "0.1.0",
"description": "Claude Code MCP client for claudemesh — peer mesh messaging between Claude sessions.",
"keywords": [

View File

@@ -90,7 +90,7 @@ function resolveEntry(): string {
* Build the MCP server entry for Claude Code's config.
*
* Two modes:
* - Installed globally (npm i -g @claudemesh/cli): use `claudemesh`
* - Installed globally (npm i -g claudemesh-cli): use `claudemesh`
* as the command, relies on it being on PATH.
* - Local dev (bun apps/cli/src/index.ts): use `bun <absolute-path>`.
*/
@@ -167,16 +167,25 @@ export function runInstall(): void {
process.exit(1);
}
// ANSI color helpers — stick to 8-color set so terminals without
// truecolor still render. Fall back to plain if NO_COLOR or dumb TERM.
const useColor =
!process.env.NO_COLOR && process.env.TERM !== "dumb" && process.stdout.isTTY;
const bold = (s: string) => (useColor ? `\x1b[1m${s}\x1b[22m` : s);
const yellow = (s: string) => (useColor ? `\x1b[33m${s}\x1b[39m` : s);
const dim = (s: string) => (useColor ? `\x1b[2m${s}\x1b[22m` : s);
console.log(`✓ MCP server "${MCP_NAME}" ${action}`);
console.log(` config: ${CLAUDE_CONFIG}`);
console.log(dim(` config: ${CLAUDE_CONFIG}`));
console.log(
` command: ${desired.command}${desired.args?.length ? " " + desired.args.join(" ") : ""}`,
dim(
` command: ${desired.command}${desired.args?.length ? " " + desired.args.join(" ") : ""}`,
),
);
console.log("");
console.log("Restart Claude Code to load the MCP server.");
console.log("Then join a mesh:");
console.log(yellow(bold("⚠ RESTART CLAUDE CODE")) + yellow(" for MCP tools to appear."));
console.log("");
console.log(" claudemesh join <invite-link>");
console.log(`Next: ${bold("claudemesh join ic://join/<your-invite-link>")}`);
}
export function runUninstall(): void {

View File

@@ -1,5 +1,5 @@
/**
* @claudemesh/cli entry point.
* claudemesh-cli entry point.
*
* Dispatches between two modes:
* - `claudemesh mcp` → MCP server (stdio transport)

View File

@@ -1,5 +1,5 @@
/**
* MCP server (stdio transport) for @claudemesh/cli.
* MCP server (stdio transport) for claudemesh-cli.
*
* Starts BrokerClient connections for every mesh in config on boot,
* then routes the 5 MCP tools through them.

View File

@@ -21,14 +21,14 @@ That's it.
## Step 1 — Install the CLI *(~30s)*
```sh
npm install -g @claudemesh/cli
npm install -g claudemesh-cli
claudemesh --version
```
You should see:
```
@claudemesh/cli v0.1.x
claudemesh-cli v0.1.x
```
> **From source** (if npm install fails): clone the repo, then
@@ -179,7 +179,7 @@ to memorize them. Just describe what you want in plain English.
**`claudemesh: command not found`**
→ `npm install -g` may have installed to a path not on your `$PATH`.
Try `npm bin -g` to see the install location, and add it to your shell
rc. Or use `npx @claudemesh/cli` until you fix the path.
rc. Or use `npx claudemesh-cli` until you fix the path.
**`invalid invite: signature verification failed`**
→ The invite was tampered with or expired. Ask the mesh owner to

View File

@@ -10,7 +10,7 @@ broker, ready for real teams.
- 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
- `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