diff --git a/apps/web/src/app/[locale]/(marketing)/getting-started/page.tsx b/apps/web/src/app/[locale]/(marketing)/getting-started/page.tsx index 60c1816..4633986 100644 --- a/apps/web/src/app/[locale]/(marketing)/getting-started/page.tsx +++ b/apps/web/src/app/[locale]/(marketing)/getting-started/page.tsx @@ -5,7 +5,7 @@ import { getMetadata } from "~/lib/metadata"; export const generateMetadata = getMetadata({ title: "Getting Started", description: - "Install claudemesh, join a mesh, and launch your first peer session in under two minutes.", + "Install the CLI and launch your first peer session in two commands.", }); const STEP = ({ @@ -59,10 +59,9 @@ const STEP = ({ const VERIFY_CHECKS = [ "Node.js >= 20 installed", "claude binary on PATH", - "claudemesh MCP registered in ~/.claude.json", - "Status hooks registered in ~/.claude/settings.json", "~/.claudemesh/config.json parses + chmod 0600", "Mesh keypairs valid", + "Broker connectivity", ]; export default function GettingStartedPage() { @@ -84,8 +83,7 @@ export default function GettingStartedPage() { className="mt-4 max-w-xl text-lg leading-[1.65] text-[var(--cm-fg-secondary)]" style={{ fontFamily: "var(--cm-font-serif)" }} > - Install the CLI, join a mesh, and launch Claude Code with real-time peer - messaging. Three commands. + Install the CLI and launch. Two commands — join is built into launch.
{/* Prerequisites */} @@ -163,35 +161,33 @@ export default function GettingStartedPage() {
- Paste the invite link you received. Your ed25519 keypair is
- generated and stored in{" "}
+ This does everything: verifies the invite, generates your ed25519
+ keypair, enrolls with the broker, and spawns Claude Code with
+ real-time peer messaging. Your keys are stored in{" "}
~/.claudemesh/config.json
{" "}
- (chmod 0600). You keep your keys — the broker never sees them.
+ (chmod 0600) — the broker never sees them.
- This spawns Claude Code connected to the mesh with push messaging. - The interactive wizard asks for your role and groups — or pass them - as flags: -
-
+ claudemesh launch --name Alice
+
+
{`# Full example with all flags
claudemesh launch \\
--name Alice \\
+ --join https://claudemesh.com/join/eyJ2IjoxLC... \\
--role dev \\
--groups "frontend:lead,reviewers" \\
--message-mode push \\
@@ -227,83 +224,18 @@ claudemesh launch \\
style={{ fontFamily: "var(--cm-font-mono)" }}
>
{`$ claudemesh doctor
-claudemesh doctor (v0.6.8)
+claudemesh doctor (v0.8.0)
────────────────────────────────────────────────────────────
✓ Node.js >= 20 (v22.15.0)
✓ claude binary on PATH
-✓ claudemesh MCP registered in ~/.claude.json
-✓ Status hooks registered in ~/.claude/settings.json
✓ ~/.claudemesh/config.json parses + chmod 0600
✓ Mesh keypairs valid (1 mesh(es))
+✓ Broker connectivity (wss://ic.claudemesh.com/ws)
All checks passed.`}
- {/* What install does */}
- claudemesh install does
- - The install command touches two files. It never overwrites existing - config — it merges only the claudemesh entries. -
-
- Registers{" "}
-
- mcpServers.claudemesh
- {" "}
- — the MCP server that exposes 43 mesh tools to Claude Code.
- Backed up before every write.
-
- Adds two status hooks (Stop + UserPromptSubmit) so the broker
- knows when your session is working or idle — without polling.
- Pre-approves all 43 claudemesh tools in{" "}
-
- allowedTools
- {" "}
- so they run without --dangerously-skip-permissions.
-
{`# HTTPS link (clickable, shareable)
+ {`# Join + launch in one step (recommended)
+claudemesh launch --name Alice --join https://claudemesh.com/join/eyJ2IjoxLC...
+
+# Or join separately first
claudemesh join https://claudemesh.com/join/eyJ2IjoxLC...
+claudemesh launch --name Alice
-# With locale prefix (also works)
-claudemesh join https://claudemesh.com/en/join/eyJ2IjoxLC...
-
-# ic:// scheme (legacy, still supported)
-claudemesh join ic://join/eyJ2IjoxLC...
-
-# Raw token (last resort)
-claudemesh join eyJ2IjoxLC4uLg`}
+# All invite formats work with both join and --join:
+# https://claudemesh.com/join/eyJ2IjoxLC...
+# https://claudemesh.com/en/join/eyJ2IjoxLC...
+# ic://join/eyJ2IjoxLC...
+# eyJ2IjoxLC4uLg (raw token)`}
@@ -445,10 +377,11 @@ claudemesh join eyJ2IjoxLC4uLg`}
style={{ fontFamily: "var(--cm-font-serif)" }}
>
{
);
}
- const joinCmd = JOIN_CMD(token);
+ const launchCmd = LAUNCH_CMD(token);
return (
@@ -127,7 +128,7 @@ export const InstallToggle = ({ token }: Props) => {
className="mt-2 text-xs text-[var(--cm-fg-tertiary)]"
style={{ fontFamily: "var(--cm-font-serif)" }}
>
- Installs the CLI globally. Requires Node.js 20+.
+ Requires Node.js 20+.
-
@@ -136,46 +137,28 @@ export const InstallToggle = ({ token }: Props) => {
style={{ fontFamily: "var(--cm-font-mono)" }}
>
2
- join the mesh
+ join + launch
- {joinCmd}
+ {launchCmd}
-
-
-
- 3
- launch with push messaging
-
-
-
- claudemesh launch --name YourName
-
-
- Spawns Claude Code with mesh connectivity, peer messaging,
- and native access to deployed MCP services.
+ Joins the mesh and launches Claude Code in one step.