feat(docs): redesign landing page#421
Merged
Merged
Conversation
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>
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Contributor
Bundle + Package Summary:
|
| 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"
}80ef050 to
5dd4e4e
Compare
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>
darafsheh
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Redesigns the eve docs landing page.
This is the clean version of #330 intended for merging into
main. Identical content, but without the temporary/homepreview alias (#330keeps 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