# eve

> TypeScript framework where an agent is a folder of prompts, tools and schedules

- Repository: https://github.com/vercel/eve
- Category: AI agents
- Stars: 5,655 · Forks: 626 · Language: TypeScript · License: Apache-2.0
- Experience: Some experience
- Page: https://ir.adyog.com/repos/vercel/eve/

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.

## Who it's for

Suits TypeScript developers who want to build agents; know basic Node.js and npm first.

## 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-agent
```
```
npm run dev
```

Tags: agents, typescript, framework, vercel, workflows
