Skip to content

[PREVIEW - DO NOT MERGE] feat(docs): redesign landing page#330

Draft
christopherkindl wants to merge 72 commits into
mainfrom
ck/landing-page
Draft

[PREVIEW - DO NOT MERGE] feat(docs): redesign landing page#330
christopherkindl wants to merge 72 commits into
mainfrom
ck/landing-page

Conversation

@christopherkindl

@christopherkindl christopherkindl commented Jun 26, 2026

Copy link
Copy Markdown
Member

DO NOT MERGE — the /home route is a temporary alias added only so this PR's preview is viewable while eve.dev's / is still forwarded to vercel.com/eve at the domain level. Once that redirect is removed and / serves this landing page directly, the /home alias will be removed before merge.

Preview: https://eve-docs-git-ck-landing-page.vercel.sh/home

Summary

Redesign of the eve docs landing page (apps/docs, the (home) route).

  • Hero: bg-background-200 surface; ai-studio-style typography (text-heading-* / text-copy-*); human/agent install switcher (vendored from the geistdocs command-prompt); removed Beta badge and "Read the Docs" button.
  • "An agent is a directory": rebuilt as a sidebar + code-panel card. Code renders through the geistdocs CodeBlock with server-side shiki highlighting (geist theme), line numbers, and copy button. Per-file descriptions, an added-files counter, plus-circle/check affordances, click-to-deselect, a reset control, and a bottom fade.
  • "Three layers, cleanly separated": Runtime + Channel cards with a gradient hairline border, linked SDK cards, and a capped Chat SDK list.
  • "Runs inside your Next.js app": `withEve()` + `useEveAgent()` shown in two code cards inside one gradient-bordered frame, with geistdocs `Badge` benefits.
  • "Everything you need for production agents": icon + title + description grid, platform-agnostic copy.
  • Footer: tinted `bg-background-200` on home routes only.
  • Icons: hard-copied the geistcn icons we use into `apps/docs/components/geistcn-icons/` (self-contained, no `@vercel/geistcn-assets` dependency).

Rework the home page: bg-background-200 surface, human/agent install
switcher, ai-studio-style hero typography, and a card-based "An agent is
a directory" file browser (geistdocs CodeBlock with shiki highlighting,
geistcn icons, optional-file affordances). Redesign the "Three layers"
and "production agents" sections with vendored geistcn icons and
platform-agnostic copy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eve-docs Ready Ready Preview, 💬 7 unresolved
✅ 5 resolved, Open in v0
Jun 29, 2026 10:54pm

The shiki `pre` override spread ComponentProps<"pre"> (children optional)
into CodeBlock, whose children is required. Destructure children and pass
it as a JSX child so the type is satisfied.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Extract the landing page into a shared HomeContent component and expose
it at /home (in addition to /), so the preview is reachable while the
root domain is still forwarded to vercel.com/eve.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
@christopherkindl christopherkindl marked this pull request as draft June 26, 2026 07:36
@christopherkindl

Copy link
Copy Markdown
Member Author

Temporary /home route

/ is currently forwarded to vercel.com/eve at the domain level, which also affects the preview. As a temporary measure in this PR, the landing page is also exposed at /home (and /en/home) so the preview is viewable.

This is only until the forwarding is figured out — once eve.dev / serves this page directly, the /home alias will be removed before merge. Keeping this as a draft in the meantime.

The global footer is shared across all routes, so scope the tint with a
[data-home-route] marker (rendered only by the home layout) and a
`body:has(...)` rule, leaving docs/other routes unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Show how natively eve and Next.js work together: withEve() in
next.config.ts and useEveAgent() in a client component, side by side,
plus the one-dev-server / same-origin / one-deploy benefits. Placed
before the architecture section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Add a full-width bottom gradient over the whole "agent is a directory"
card so the lower sidebar entries and code dissolve into the background.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
christopherkindl and others added 4 commits June 26, 2026 16:47
A subtle reset button in the sidebar header clears all added files back to
the default (instructions.md), shown only once extra files are selected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Hard-copy IconTrash from @vercel/geistcn-assets and use it for the reset
control instead of the lucide icon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Extract GradientBorder into a shared component and wrap both interop code
cards in a single gradient-bordered frame (matching the architecture
cards), instead of a border per card.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
christopherkindl and others added 2 commits June 26, 2026 16:56
Match the architecture inner cards' subtle shadow border instead of a
plain border.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Address review feedback: drop the confusing multi-select/counter for a
plain file browser (click any building block to view it), tag optional
files in the sidebar, make instructions.md the obvious required base,
remove hover-only affordances (copy button always visible), and reframe
the subtitle around the incremental flow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
christopherkindl and others added 2 commits June 30, 2026 00:13
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
…mp on click

Move the "Your agent/ is a directory" heading and subtitle into the sticky
scrollytelling block so they stay pinned alongside the code window, centered
in the viewport. Clicking a file in the sidebar now jumps directly to its
segment instead of smooth-scrolling through every file in between.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Remove the per-file keyed remount and fade/slide enter animation on the
scrollytelling code window. The keyed mount let the previous file linger as a
composited ghost layer (notably in Safari) and felt hectic when scrolling fast;
content now swaps in place.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Render the sidebar "optional" tags as plain lowercase mono text instead of a
badge so they read as quiet hints, and remove the slide-in translate on the
code window fade.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: matiasngf <matiasngf@hotmail.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-authored-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the color transition on the sidebar rows in scroll mode so the
scroll-driven active highlight snaps to one row instead of smearing across rows
on fast scroll, while keeping hover affordance on every file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
@christopherkindl christopherkindl changed the title feat(docs): redesign landing page [PREVIEW] feat(docs): redesign landing page Jun 29, 2026
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>

# Conflicts:
#	pnpm-lock.yaml
@socket-security

Copy link
Copy Markdown

@christopherkindl christopherkindl changed the title [PREVIEW] feat(docs): redesign landing page [PREVIEW - DO NOT MERGE] feat(docs): redesign landing page Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants