The site had drifted ~6 months behind the product. Three problems
addressed in one push:
1. Timeline ("Shipped, not promised") topped out at v0.6–0.8 and
claimed "66 npm releases" — both stale. Adds a v0.9 → 1.34 tier
covering daemon, multi-mesh, multi-session correctness train,
refuse-to-kick on control-plane, env-var fallback. Updates count
to "120+ npm releases through v1.34.15." Rewrites the "next"
block from the now-shipped "Daemon redesign · per-topic
encryption" to the actually-pending "HKDF cross-machine identity
· session capabilities · A2A interop · self-host packaging ·
federation."
2. Hero subhead leaned into the original "Claude Code peer mesh"
framing, which is undercut by Anthropic Agent Teams (Feb 2026,
single-machine native mailbox). Now reframes claudemesh as the
encrypted backbone where Claude Code sessions, autonomous
agents, and humans coordinate "across machines, across users,
across organizations" — the four words that distinguish the
product from anything Anthropic structurally can ship from
inside Claude Code.
3. /changelog had three entries from April 2026 (v0.1.2 → v0.1.4)
and was 70+ versions out of date. Replaced with a curated
16-entry timeline from v0.1.0 → v1.34.15, hand-picked to tell
the story (load-bearing ships, not every patch). Adds links
back to docs/roadmap.md, .artifacts/specs/, and GitHub Releases.
New module: apps/web/src/modules/marketing/home/changelog-data.ts
holds the curated entries as a single source of truth. Imported by
both the /changelog page and a new home-page component
LatestReleases (compact 5-entry strip, slotted between Timeline
and Pricing) so they never disagree.
Misc fixes pulled in:
- timeline.tsx had glyph="layers" which isn't in SectionIcon's
valid set; switched to "grid" (changelog-data.ts uses same).
- changelog data extracted to a non-route module so Next.js's
route-export validator stops complaining about exporting
CHANGELOG_ENTRIES from app/.../changelog/page.tsx.
Pre-existing typecheck noise in packages/ui/web/sidebar.tsx
(csstype version mismatch) + billing modules unrelated to this
change. My files all typecheck clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
120 lines
4.7 KiB
TypeScript
120 lines
4.7 KiB
TypeScript
import Link from "next/link";
|
|
|
|
import { HeroMeshAnimation } from "./hero-mesh-animation";
|
|
import { Reveal, SectionIcon } from "./_reveal";
|
|
|
|
export const HeroWithMesh = () => {
|
|
return (
|
|
<section className="relative overflow-hidden border-b border-[var(--cm-border)] bg-[var(--cm-bg)]">
|
|
{/* Full-bleed mesh animation as hero background */}
|
|
<div className="pointer-events-none absolute inset-0 z-0">
|
|
<div className="absolute inset-0">
|
|
<HeroMeshAnimation fit="cover" />
|
|
</div>
|
|
{/* Radial vignette: dark where text sits, transparent at the edges
|
|
so the corner peers keep pulsing visibly */}
|
|
<div
|
|
className="absolute inset-0"
|
|
style={{
|
|
background:
|
|
"radial-gradient(ellipse 900px 540px at 50% 38%, rgba(5,5,5,0.92) 0%, rgba(5,5,5,0.75) 38%, rgba(5,5,5,0.3) 68%, rgba(5,5,5,0) 100%)",
|
|
}}
|
|
/>
|
|
{/* Top/bottom fades so the animation bleeds into surrounding sections */}
|
|
<div
|
|
className="absolute inset-x-0 top-0 h-32"
|
|
style={{
|
|
background:
|
|
"linear-gradient(to bottom, rgba(5,5,5,0.85) 0%, rgba(5,5,5,0) 100%)",
|
|
}}
|
|
/>
|
|
<div
|
|
className="absolute inset-x-0 bottom-0 h-32"
|
|
style={{
|
|
background:
|
|
"linear-gradient(to top, rgba(5,5,5,0.95) 0%, rgba(5,5,5,0) 100%)",
|
|
}}
|
|
/>
|
|
</div>
|
|
|
|
<div className="relative z-10 mx-auto flex max-w-[var(--cm-max-w)] flex-col items-center px-6 py-24 md:px-12 md:py-32">
|
|
<Reveal className="mb-8">
|
|
<SectionIcon glyph="mesh" />
|
|
</Reveal>
|
|
|
|
<Reveal delay={1}>
|
|
<h1
|
|
className="max-w-4xl text-center text-[clamp(2.75rem,7vw,5.25rem)] font-medium leading-[1.08] tracking-tight text-[var(--cm-fg)]"
|
|
style={{
|
|
fontFamily: "var(--cm-font-serif)",
|
|
textShadow: "0 2px 30px rgba(0,0,0,0.85)",
|
|
}}
|
|
>
|
|
Your Claude Code sessions{" "}
|
|
<span className="text-[var(--cm-clay)]">work alone.</span>
|
|
<br />
|
|
<span className="text-[var(--cm-fg-secondary)]">
|
|
claudemesh connects them.
|
|
</span>
|
|
</h1>
|
|
</Reveal>
|
|
|
|
<Reveal delay={2}>
|
|
<p
|
|
className="mx-auto mt-8 max-w-2xl text-center text-lg leading-[1.65] text-[var(--cm-fg-secondary)] md:text-xl"
|
|
style={{
|
|
fontFamily: "var(--cm-font-serif)",
|
|
textShadow: "0 2px 20px rgba(0,0,0,0.8)",
|
|
}}
|
|
>
|
|
The encrypted backbone where Claude Code sessions, autonomous
|
|
agents, and humans coordinate — across machines, across users,
|
|
across organizations. Hosted on claudemesh.com or self-hosted in
|
|
your VPC. Same CLI, same wire, your choice.
|
|
</p>
|
|
</Reveal>
|
|
|
|
<Reveal delay={3}>
|
|
<div className="mt-10 flex flex-col items-stretch gap-3 sm:flex-row sm:items-center">
|
|
<Link
|
|
href="/auth/register"
|
|
className="group inline-flex items-center justify-center gap-2 rounded-[var(--cm-radius-xs)] bg-[var(--cm-clay)] px-5 py-3 text-[15px] font-medium text-[var(--cm-fg)] shadow-[0_10px_40px_rgba(215,119,87,0.35)] transition-colors duration-300 hover:bg-[var(--cm-clay-hover)]"
|
|
style={{ fontFamily: "var(--cm-font-sans)" }}
|
|
>
|
|
Start free
|
|
<span className="transition-transform duration-300 group-hover:translate-x-0.5">
|
|
→
|
|
</span>
|
|
</Link>
|
|
<div
|
|
className="flex items-center gap-2 rounded-[var(--cm-radius-xs)] border border-[var(--cm-border)] bg-[var(--cm-bg-elevated)]/85 px-4 py-3 text-[13px] text-[var(--cm-fg-secondary)] backdrop-blur-md"
|
|
style={{ fontFamily: "var(--cm-font-mono)" }}
|
|
>
|
|
<span className="text-[var(--cm-clay)]">$</span>
|
|
<span>curl -fsSL claudemesh.com/install | bash</span>
|
|
</div>
|
|
</div>
|
|
</Reveal>
|
|
|
|
<Reveal delay={4}>
|
|
<p
|
|
className="mt-14 text-center text-sm text-[var(--cm-fg-tertiary)]"
|
|
style={{
|
|
fontFamily: "var(--cm-font-sans)",
|
|
textShadow: "0 2px 16px rgba(0,0,0,0.8)",
|
|
}}
|
|
>
|
|
Open-source CLI · Free during public beta ·{" "}
|
|
<Link
|
|
href="https://github.com/alezmad/claudemesh-cli"
|
|
className="underline decoration-[var(--cm-fg-tertiary)] underline-offset-4 transition-colors hover:text-[var(--cm-fg)] hover:decoration-[var(--cm-clay)]"
|
|
>
|
|
View source
|
|
</Link>
|
|
</p>
|
|
</Reveal>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|