About eve-compat
eve-compat is a skill for compiling and deploying eve-layout projects as Zavu agents, aimed at developers running eve projects on Zavu. It maps instructions, models, and tools, and reports compatibility warnings for features that do not run there.
Key features
- 01Import and deploy projects from GitHub
- 02Deploy a local eve project
- 03Map instructions, models, and tools
- 04Convert input schemas to JSON Schema
- 05Produce compatibility reports and warnings
Use cases
- 01Deploy an eve project from GitHub to Zavu
- 02Deploy a local eve project on Zavu
- 03Check how tools and schemas are mapped
- 04Identify features that require eve's own runtime
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ zavudev/ zavu-skills --skill eve-compatAfter installing, type/eve-compatin Claude Code to confirm it loaded.
Details
From the project READMEDeploy eve projects on Zavu
Zavu compiles an eve-layout project into a first-class Zavu agent. The user's
files are never edited: agent/instructions.md becomes the system prompt,
each agent/tools/<name>.ts becomes a tool named <name>, and Zod
inputSchema objects are converted to JSON Schema automatically.
Commands
# Import from GitHub and deploy in one step (also works for Zavu-native repos):
npx zavudev import owner/repo --sender sndr_123
npx zavudev import owner/repo#branch --root apps/agent # monorepo / branch
# Private repos: set GITHUB_TOKEN in the environment (sent only to GitHub).
# Deploy a local eve project (detected by agent/instructions.md):
cd my-eve-agent && npx zavudev deploy --sender sndr_123
The sender can come from --sender (inlined at compile time) or the
SENDER_ID function secret (npx zavudev fn secrets set SENDER_ID sndr_123).
Without either, the agent deploys but stays disconnected until a sender is
attached in the dashboard.
What maps
| eve | Zavu |
|---|---|
agent/instructions.md | system prompt (required) |
agent/agent.ts string model | agent model; non-string configs (provider instances, defineDynamic) fall back to the default with a warning |
agent/tools/*.ts (default-export defineTool) | tools, named by filename stem |
Zod / JSON Schema inputSchema | JSON Schema parameters |
package.json dependencies | installed server-side; the eve package itself is compiled away |
What does NOT run on Zavu (always tell the user)
The deploy prints a compatibility report; these produce explicit warnings:
agent/channels/— unnecessary: Zavu senders are the channels.agent/schedules/— cron is not available on Zavu Functions yet.agent/skills/— not loaded at runtime; fold content intoinstructions.mdor a knowledge base.agent/subagents/,agent/sandbox/,agent/connections/,evals/— not supported. Agents that depend on them should run on eve's own runtime.- Tool
approvalgates andtoModelOutput— ignored per tool, with warnings. agent.tsoptionsreasoning,compaction,limits,modelOptions,outputSchema— ignored, with warnings.
Tools run on every channel — plain text (SMS/WhatsApp/Telegram), voice, and
flow tool steps — with up to 5 tool rounds per reply. The one exception is
agents test: a dry run never executes tools (that would fire real webhooks)
and says so in its warnings.
Requirements and troubleshooting
- Compiling an eve layout needs
esbuildresolvable in the project (npm install -D esbuild).npx zavudev importadds and installs it automatically; only--no-installskips that. inputSchemamust be an object schema —z.object({...})or a JSON Schema withtype: "object". Exotic Zod types fall back to a permissive schema with a warning in the build logs.- After deploying:
npx zavudev agents listfor the agent id, thennpx zavudev agents test <agentId> --message "hi"for a dry run that delivers nothing and charges nothing. - Redeploy after edits with
npx zavudev deploy— the reconcile summary (+/~/=/-) is the source of truth for what changed.