Skip to main content

eve

Build durable backend AI agents with the eve framework. Use when creating, editing, or debugging an eve project — agent instructions, skills, tools, connections, channels, sandboxes, subagents, schedules, or evals. Also use when changing how Evie scaffolds or runs its bots.

Source facts

Repository
trycompai/evie
Last source activity
August 16, 2026 at 18:20
Detected SKILL.md language
English
Stars
8
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
eve
description
Build durable backend AI agents with the eve framework. Use when creating, editing, or debugging an eve project — agent instructions, skills, tools, connections, channels, sandboxes, subagents, schedules, or evals. Also use when changing how Evie scaffolds or runs its bots.
# eve eve is a filesystem-first framework for durable backend AI agents. An agent is a directory on disk — instructions, skills, tools, connections, channels, subagents, and schedules are all files — and eve compiles and runs it. ## Source of truth The complete documentation ships inside the `eve` package. Do not rely on this skill for guidance, and do not answer from memory — always read the bundled docs, which match the installed version exactly: ``` node_modules/eve/docs/ ``` Start with `node_modules/eve/docs/README.md`. It contains the full index and recommended reading order. Before writing any eve code, read the relevant guide there first. ### Finding the docs inside the Evie repo `eve` is **not** a dependency of the Evie workspace, so there is no `node_modules/eve` at the repo root. eve is pinned and installed per bot directory (decision 014), so the docs live under an existing bot: ```bash ls "$(ls -d .evie/userdata/orgs/*/bots/*/ | head -1)node_modules/eve/docs" ``` If no bot exists yet, install the pinned version somewhere scratch and read it there. The pin is `EVE_VERSION` in `apps/server/src/provider/scaffold.ts` — read the version from that constant rather than installing `latest`, or you will be reading docs for a version Evie does not run: ```bash npm install eve@<EVE_VERSION> --no-audit --no-fund --ignore-scripts ``` ## How Evie runs eve, and what it changes These are Evie-specific facts the bundled docs cannot know. Get them wrong and you will describe capabilities the bots do not have, or deny ones they do. - **Bots run `eve dev --no-ui`**, never `eve build`/`eve start` (decision 012; `runtime_mode = 'built'` is a later roadmap phase). An instruction edit lands on the next turn with no build step. - **eve's own `agent/schedules/` never fire**, because `eve dev` does not run cron. Scheduling in Evie is **routines** — Evie's own scheduler (`apps/server/src/scheduler/Scheduler.ts`), with a 5-field cron, an IANA timezone, an optional thread, and a run-as member. It is wired end to end: commands, decider, scheduler, reactor, a `routines.list` RPC, and the Routines dialog at `/routines`. "Evie cannot run anything on a schedule" is wrong. - **Evie generates `agent/connections/*.ts`** from the bot's connection rows on every runtime spawn, and sweeps the files it wrote when a connection goes away. `org` scope reads its token from `connectionEnvName(name)`, injected by `spawnEnv`; those two live in different modules, so change them together. `member` scope and `interactive` auth are deliberately **not** generated — they need the per-person OAuth callback proxy 05 describes, which does not exist. Do not "fix" that by generating a file; a bot that compiles and 401s reads as a broken service rather than an unfinished feature. - **Evie owns the generated files** in each bot project — `agent/agent.ts`, `agent/channels/eve.ts`, `agent/sandbox/sandbox.ts`, `agent/instructions/00-evie.md` (the capability briefing), and everything under `agent/connections/` carrying Evie's marker. Everything else in `agent/`, `instructions.md` included, is the user's. Change generated content in `scaffold.ts`, never by editing a bot directory in place. - **`agent.ts` is edited only through `eve set`**, so eve's validated source editor stays its single writer and a `defineDynamic` model is not clobbered. - **The sandbox is deny-all egress** plus `ai-gateway.vercel.sh` and the hosts allow-listed in Settings > Computer. The sandbox cannot see the bot's own project files, so a bot cannot edit itself with `bash`. ## Changing what bots know about themselves The capability briefing in `scaffold.ts` is a system-role instruction on every model call for every bot. It is regenerated on each runtime spawn, so a correction reaches existing bots on their next boot. Keep it to what is verifiably true of the runtime today — an over-promise there is as damaging as the under-promise it replaced. `apps/server/test/capability-briefing.test.ts` covers it.
View on GitHub