vercel
Develop. Preview. Ship.
The Open Framework for Building Agents
$ npx -y skills add vercel/eve --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: vercel/eve
What's inside
eve is a filesystem-first framework for durable AI agents. Core agent capabilities live in conventional locations, so projects are easier to inspect, extend, and operate.
A typical eve agent has this structure:
my-agent/
└── agent/
├── agent.ts # Optional: model and runtime config
├── instructions.md # Required: the always-on system prompt
├── tools/ # Optional: typed functions the model can call
│ └── get_weather.ts
├── skills/ # Optional: procedures loaded on demand
│ └── plan_a_trip.md
├── channels/ # Optional: message channels (HTTP, Slack, Discord)
│ └── slack.ts
└── schedules/ # Optional: recurring cron jobs
└── weekly_recap.ts
Read the documentation for the full project layout and guides.
npx eve@latest init my-agent
This creates a new my-agent directory, installs its dependencies, initializes Git, and starts
the interactive terminal UI.
To add eve to an existing project, pass a path:
cd myapp
npx eve@latest init .
[!NOTE] The
evepackage includes its full documentation, so coding agents can read it locally fromnode_modules/eve/docs.
The generated project includes an agent directory. Replace agent/instructions.md with:
You are a concise weather demo assistant. Tell users that the weather data is mocked.
Add a mock weather tool at agent/tools/get_weather.ts:
import { defineTool } from "eve/tools";
import { z } from "zod";
export default defineTool({
description: "Return mock weather data for a city.",
inputSchema: z.object({ city: z.string().min(1) }),
async execute({ city }) {
return { city, condition: "Sunny", temperatureF: 72 };
},
});
Choose the model in agent/agent.ts:
import { defineAgent } from "eve";
export default defineAgent({
model: "anthropic/claude-sonnet-5",
});
For a new scaffold, start the agent again:
npm run dev
That's a working agent. Add human-in-the-loop prompts, subagents, and schedules as needed. Follow the first-agent tutorial for a complete walkthrough.
The eve community lives on GitHub Discussions, where you can ask questions, share ideas, and show what you've built.
Contributions are welcome. See CONTRIBUTING.md to get the repo running locally and land a change, and use issues and discussions to collaborate. By participating, you agree to our Code of Conduct.
Please do not open public issues for security vulnerabilities. Instead, follow SECURITY.md and report responsibly to responsible.disclosure@vercel.com.
eve is currently in beta and subject to the Vercel beta terms; the framework, APIs, documentation, and behavior may change before general availability.
.agents/
skills/
gh-pr-description/
references/
review-notes.md
SKILL.md
human-writing/
eval.md
SKILL.md
.changeset/
config.json
README.md
real-duration-agent-turn-spans.md
.dockerignore
.github/
assets/
eve.svg
dco.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
pull_request_template.md
scripts/
discover-e2e-fixtures.mjs
workflows/
bundle-analysis.yml
ci.yml
container.yml
docker-image-size-analysis.yml
e2e-local.yml
e2e-postgres.yml
e2e-vercel.yml
release.yml
.gitignore
.npmrc
.nvmrc
.oxfmtrc.json
.oxlintrc.json
.syncpackrc.json
.vercelignore
.zed/
settings.json
AGENTS.md
apps/
docs/
.gitignore
AGENTS.md
app/
[lang]/
(home)/
components/
architecture.tsx
cta.tsx
eve-logo-shader/
fallback-image.tsx
hooks.ts
index.tsx
mesh.ts
mobile-motion.ts
render/
render.ts
bindings.ts
camera.ts
constants.ts
cubemap.ts
env-lights.ts
math.ts
mesh-gpu.ts
paint-system.ts
params.ts
passes/
back-pass.ts
bloom-pass.ts
debug-passes.ts
light-composite-pass.ts
scene-pass.ts
pipelines.ts
pointer-mapping.ts
renderer.ts
resources.ts
shaders.ts
targets.ts
textures.ts
types.ts
runtime/
canvas-sizing.ts
debug-gui.ts
frame-loop.ts
load-mesh.ts
pointer-input.ts
state.ts
shaders/
bloom/
blur.wgsl
composite.wgsl
cubemap/
render.wgsl
debug/
render-target-preview.wgsl
env/
background.wgsl
glass/
ascii-composite.wgsl
back-depth.wgsl
back-refraction.wgsl
back.wgsl
front.wgsl
paint-read.wgsl
paint/
paint-debug.wgsl
paint-update.wgsl
voronoi-noise-update.wgsl
postprocess/
light-composite.wgsl
shared/
ascii-glyphs.wgsl
ascii-imprint.wgsl
cube-face.wgsl
env-sample.wgsl
fullscreen.wgsl
glass-material.wgsl
glass-vertex.wgsl
material-core.wgsl
scene-params.wgsl
sdf.wgsl
tonemap.wgsl
voronoi.wgsl
feature-grid.tsx
file-tree-view.tsx
file-tree.tsx
gradient-border.tsx
hero-audience.tsx
home-content.tsx
install-switcher.tsx
metal-shader.tsx
nextjs-interop.tsx
scroll-state.tsx
layout.tsx
page.tsx
agents.md/
route.ts
docs/
[[...slug]]/
page.tsx
layout.tsx
integrations/
[slug]/
integration-docs-link.tsx
opengraph-image.tsx
page.tsx
twitter-image.tsx
components/
gallery.tsx
integration-card.tsx
markdown.tsx
setup-tabs.tsx
opengraph-image.tsx
page.tsx
twitter-image.tsx
layout.tsx
llms-full.txt/
route.ts
llms.mdx/
[[...slug]]/
route.ts
llms.txt/
route.ts
og/
[...slug]/
background.png
geist-sans-regular.ttf
geist-sans-semibold.ttf
route.tsx
resources/
page.tsx
rss.xml/
route.ts
sitemap.md/
route.ts
templates/
[slug]/
file-viewer.tsx
opengraph-image.tsx
page.tsx
template-actions.tsx
template-readme.tsx
twitter-image.tsx
integration-icons.tsx
page.tsx
template-gallery.tsx
api/
chat/
route.ts
search/
route.ts
favicon.ico
global-not-found.tsx
global.css
robots.ts
sitemap.ts
styles/
geistdocs.css
CHANGELOG.md
components/
components.json
geistdocs/
agent-runtime-diagram.tsx
docs-layout.tsx
edit-on-github.tsx
installer.tsx
mdx-components.tsx
provider.tsx
geistdocs.tsx
hooks/
use-mobile.ts
lib/
analytics/
events.test.ts
events.ts
server.test.ts
server.ts
geistdocs/
agents-transform.test.ts
agents-transform.ts
canonical.test.ts
canonical.ts
config.tsx
discovery.test.ts
fonts.ts
languages.test.ts
languages.ts
llms-index.test.ts
llms-index.ts
markdown-canonical.test.ts
markdown-canonical.ts
markdown-path.test.ts
markdown-path.ts
markdown-routes.test.ts
markdown-routes.ts
md-tracking.ts
metadata-title.test.ts
metadata-title.ts
og.ts
page-title.test.ts
page-title.ts
redirects.test.ts
redirects.ts
rss.test.ts
rss.ts
sitemap-transform.test.ts
sitemap-transform.ts
sitemap.test.ts
sitemap.ts
source.ts
url.ts
integrations/
connection-setup.test.ts
connection-setup.ts
data.ts
directory-og-image.tsx
discovery.test.ts
discovery.ts
logos.tsx
og-image.tsx
source.ts
templates/
compose.test.ts
compose.ts
data.ts
manifest.ts
og-image.tsx
readme-links.test.ts
readme-links.ts
sync-core.test.ts
sync-core.ts
utils.ts
next-env.d.ts
next.config.ts
package.json
postcss.config.mjs
proxy.ts
public/
apple-touch-icon.png
eve-5/
eve-chamfer.bin
eve-logo.gltf
fallback-dark-content.webp
fallback-dark.webp
fallback-light-content.webp
fallback-light.webp
r/
channel/
photon-imessage.json
registry/
registry.json
channel/
web/
agent/
channels/
eve.ts
app/
_components/
agent-chat.tsx
agent-message.tsx
globals.css
layout.tsx
page.tsx
components/
components.json
ai-elements/
chain-of-thought.tsx
code-block.tsx
conversation.tsx
message.tsx
prompt-input.tsx
reasoning.tsx
shimmer.tsx
tool.tsx
ui/
badge.tsx
button-group.tsx
button.tsx
collapsible.tsx
command.tsx
dialog.tsx
dropdown-menu.tsx
hover-card.tsx
input-group.tsx
input.tsx
select.tsx
separator.tsx
spinner.tsx
textarea.tsx
tooltip.tsx
css.d.ts
lib/
utils.ts
next-env.d.ts
next.config.ts
postcss.config.mjs
tsconfig.json
channels/
chat-sdk-agentphone.ts
chat-sdk-beeper.ts
chat-sdk-dial.ts
chat-sdk-gchat.ts
chat-sdk-kapso.ts
chat-sdk-lark.ts
chat-sdk-linq.ts
chat-sdk-liveblocks.ts
chat-sdk-messenger.ts
chat-sdk-novu.ts
chat-sdk-resend.ts
chat-sdk-sendblue.ts
chat-sdk-velt.ts
chat-sdk-whatsapp.ts
chat-sdk-x.ts
chat-sdk-zernio.ts
github.ts
linear-agent.ts
teams.ts
telegram.ts
twilio.ts
connections/
airtable.ts
bitly.ts
brex.ts
browser-use.ts
candid.ts
clickhouse.ts
cloudinary.ts
coda.ts
datadog.ts
egnyte.ts
embat.ts
honeycomb.ts
hugging-face.ts
linear.ts
local-falcon.ts
make.ts
manufact.ts
mem0.ts
miro.ts
mixpanel.ts
natural.ts
netlify.ts
notion.ts
oreilly.ts
planetscale.ts
posthog.ts
postman.ts
razorpay.ts
sentry.ts
similarweb.ts
stripe.ts
supabase.ts
ticket-tailor.ts
ticktick.ts
tinybird.ts
... 1600 moreShowing a partial view of a very large repo.
Develop. Preview. Ship.
Workflow SDK: Build durable, reliable, and observable apps and AI Agents in TypeScript
Production-grade Turborepo template for Next.js apps.
FAQ
eve is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes eve. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.