mcpField
E
eve-compat

eve-compat

github.com/zavudevCloud & DevOps170 installsUpdated 3d ago
Repository

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

  1. 01Import and deploy projects from GitHub
  2. 02Deploy a local eve project
  3. 03Map instructions, models, and tools
  4. 04Convert input schemas to JSON Schema
  5. 05Produce compatibility reports and warnings

Use cases

  1. 01Deploy an eve project from GitHub to Zavu
  2. 02Deploy a local eve project on Zavu
  3. 03Check how tools and schemas are mapped
  4. 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-compat

After installing, type/eve-compatin Claude Code to confirm it loaded.

Details

From the project README

Deploy 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

eveZavu
agent/instructions.mdsystem prompt (required)
agent/agent.ts string modelagent 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 inputSchemaJSON Schema parameters
package.json dependenciesinstalled 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 into instructions.md or 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 approval gates and toModelOutput — ignored per tool, with warnings.
  • agent.ts options reasoning, 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 esbuild resolvable in the project (npm install -D esbuild). npx zavudev import adds and installs it automatically; only --no-install skips that.
  • inputSchema must be an object schema — z.object({...}) or a JSON Schema with type: "object". Exotic Zod types fall back to a permissive schema with a warning in the build logs.
  • After deploying: npx zavudev agents list for the agent id, then npx 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.

Comments

Markdown supported