vercel /
eve
TypeScript framework where an agent is a folder of prompts, tools and schedules
- 5.7k stars
- 212 stars since 3 Oct
- TypeScript
- Updated today
- Some experience
- AI agents
eve treats the filesystem as the way you write an agent. You put a system prompt in instructions.md, typed tools in a tools folder, and on-demand procedures in a skills folder. Anyone opening the project can see what the agent can do.
The same layout covers how the agent reaches people and when it runs. Channels (HTTP, Slack, Discord) carry messages, and schedules hold recurring cron jobs. The model is chosen by AI Gateway model ID in a small agent.ts file, and tools are plain functions with a Zod input schema.
The README does not compare eve to other frameworks by name. It stresses that projects are easy to inspect and operate, and that the package ships its docs in node_modules so coding agents can read them locally. It is in beta, so APIs may change before general availability.
What it does
Convention-based project layout
An agent directory holds instructions.md, tools, skills, channels and schedules. Only instructions.md is required.
Typed tools
You define a tool with defineTool, giving it a description, a Zod input schema and an execute function the model can call.
Skills loaded on demand
Markdown files in a skills folder describe procedures the agent loads when needed.
Channels and schedules
Message channels such as HTTP, Slack and Discord, and recurring cron jobs, are defined as files in their own folders.
One-command scaffold
npx eve@latest init creates a project, installs dependencies, initializes Git and starts a terminal UI. A --model flag picks another AI Gateway model.
What you could build
- Build a Slack or Discord assistant by adding a channel file to an agent folder.
- Write typed tools that let a model call your own functions, such as a weather lookup.
- Schedule an agent to produce a weekly recap with a cron-style schedule file.
- Add an agent to an existing project by running the init command in its directory.
- Package repeatable procedures as markdown skills that an agent loads when it needs them.
Get started
Run the init command to create a project with dependencies installed and a terminal UI started. Then edit agent/instructions.md, add tools under agent/tools, and run npm run dev to start the agent again.
npx eve@latest init my-agentnpm run devCommands are copied from the project's README. Read it on GitHub for the full setup.