{"adoption": {"forks": 483, "observed_at": "2026-08-28T04:09:00.334267+00:00", "stars": 4820}, "canonical_url": "https://ross.abutalabs.com/products/vercel-eve", "card": {"archived": false, "artifact_type": "framework", "description": "The Open Framework for Building Agents", "domain": ["large-language-models", "developer-tools", "backend"], "enriched": true, "function": ["agent-framework", "workflow-automation", "chatbot", "scheduling", "webhook", "cli", "developer-tools"], "health_score": 100, "homepage": "https://eve.dev", "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["vercel/eve"], "name": "vercel/eve", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-26T23:20:02+00:00", "repo": "vercel/eve", "stars": 4820, "tags": ["filesystem-first", "durable-agents", "ai-gateway", "skills", "channels", "sandbox", "vercel", "markdown-instructions", "tools", "ai-agents", "automation", "nodejs", "typescript"], "topics": ["agent", "framework", "harness", "javascript", "markdown", "typescript", "vercel", "sandbox", "workflows"], "urls": [], "use_cases": ["build an AI agent from a markdown instructions file", "create a Slack or Discord chatbot backed by an LLM", "schedule recurring agent tasks with cron", "add typed tools an LLM can call from TypeScript files", "scaffold a durable agent project with npx", "run an agent across multiple messaging channels", "give agents on-demand skills via markdown playbooks"], "what_it_is": "eve is a filesystem-first TypeScript framework by Vercel for building durable AI agents, where an agent is defined by a conventional directory layout (instructions.md, tools/, skills/, channels/, schedules/). It includes a CLI for scaffolding, a dev server with terminal UI, sandboxing, and integrations for Slack, Discord, Telegram, and other messaging channels.", "when_to_avoid": ["you need a Python agent framework", "you want full programmatic control over agent orchestration rather than filesystem conventions", "you need a very lightweight library without CLI scaffolding", "your runtime can't run Node.js 24+ or newer"], "when_to_choose": ["you want a convention-over-configuration agent framework in TypeScript", "you prefer authoring agent behavior in markdown and filesystem conventions", "you need durable agents with channels, schedules, and sandboxes out of the box", "you're in the Vercel/AI SDK ecosystem and want AI Gateway integration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vercel-eve", "repo": "vercel/eve", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.334267+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:32.688217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ad0254a532b65565614bc7210d9aadb43f79252d12f4c1f2e798f1e18437f3c9", "fetched_at": "2026-08-28T04:09:00.334267+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel/eve"}, {"content_hash": "61d7273de5636f540cc133e2d826de6c3126263052deeea504a8b7d511359296", "fetched_at": "2026-08-29T09:01:44.616159+00:00", "kind": "homepage", "missing": false, "url": "https://eve.dev"}, {"content_hash": "4a62977ce60d68cdb7cf8fff1c42aba66888289d1f31cf1ad37156149d19a42d", "fetched_at": "2026-08-29T09:01:44.623457+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs/getting-started"}, {"content_hash": "038e1419eaf229ab074dbd3a798427e0454e643c6b8f1604a878ca85e806d2d3", "fetched_at": "2026-08-29T09:01:44.619021+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/docs"}, {"content_hash": "c9f66e0095c33ab83750c1ffc5dd3b3827004bbc3d2243c02aefb21036ea23f9", "fetched_at": "2026-08-29T09:01:44.621177+00:00", "kind": "site_page", "missing": false, "url": "https://eve.dev/integrations"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 5, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 78, "days_push": 7, "days_rel": 7, "gap_med": 0, "n_releases_24m": 148}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}