fix(web): replace 9 placeholder # links + 2 jargon phrases
Surgical fixes on shipped marketing sections. All changes are link targets (9) or two-word replacements (2) — no structural edits. Links: - "Read the docs" / "documentation" (hero, cta, features) → point to the public CLI repo README (canonical docs until /docs exists) - "Pair your machines" (laptop-to-laptop) → /auth/register - "Open the dashboard" (surfaces, meets-you) → /dashboard - "Install" (meets-you) → CLI repo README install section - "VS Code" / "JetBrains" (meets-you) → CLI repo README (MCP setup) Copy: - "self-nominates" → "volunteers" - "surfaces the history" → "shares the history" Additive polish per the v0.1.0 web prototyping rule. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -49,7 +49,7 @@ export const CallToAction = () => {
|
|||||||
</span>
|
</span>
|
||||||
</Link>
|
</Link>
|
||||||
<Link
|
<Link
|
||||||
href="#docs"
|
href="https://github.com/alezmad/claudemesh-cli#readme"
|
||||||
className="inline-flex items-center justify-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-6 py-3.5 text-[15px] font-medium text-[var(--cm-fg)] transition-colors duration-300 hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg-elevated)]"
|
className="inline-flex items-center justify-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-6 py-3.5 text-[15px] font-medium text-[var(--cm-fg)] transition-colors duration-300 hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg-elevated)]"
|
||||||
style={{ fontFamily: "var(--cm-font-sans)" }}
|
style={{ fontFamily: "var(--cm-font-sans)" }}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export const Features = () => {
|
|||||||
>
|
>
|
||||||
Free forever for solo developers · Or read the{" "}
|
Free forever for solo developers · Or read the{" "}
|
||||||
<a
|
<a
|
||||||
href="#"
|
href="https://github.com/alezmad/claudemesh-cli#readme"
|
||||||
className="underline decoration-[var(--cm-fg-tertiary)] underline-offset-4 transition-colors hover:text-[var(--cm-fg)] hover:decoration-[var(--cm-clay)]"
|
className="underline decoration-[var(--cm-fg-tertiary)] underline-offset-4 transition-colors hover:text-[var(--cm-fg)] hover:decoration-[var(--cm-clay)]"
|
||||||
>
|
>
|
||||||
documentation
|
documentation
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ export const Hero = () => {
|
|||||||
>
|
>
|
||||||
Or{" "}
|
Or{" "}
|
||||||
<Link
|
<Link
|
||||||
href="#docs"
|
href="https://github.com/alezmad/claudemesh-cli#readme"
|
||||||
className="underline decoration-[var(--cm-fg-tertiary)] underline-offset-4 transition-colors hover:text-[var(--cm-fg)] hover:decoration-[var(--cm-clay)]"
|
className="underline decoration-[var(--cm-fg-tertiary)] underline-offset-4 transition-colors hover:text-[var(--cm-fg)] hover:decoration-[var(--cm-clay)]"
|
||||||
>
|
>
|
||||||
read the documentation
|
read the documentation
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ export const LaptopToLaptop = () => {
|
|||||||
</Reveal>
|
</Reveal>
|
||||||
<Reveal delay={3} className="mt-10 flex justify-center">
|
<Reveal delay={3} className="mt-10 flex justify-center">
|
||||||
<Link
|
<Link
|
||||||
href="#"
|
href="/auth/register"
|
||||||
className="inline-flex items-center justify-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-5 py-3 text-sm font-medium text-[var(--cm-fg)] transition-colors hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg)]"
|
className="inline-flex items-center justify-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-5 py-3 text-sm font-medium text-[var(--cm-fg)] transition-colors hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg)]"
|
||||||
style={{ fontFamily: "var(--cm-font-sans)" }}
|
style={{ fontFamily: "var(--cm-font-sans)" }}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const CARDS = [
|
|||||||
accent: "clay",
|
accent: "clay",
|
||||||
title: "Start in your terminal",
|
title: "Start in your terminal",
|
||||||
body: "Drop the broker next to Claude Code. One env var. Your session joins the mesh.",
|
body: "Drop the broker next to Claude Code. One env var. Your session joins the mesh.",
|
||||||
cta: { label: "Install", href: "#" },
|
cta: { label: "Install", href: "https://github.com/alezmad/claudemesh-cli#install" },
|
||||||
mock: (
|
mock: (
|
||||||
<div
|
<div
|
||||||
className="rounded-[8px] bg-[#D97757] p-6 font-mono text-[11px] leading-[1.6] text-[#141413]"
|
className="rounded-[8px] bg-[#D97757] p-6 font-mono text-[11px] leading-[1.6] text-[#141413]"
|
||||||
@@ -26,8 +26,8 @@ const CARDS = [
|
|||||||
accent: "oat",
|
accent: "oat",
|
||||||
title: "Bridge to your editor",
|
title: "Bridge to your editor",
|
||||||
body: "VS Code, Cursor, JetBrains — the mesh exposes an MCP server your editor's agent can call.",
|
body: "VS Code, Cursor, JetBrains — the mesh exposes an MCP server your editor's agent can call.",
|
||||||
cta: { label: "VS Code", href: "#" },
|
cta: { label: "VS Code", href: "https://github.com/alezmad/claudemesh-cli#readme" },
|
||||||
cta2: { label: "JetBrains", href: "#" },
|
cta2: { label: "JetBrains", href: "https://github.com/alezmad/claudemesh-cli#readme" },
|
||||||
mock: (
|
mock: (
|
||||||
<div
|
<div
|
||||||
className="rounded-[8px] border border-[var(--cm-border)] bg-[var(--cm-bg)] p-4"
|
className="rounded-[8px] border border-[var(--cm-border)] bg-[var(--cm-bg)] p-4"
|
||||||
@@ -52,7 +52,7 @@ const CARDS = [
|
|||||||
accent: "cactus",
|
accent: "cactus",
|
||||||
title: "Reach across machines",
|
title: "Reach across machines",
|
||||||
body: "Tailscale, WireGuard, or plain WS over your LAN. The broker is one binary, anywhere.",
|
body: "Tailscale, WireGuard, or plain WS over your LAN. The broker is one binary, anywhere.",
|
||||||
cta: { label: "Open the dashboard", href: "#" },
|
cta: { label: "Open the dashboard", href: "/dashboard" },
|
||||||
mock: (
|
mock: (
|
||||||
<div
|
<div
|
||||||
className="rounded-[8px] border border-[var(--cm-border)] bg-[var(--cm-bg)] p-4"
|
className="rounded-[8px] border border-[var(--cm-border)] bg-[var(--cm-bg)] p-4"
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ export const Surfaces = () => {
|
|||||||
name, by repo, by priority.
|
name, by repo, by priority.
|
||||||
</p>
|
</p>
|
||||||
<Link
|
<Link
|
||||||
href="#"
|
href="/dashboard"
|
||||||
className="inline-flex items-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-5 py-2.5 text-sm font-medium text-[var(--cm-fg)] transition-colors hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg)]"
|
className="inline-flex items-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-fg-tertiary)] px-5 py-2.5 text-sm font-medium text-[var(--cm-fg)] transition-colors hover:border-[var(--cm-fg)] hover:bg-[var(--cm-bg)]"
|
||||||
style={{ fontFamily: "var(--cm-font-sans)" }}
|
style={{ fontFamily: "var(--cm-font-sans)" }}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ const USE_CASES: UseCase[] = [
|
|||||||
title: "Bug Alice fixed, Bob rediscovers",
|
title: "Bug Alice fixed, Bob rediscovers",
|
||||||
before:
|
before:
|
||||||
"Alice in payments-api fixes a Stripe signature bug. Two weeks later, Bob in checkout-frontend hits the same thing. Alice's fix is buried in a PR thread. Bob re-solves it for three hours.",
|
"Alice in payments-api fixes a Stripe signature bug. Two weeks later, Bob in checkout-frontend hits the same thing. Alice's fix is buried in a PR thread. Bob re-solves it for three hours.",
|
||||||
now: "Bob's Claude asks the mesh: who's seen this? Alice's Claude self-nominates with context. Bob solves in ten minutes. Alice isn't interrupted — her Claude surfaces the history on its own.",
|
now: "Bob's Claude asks the mesh: who's seen this? Alice's Claude volunteers with context. Bob solves in ten minutes. Alice isn't interrupted — her Claude shares the history on its own.",
|
||||||
limits:
|
limits:
|
||||||
"Each Claude stays inside its own repo. Nobody's reading anyone else's files. Information flows at the agent layer, with a human still on the PR.",
|
"Each Claude stays inside its own repo. Nobody's reading anyone else's files. Information flows at the agent layer, with a human still on the PR.",
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user