vercel-labs/eve-tanstack-start-template

Template for getting started with eve and TanStack Start.

TypeScript

0

1 commits

updated Oct 12, 2026

See the code

See what people are saying

SourceMessageScoreDate

Build with eve and TanStack Start to make a web chat

2

Oct 12, 2026

README

eve TanStack Start Template

Agent Stack MIT License

Web chat built on eve and TanStack Start, where the agent can respond with generative UI like tables and dashboards. Ask "Find me the latest Vercel blog posts" and the agent searches the web, then returns a row of result cards with a preview image and summary for each post.

Deploy with Vercel

Getting started

Vercel's project setup flow will create a repository in your Git account and a Vercel project. You'll then be prompted to add the following environment variable:

Environment variableWhat to enter
EVE_ACCESS_PASSWORDThe password visitors enter before they can chat. Share it with the people who should have access.

When the deploy finishes, open the deployment URL and enter the password. Then ask the agent something that needs a web search, such as "Find me the latest Vercel blog posts".

Tech stack

LayerTechnology
Agent frameworkeve
Generative UIjson-render
SandboxVercel Sandbox
DeploymentVercel Services
Frontend frameworkTanStack Start
Data tablesTanStack Table
Keyboard shortcutsTanStack Hotkeys

How the chat works

The agent lives in agent/, and the chat lives in apps/web/. They deploy together with Vercel Services in one project, and vercel.ts wraps the chat's service in withEve.

Ask the agent to find the latest Vercel blog posts and it searches the web before showing them as cards. When it needs your input it asks with a short form. You can reload the page to return to the conversation later, or share its link with anyone who has the password.

ToolFileWhat the chat shows
render_uirender_ui.tsResult cards, metrics, tables, and other components from a fixed catalog
ask_questionask_question.tsOptions to choose from, or a field to type an answer
approval_demoapproval_demo.tsAsks for your approval before it runs

Access control

Visitors who haven't signed in are sent to a sign-in page to enter the password set in the EVE_ACCESS_PASSWORD environment variable. Choose a long random password, such as the output of openssl rand -base64 32. Everyone with the password is trusted equally, so share it only with people who may see each other's chats.

Until you set EVE_ACCESS_PASSWORD, the sign-in page asks you to set it. To replace the password with Clerk, Better Auth, or another auth provider, see Change who can use the chat in the customization guide.

Local development

Use Node.js 24 and pnpm. Install the Vercel CLI, then clone your repository and run:

pnpm install
vercel link
vercel env pull .env.local
pnpm dev:app

Choose your deployed project when vercel link prompts you. vercel env pull .env.local saves your project's development environment variables to .env.local.

pnpm dev:app starts the chat and the agent together with vercel dev, and routes /eve/v1/* requests to the agent the same way a deployment does. Open the URL it prints and send a message. When EVE_ACCESS_PASSWORD is unset, the chat opens without a password. To chat with the agent in your terminal instead, run pnpm dev:agent.

Before deploying, check your changes and confirm the agent and the web app build:

pnpm validate
pnpm build

Use pnpm fix to apply automatic formatting and lint fixes. When the checks pass, deploy with:

vercel deploy --prod

Customization

CustomizeWhere
Persona and response styleagent/instructions.md
Toolsagent/tools/
Components the agent can renderagent/lib/ui-catalog.ts and apps/web/app/_components/ui-registry.tsx
Chat interfaceapps/web/app/_components/

For more ways to customize the agent, including adding components, using your own authentication provider, and connecting another eve agent such as the eve Data Analyst Template, see CUSTOMIZATION.md.

Resources

tanstack
tanstack-router
tanstack-start
tanstack-table
vercel

vercel-labs/eve-tanstack-start-template

Template for getting started with eve and TanStack Start.

TypeScript

0

1 commits

updated Oct 12, 2026

See the code

See what people are saying

SourceMessageScoreDate

Build with eve and TanStack Start to make a web chat

2

Oct 12, 2026

README

eve TanStack Start Template

Agent Stack MIT License

Web chat built on eve and TanStack Start, where the agent can respond with generative UI like tables and dashboards. Ask "Find me the latest Vercel blog posts" and the agent searches the web, then returns a row of result cards with a preview image and summary for each post.

Deploy with Vercel

Getting started

Vercel's project setup flow will create a repository in your Git account and a Vercel project. You'll then be prompted to add the following environment variable:

Environment variableWhat to enter
EVE_ACCESS_PASSWORDThe password visitors enter before they can chat. Share it with the people who should have access.

When the deploy finishes, open the deployment URL and enter the password. Then ask the agent something that needs a web search, such as "Find me the latest Vercel blog posts".

Tech stack

LayerTechnology
Agent frameworkeve
Generative UIjson-render
SandboxVercel Sandbox
DeploymentVercel Services
Frontend frameworkTanStack Start
Data tablesTanStack Table
Keyboard shortcutsTanStack Hotkeys

How the chat works

The agent lives in agent/, and the chat lives in apps/web/. They deploy together with Vercel Services in one project, and vercel.ts wraps the chat's service in withEve.

Ask the agent to find the latest Vercel blog posts and it searches the web before showing them as cards. When it needs your input it asks with a short form. You can reload the page to return to the conversation later, or share its link with anyone who has the password.

ToolFileWhat the chat shows
render_uirender_ui.tsResult cards, metrics, tables, and other components from a fixed catalog
ask_questionask_question.tsOptions to choose from, or a field to type an answer
approval_demoapproval_demo.tsAsks for your approval before it runs

Access control

Visitors who haven't signed in are sent to a sign-in page to enter the password set in the EVE_ACCESS_PASSWORD environment variable. Choose a long random password, such as the output of openssl rand -base64 32. Everyone with the password is trusted equally, so share it only with people who may see each other's chats.

Until you set EVE_ACCESS_PASSWORD, the sign-in page asks you to set it. To replace the password with Clerk, Better Auth, or another auth provider, see Change who can use the chat in the customization guide.

Local development

Use Node.js 24 and pnpm. Install the Vercel CLI, then clone your repository and run:

pnpm install
vercel link
vercel env pull .env.local
pnpm dev:app

Choose your deployed project when vercel link prompts you. vercel env pull .env.local saves your project's development environment variables to .env.local.

pnpm dev:app starts the chat and the agent together with vercel dev, and routes /eve/v1/* requests to the agent the same way a deployment does. Open the URL it prints and send a message. When EVE_ACCESS_PASSWORD is unset, the chat opens without a password. To chat with the agent in your terminal instead, run pnpm dev:agent.

Before deploying, check your changes and confirm the agent and the web app build:

pnpm validate
pnpm build

Use pnpm fix to apply automatic formatting and lint fixes. When the checks pass, deploy with:

vercel deploy --prod

Customization

CustomizeWhere
Persona and response styleagent/instructions.md
Toolsagent/tools/
Components the agent can renderagent/lib/ui-catalog.ts and apps/web/app/_components/ui-registry.tsx
Chat interfaceapps/web/app/_components/

For more ways to customize the agent, including adding components, using your own authentication provider, and connecting another eve agent such as the eve Data Analyst Template, see CUSTOMIZATION.md.

Resources

tanstack
tanstack-router
tanstack-start
tanstack-table
vercel