Skip to content

feat(docs): redesign landing page#330

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

feat(docs): redesign landing page#330
christopherkindl wants to merge 27 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.

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, Comment, Open in v0 Jun 27, 2026 12:36am

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>
Hard-copy IconCheck from @vercel/geistcn-assets; added optional files now
show a check where the plus-circle hover affordance sits.

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>
Switch the production-features labels from mono uppercase to sans
title-case at text-heading-16 with medium weight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Add a compact description line under the code panel header for each file
(content from vercel.com/eve, platform-agnostic), so the viz explains
what each file does without extra cards.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Move the per-file description out of the keyed fly-in wrapper so only the
code animates in; the description persists and transitions its height as
the text length changes. Bump it to text-copy-14.

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

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Clicking the active, already-added file removes it again (selection falls
back to the highest remaining file); instructions.md stays pinned.

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 17:31
The reset is hidden when only the default file is selected; selecting
more reveals it with a width/opacity transition that slides the counter
left.

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>
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.

1 participant