Skip to content

feat(docs): redesign landing page#421

Merged
christopherkindl merged 81 commits into
mainfrom
ck/landing-page-clean
Jun 30, 2026
Merged

feat(docs): redesign landing page#421
christopherkindl merged 81 commits into
mainfrom
ck/landing-page-clean

Conversation

@christopherkindl

@christopherkindl christopherkindl commented Jun 29, 2026

Copy link
Copy Markdown
Member

Redesigns the eve docs landing page.

This is the clean version of #330 intended for merging into main. Identical content, but without the temporary /home preview alias (#330 keeps that alias for preview deployments while / is forwarded at the domain level).

Preview link redirects as well, so please run locally if you want to check

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
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.

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
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.

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
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.

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Match the architecture inner cards' subtle shadow border instead of a
plain border.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.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.

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.

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.

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.

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
- Reframe the architecture section around open-source, self-hostable SDKs
  (title, copy) and add the eve mark above the cards.
- Chat SDK channels span two columns in the stacked (mobile) layout.
- File-tree code panel wraps content on mobile (no forced min-height) with
  the bottom fade kept clear of the code; platform-agnostic copy tweaks.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Add a real-world setup example below the SDK cards: a toggle (ported from
the flags-sdk docs Switch, built on radix-ui) flips between a managed
(Vercel) and a fully self-hosted stack — Ollama, Docker, DigitalOcean,
Ansible. Self-hosted is the default. The Managed/Self-hosted labels are
clickable triggers, the four Vercel cards link to their docs, and the
card grid is inset to align with the inner cards above.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Link AI Gateway, Sandbox, and Workflow to their vercel.com product pages
instead of the docs sections.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
christopherkindl and others added 6 commits June 30, 2026 00:18
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.

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.

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.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>

# Conflicts:
#	pnpm-lock.yaml
Remove the /home route that aliased the landing page for preview while `/` was
forwarded at the domain level. This branch is the clean version for merging
into main; the preview branch keeps the alias.

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
@vercel

vercel Bot commented Jun 29, 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 30, 2026 1:12am

@socket-security

socket-security Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​pngjs@​7.0.010010010080100

View full report

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bundle + Package Summary: apps/fixtures/weather-agent

Key takeaways

  • No notable deltas vs main (f26d600).

Delta vs main (f26d600)

Area Metric Baseline Current Delta
Package Packed tarball 3.48 MB 3.49 MB +1.7 kB ⚠️
Package Unpacked publish size 12.67 MB 12.67 MB +8.9 kB ⚠️
Package Installed footprint 52.68 MB 52.69 MB +8.9 kB ⚠️
Package Published files 2380 2382 +2
Package Installed files 5589 5591 +2
Runtime Unique function payloads 2 2 0
Runtime Total function bytes 9.20 MB 9.20 MB -176 B ✅
Runtime Public routes 9 9 0
Changed function payloads vs main (f26d600) (2)
Function Status Baseline Current Delta Route changes
functions/__server.func changed 3.47 MB 3.47 MB -144 B ✅ none
functions/.well-known/workflow/v1/flow.func changed 5.73 MB 5.73 MB -32 B ✅ none
Build Metadata
  • Preset: vercel
  • Nitro: nitro@3.0.260610-beta
  • Output directory: apps/fixtures/weather-agent/.vercel/output
  • Build metadata timestamp: 2026-06-30T01:12:26.765Z
  • Route aliases: 9 public, 1 internal (10 total aliases)
  • Vercel routes in config: 10
  • Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down

Package Details

  • Package: eve@0.17.1
  • Package directory: packages/eve
  • Tarball: 3.49 MB (eve-0.17.1.tgz)
  • Unpacked payload: 12.67 MB across 2382 published files
  • Installed footprint: 52.69 MB across 5591 installed files
  • Installed root package: 11.40 MB
  • Installed dependencies: 41.28 MB
  • Runtime dependencies: 1
  • Peer dependencies: 12 (11 optional)

Installed footprint is measured from an isolated temporary npm install of the packed tarball.

Heavy installed dependencies

  • @rolldown/binding-linux-x64-gnu: 20.26 MB (38.4%)
  • eve: 11.40 MB (21.6%)
  • ai: 6.28 MB (11.9%)
  • zod: 5.04 MB (9.6%)
  • nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [####....................] 1.51 MB 11.9%
🟡 dist/src/compiled/@workflow/core/runtime.js      [##......................] 794.4 kB 6.3%
🟡 dist/src/compiled/@vercel/sandbox/index.js       [##......................] 632.0 kB 5.0%
🟡 dist/src/compiled/@chat-adapter/slack/index.js   [#.......................] 436.6 kB 3.4%
🟡 dist/src/compiled/_chunks/workflow/attribute-... [#.......................] 371.6 kB 2.9%
🔴 Other published files                            [########################] 8.93 MB 70.5%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 20.26 MB 38.4%
🔴 eve                             [##############..........] 11.40 MB 21.6%
🔴 ai                              [#######.................] 6.28 MB 11.9%
🔴 zod                             [######..................] 5.04 MB 9.6%
🟠 nitro                           [###.....................] 2.41 MB 4.6%
🟡 rolldown                        [#.......................] 771.7 kB 1.5%
🔴 Other installed packages        [########................] 6.53 MB 12.4%
Runtime dependencies (1)
Package Range Notes
nitro 3.0.260610-beta
Peer dependencies (12)
Package Range Notes
@opentelemetry/api ^1.0.0 optional peer
@sveltejs/kit ^2.0.0 optional peer
ai catalog:
braintrust ^3.0.0 optional peer
just-bash ^3.0.0 optional peer
microsandbox ^0.5.0 optional peer
next ^16.0.0 optional peer
nuxt ^4.0.0 optional peer
react ^19.0.0 optional peer
svelte ^5.0.0 optional peer
vite ^8.0.0 optional peer
vue ^3.5.0 optional peer
Function Drill-Down

Payload Size Graph

Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func     [########################] 5.73 MB 62.3%
🟠 functions/__server.func                         [###############.........] 3.47 MB 37.7%

Top Function Payloads

🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.73 MB
Metric Value
Public routes /.well-known/workflow/v1/flow
Runtime nodejs24.x
Handler index.mjs
Payload 5.73 MB
Function files 5.73 MB across 26 files
Traced dependencies 0 B
Signal 🟠 Bundled file __eve_nitro_handler__.mjs is 1.96 MB (34.2%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 __eve_nitro_handler__.mjs              [########################] 1.96 MB 34.2%
🟠 _chunks/runtime.mjs                    [############............] 983.9 kB 17.2%
🟡 _chunks/sandbox.mjs                    [#########...............] 766.0 kB 13.4%
🟡 _chunks/attribute-changes-zAifvEhb.mjs [######..................] 473.4 kB 8.3%
🟡 _libs/@ai-sdk/gateway+[...].mjs        [#####...................] 413.5 kB 7.2%
🟠 Other bundled files                    [##############..........] 1.14 MB 19.8%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x",
  "environment": {
    "NODE_OPTIONS": "--experimental-require-module"
  },
  "maxDuration": "max",
  "experimentalTriggers": [
    {
      "type": "queue/v2beta",
      "topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
      "consumer": "default",
      "retryAfterSeconds": 5,
      "initialDelaySeconds": 0
    }
  ]
}

🟠 functions/__server.func • 8 public routes, 1 internal alias • 3.47 MB
Metric Value
Public routes /
/eve/v1/callback/[token]
/eve/v1/connections/[name]/callback/[token]
/eve/v1/health
/eve/v1/info
/eve/v1/session
/eve/v1/session/[sessionId]
/eve/v1/session/[sessionId]/stream
Internal aliases /__server
Runtime nodejs24.x
Handler index.mjs
Payload 3.47 MB
Function files 3.47 MB across 19 files
Traced dependencies 0 B
Signal 🟠 Bundled file index.mjs is 990.7 kB (28.6%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 index.mjs                              [########################] 990.7 kB 28.6%
🟠 _chunks/runtime.mjs                    [######################..] 891.6 kB 25.7%
🟠 _chunks/sandbox.mjs                    [###################.....] 766.0 kB 22.1%
🟡 _chunks/attribute-changes-zAifvEhb.mjs [###########.............] 449.0 kB 13.0%
⚪ _libs/zod.mjs                          [###.....................] 114.2 kB 3.3%
🟡 Other bundled files                    [######..................] 255.4 kB 7.4%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x"
}

Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Signed-off-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
@christopherkindl christopherkindl merged commit 48d5aeb into main Jun 30, 2026
36 of 39 checks passed
@christopherkindl christopherkindl deleted the ck/landing-page-clean branch June 30, 2026 01:22
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.

4 participants