"use client"; import { useState } from "react"; interface Props { token: string; } const LAUNCH_CMD = (token: string) => `claudemesh launch --name YourName --join ${token}`; const JOIN_CMD = (token: string) => `claudemesh join ${token}`; const INSTALL_CMD = "npm i -g claudemesh-cli"; export const InstallToggle = ({ token }: Props) => { const [hasCli, setHasCli] = useState<"unknown" | "yes" | "no">("unknown"); const [copiedKey, setCopiedKey] = useState(null); const copy = async (text: string, key: string) => { await navigator.clipboard.writeText(text); setCopiedKey(key); setTimeout(() => setCopiedKey(null), 2000); }; if (hasCli === "unknown") { return (
); } if (hasCli === "yes") { const cmd = LAUNCH_CMD(token); return (
join + launch in one step
{cmd}
); } const launchCmd = LAUNCH_CMD(token); return (
  1. 1 install the CLI
    {INSTALL_CMD}

    Requires Node.js 20+.

  2. 2 join + launch
    {launchCmd}

    Joins the mesh and launches Claude Code in one step.

); };