workflow
Workflow SDK: Build durable, reliable, and observable apps and AI Agents in TypeScript
The Open Framework for Building Agents
$ npx -y skills add vercel/eve --agent 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 start with another AI Gateway model, pass its model ID:
npx eve@latest init my-agent --model openai/gpt-5.6-terra
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: "openai/gpt-5.6-luna-fast",
});
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.
Showing a partial view of a very large repo.
Workflow SDK: Build durable, reliable, and observable apps and AI Agents in TypeScript
The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents
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.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it