eve / eve-contentful-agent-template
AGENTS.md5.9k starsChanged 2 days agoApache-2.0View on GitHub
This repository is a reusable Slack-based Contentful assistant built on eve. It supports arbitrary Contentful schemas and stores a searchable copy of configured content on Vercel Drives. Use Node.js 24 and pnpm. These instructions are for agents maintaining the repository. The assistant's behavior is defined in agent/instructions.md and the dynamic instructions under agent/instructions/. Keep this template independent of the original internal content agent. Do not add organization-specific space IDs or content types to application code. Team membership restrictions are an…
- Reads credentials
Trending
More talk lately.about the whole repository
Who's talking about vercel/eve
- @qdrddr.bsky.social“@vercel.com Eve #Agentic #framework uses #filesystem as interface for tools, just drop a #TypeScript code …”Bluesky · Oct 16, 2026 · 8 likes
- @projectnothing.bsky.social“When frameworks like eve break out, it’s a sign: AI agents are no longer side projects—they’re becoming a …”Bluesky · Jun 17, 2026 · 3 likes
- @github-trending-js.bsky.social“📦 vercel / eve ⭐ 5,184 (+40) 🗒 TypeScript The Open Framework for Building Agents”Bluesky · Sep 17, 2026 · 2 likes
- DataDog/dd-trace-js“feat(llmobs): add external experiment recorder”GitHub · Jul 31, 2026 · 2 reactions
- ComposioHQ/composio“chore(deps-dev): bump the npm-development group across 1 directory with 9 updates”GitHub · Nov 6, 2026 · 1 reactions
The biggest 5 of 56 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 56
Talked about on GitHub and Bluesky (56 times).
On GitHub · 49
- Jul 31, 2026feat(llmobs): add external experiment recorder — DataDog/dd-trace-js2 reactions · 5 comments
- Nov 6, 2026chore(deps-dev): bump the npm-development group across 1 directory with 9 updates — ComposioHQ/composio1 reaction · 5 comments
- Nov 3, 2026chore(deps-dev): bump the npm-development group across 1 directory with 8 updates — ComposioHQ/composio1 reaction · 6 comments
- Oct 30, 2026Bump the production-dependencies group across 1 directory with 11 updates — byronwade/rebuzzle.byronwade.com1 reaction · 6 comments
- Oct 30, 2026chore(deps-dev): bump the npm-development group with 7 updates — ComposioHQ/composio1 reaction · 6 comments
44 more on GitHub
- Oct 16, 2026chore(deps-dev): bump the npm-development group across 1 directory with 8 updates — ComposioHQ/composio1 reaction · 6 comments
- Oct 16, 2026chore(deps-dev): bump the npm-development group with 4 updates — ComposioHQ/composio1 reaction · 6 comments
- Oct 13, 2026chore(deps-dev): bump the npm-development group with 3 updates — ComposioHQ/composio1 reaction · 5 comments
- Oct 9, 2026chore(deps-dev): bump the npm-development group across 1 directory with 7 updates — ComposioHQ/composio1 reaction · 6 comments
- Sep 25, 2026chore(deps-dev): bump the npm-development group with 8 updates — ComposioHQ/composio1 reaction · 4 comments
- Sep 14, 2026chore(deps): bump the production-dependencies group across 1 directory with 13 updates — byronwade/rebuzzle.byronwade.com1 reaction · 5 comments
- Sep 11, 2026chore(deps-dev): bump the npm-development group with 5 updates — ComposioHQ/composio1 reaction · 4 comments
- Sep 7, 2026chore(deps): bump the production-dependencies group across 1 directory with 12 updates — byronwade/rebuzzle.byronwade.com1 reaction · 4 comments
- Sep 1, 2026@nuxt/kit missing @nuxt/schema dependency breaks TypeScript with pnpm 12 GVS — nuxt/nuxt1 reaction
- Aug 31, 2026chore(deps): bump the production-dependencies group with 11 updates — byronwade/rebuzzle.byronwade.com1 reaction · 4 comments
- Aug 13, 2026基于 vercel/eve 实现 agents demo 切片 — SawanaLabs/agent-demos1 reaction · 3 comments
- Jul 28, 2026fix(nitro): vercel function rules - preserve relative symlinks — nitrojs/nitro1 reaction · 4 comments
- Jul 3, 2026Add Eve adapter (eve_gateway + eve_local) — paperclipai/paperclip1 reaction · 6 comments
- Jun 30, 2026Install eve skill from vercel/eve — TommyBez/evex1 reaction · 2 comments
- Jun 19, 2026[codex] Read downloads from the sandbox stream — remiconnesson/eve-single-user-agent-starter1 reaction · 1 comment
- Nov 3, 2026[ARCHITECTURE ASSESSMENT] Eve.dev adoption — no control-plane replacement; bounded comparative pilot — mastermindx-market-intelligence/Mastermind0 reactions
- Nov 2, 2026Broken links report — Li-Evan/awesome-jev0 reactions
- Oct 27, 2026Telegram HITL: при нажатии кнопки подтверждения теряется нажавший (auth: null) — в вендоренном eve 0.51.1 нет фикса vercel/eve#4241 — smixs/iva-agent0 reactions · 1 comment
- Oct 26, 2026Broken links report — Li-Evan/awesome-jev0 reactions
- Oct 19, 2026Broken links report — Li-Evan/awesome-jev0 reactions
- Oct 18, 2026T2: Preserve authenticated attachments when continuing copied history — FranciscoMoretti/chat-js0 reactions
- Oct 18, 2026T1/T2: Adopt upstream structured history imports with completed tools and attachments — FranciscoMoretti/chat-js0 reactions
- Oct 17, 2026Research: Eve project primer — setup, models via AI Gateway, approvals, subagents, Next.js mount, deploy — rymanacevedo/business-wiki-agent0 reactions · 2 comments
- Oct 12, 2026Broken links report — Li-Evan/awesome-jev0 reactions
- Oct 11, 2026`vercel dev` stalls silently (no port, no error) when the Next.js dev-manifest config loader exits non-zero — vercel/vercel0 reactions
- Oct 6, 2026Research: custom SPARQL-generation model + separate review layer (prior art: eve + Qwen + Jev data analyst) — wazootech/wazoo-memorybench0 reactions
- Oct 3, 2026[Add] eve (vercel/eve) — PyTorchKR/landscape0 reactions
- Sep 30, 2026Research report - numbered build order, hackathon checklist, runtime pick — VasuBansal7576/return-intelligence-voice0 reactions
- Sep 19, 2026未対応のカードの効果の翻訳を、会話の中で Pull Request として足せるようにする — mokosystem/pokemon-tcg-buddy0 reactions
- Sep 1, 2026sep 2026 — kimtth/azure-openai-llm-notes0 reactions
- Aug 12, 2026Ship an eve and AI SDK memory integration guide — Studio-Moser/Advisaur-MCP0 reactions
- Aug 12, 2026Evaluate eve as a seventh distribution channel — tartinerlabs/skills0 reactions · 2 comments
- Aug 10, 2026epic(ai): the agent harness -- vision, prior art, and the plan to stand behind "or the agent harness itself" — routecraftjs/routecraft0 reactions · 4 comments
- Jul 14, 2026Epic: publish TypeScript SDK and durable Eve approval channel — asiraky/mayi0 reactions · 2 comments
- Jul 13, 2026@ai-sdk/openai: support ordered additional_tools after a normal tool result — vercel/ai0 reactions · 4 comments
- Jul 4, 2026feat(eve): import Agent Runs and OpenTelemetry evidence into fak session ledgers — anthony-chaudhary/fak0 reactions
- Jul 4, 2026test(eve): run eve evals as fak parity and regression witnesses — anthony-chaudhary/fak0 reactions · 7 comments
- Jul 4, 2026feat(eve): lease-gate shared-sandbox subagent fan-out from child session streams — anthony-chaudhary/fak0 reactions · 1 comment
- Jul 4, 2026feat(eve): preflight MCP/OpenAPI connections for scoped auth, allowlists, and approval gates — anthony-chaudhary/fak0 reactions · 1 comment
- Jul 4, 2026feat(eve): compile agent/ directories into fak policy and mount manifests — anthony-chaudhary/fak0 reactions · 1 comment
- Jul 4, 2026epic(eve): Vercel eve integration bridge - filesystem agents, policy lint, evals, and observability — anthony-chaudhary/fak0 reactions
- Jun 23, 2026@vercel/connect/eve: support context-aware Slack installation selection — vercel/vercel0 reactions
- Jun 19, 2026Remove sandbox stream compatibility fix after Eve #117 is released — remiconnesson/eve-single-user-agent-starter0 reactions
- Jun 19, 2026Add Vercel Eve sandbox backend adapter support — sandbox0-ai/sandbox00 reactions
On Bluesky · 7
- Oct 16, 2026@vercel.com Eve #Agentic #framework uses #filesystem as interface for tools, just drop a #TypeScript code into a folder, the filename… — @qdrddr.bsky.social8 likes and reposts · 1 reply
- Jun 17, 2026When frameworks like eve break out, it’s a sign: AI agents are no longer side projects—they’re becoming a new pillar of mainstream software… — @projectnothing.bsky.social3 likes and reposts
- Sep 17, 2026📦 vercel / eve ⭐ 5,184 (+40) 🗒 TypeScript The Open Framework for Building Agents — @github-trending-js.bsky.social2 likes and reposts
- Sep 20, 2026github.com/vercel/eve GitHub - vercel/eve: The Open Framework for Building Agents — @technews4869.bsky.social1 likes and repost
- Aug 11, 2026Cloudflare OS blog: blog.cloudflare.com/cloudflare-os/, github.com/cloudflare/cloudflare-os Vercel eve: vercel.com/blog/introducing-eve ·… — @akash-bhatia.bsky.social1 likes and repost
2 more on Bluesky
- Jul 2, 2026Vercel's eve is a filesystem-first framework for durable AI agents: an agent is a directory of instructions, tools, skills, channels, and… — @agentpalisade.bsky.social1 likes and repost
- Jun 17, 2026The Framework for Building Agents https://github.com/vercel/eve — @laxima-tech.bsky.social1 likes and repost
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository115 other files it gives its agents.
- AGENTS.mdAGENTS.md
- apps/docs/AGENTS.mdAGENTS.md
- apps/templates/eve-agent-python-template/AGENTS.mdAGENTS.md
- apps/templates/eve-agent-python-template/apps/web/AGENTS.mdAGENTS.md
- apps/templates/eve-chat-template/AGENTS.mdAGENTS.md
- apps/templates/eve-coding-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-content-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-data-analyst-template/AGENTS.mdAGENTS.md
- apps/templates/eve-discord-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-llm-council-template/AGENTS.mdAGENTS.md
- apps/templates/eve-mem0-template/AGENTS.mdAGENTS.md
- apps/templates/eve-memory-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-slack-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-software-factory-template/AGENTS.mdAGENTS.md
- apps/templates/eve-sre-agent-template/AGENTS.mdAGENTS.md
- apps/templates/eve-tanstack-start-template/AGENTS.mdAGENTS.md
- apps/templates/eve-vercel-drives-starter/AGENTS.mdAGENTS.md
- apps/templates/eve-voice-template/AGENTS.mdAGENTS.md
- apps/templates/kody-eve-template/AGENTS.mdAGENTS.md
- apps/templates/marketing-team-eve-template/AGENTS.mdAGENTS.md
- apps/templates/openinstinct/AGENTS.mdAGENTS.md
- apps/templates/personal-agent-template/AGENTS.mdAGENTS.md
- apps/templates/sanity-copilot-eve-template/AGENTS.mdAGENTS.md
- apps/templates/slack-company-brain-template/AGENTS.mdAGENTS.md
- packages/eve-agent-desktop/AGENTS.mdAGENTS.md
- packages/eve-code/AGENTS.mdAGENTS.md
- packages/eve-computer-use/AGENTS.mdAGENTS.md
- packages/eve-custom-skills/AGENTS.mdAGENTS.md
- packages/eve-git/AGENTS.mdAGENTS.md
- packages/eve/src/internal/nitro/AGENTS.mdAGENTS.md
- apps/templates/eve-agent-python-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-chat-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-coding-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-content-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-contentful-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-data-analyst-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-discord-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-llm-council-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-mem0-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-memory-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-slack-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-software-factory-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-sre-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-tanstack-start-template/CLAUDE.mdCLAUDE.md
- apps/templates/eve-vercel-drives-starter/CLAUDE.mdCLAUDE.md
- apps/templates/eve-voice-template/CLAUDE.mdCLAUDE.md
- apps/templates/kody-eve-template/CLAUDE.mdCLAUDE.md
- apps/templates/marketing-team-eve-template/CLAUDE.mdCLAUDE.md
- apps/templates/openinstinct/CLAUDE.mdCLAUDE.md
- apps/templates/personal-agent-template/CLAUDE.mdCLAUDE.md
- apps/templates/sanity-copilot-eve-template/CLAUDE.mdCLAUDE.md
- apps/templates/slack-company-brain-template/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- gh-pr-descriptionSkill
- pr-shepherdSkill
- technical-writingSkill
- test-auditSkill
- create-payment-credentialSkill
- dashboard-chat-best-practicesSkill
- eve-chat-template-eveSkill
- The first 60 shown.
The file
We split this AGENTS.md into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Keep this template independent of the original internal content agent.
- Distinctive: line 31
Keep discovery bounded: read the routed documentation and the files needed for the change, then implement.
- Very specific: line 42
Prefer native integrations.
- Very specific: line 52
Use .env.example to document new configuration without credentials.
- Distinctive: line 56
Read current entries before changing them and validate their versions.
- Distinctive: line 57
Every content type requires publication approval unless explicitly configured as a supporting component.
- Very specific: line 77
Use the Vercel CLI for project configuration and deployment instructions.
- Very specific: line 81
Keep README.md concise, with the deployment flow and the existing technology and customization tables.
- Distinctive: line 83
Write for a person using the template:
- Distinctive: line 91
Keep commands usable in context.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
eve Contentful Agent
This repository is a reusable Slack-based Contentful assistant built on eve. It supports arbitrary Contentful schemas and stores a searchable copy of configured content on Vercel Drives. Use Node.js 24 and pnpm.
These instructions are for agents maintaining the repository. The assistant's behavior is defined in agent/instructions.md and the dynamic instructions under agent/instructions/.
Project map
| Change | Location |
| Assistant behavior and writing guidelines | agent/instructions.md |
| Contentful context and current time | agent/instructions/ |
| Model and session limits | agent/agent.ts |
| Tool definitions | agent/tools/ |
| Contentful configuration and implementation | agent/lib/contentful/ |
| Publication approvals | agent/tools/publish_contentful_entry.ts and agent/lib/contentful/publication*.ts |
| Slack channel and shared integration code | agent/channels/slack.ts and agent/lib/integrations/slack/ |
| Slack tables and charts | agent/lib/tools/ and agent/lib/integrations/slack/visualizations/ |
| Search and query procedures | agent/skills/ |
| Content copied to Vercel Drives | agent/lib/contentful/mirror/ and agent/schedules/ |
| Local and hosted sandbox selection | agent/sandbox.ts |
| Per-user writing preferences | agent/memory/user-preferences.ts and agent/lib/memory/scope.ts |
| Setup and customization guidance | README.md, CUSTOMIZATION.md, and .env.example |
Keep this template independent of the original internal content agent. Do not add organization-specific space IDs or content types to application code. Team membership restrictions are an optional extension described in CUSTOMIZATION.md; they are not enabled by default.
Before implementing changes
Inspect the relevant implementation and nearby tests. For eve API changes, start with the installed documentation index, then read the page it identifies for the task. Use eve's published documentation if the installed docs are unavailable. Verify third-party APIs against the installed package or current official documentation rather than relying on recalled signatures.
Keep discovery bounded: read the routed documentation and the files needed for the change, then implement. Follow imports or public types only when they resolve a specific unanswered question. Do not recursively scan dependencies or read unrelated framework pages.
Content-only changes to the assistant's instructions do not require framework research. Preserve the configured model unless changing it is part of the request.
For a new external integration, check the eve registry before writing an integration from scratch:
pnpm exec eve registry search <query> --json
pnpm exec eve registry view <item>Prefer native integrations. When installation is part of the task, use pnpm exec eve add <item> --non-interactive. Exit code 2 means setup needs an answer or prerequisite; inspect the final NDJSON event and follow its continuation instructions. Never pass secrets through --answer.
Implementation conventions
Keep tool definitions in agent/tools/ small, with reusable behavior in agent/lib/. Follow existing input schemas and error handling rather than introducing another validation pattern. Locale-aware Contentful helpers receive an explicit LocaleContext from withLocale or withContentfulLocale; forward it through every read, write, and recovery path without ambient storage.
Preserve the strict TypeScript and Ultracite configuration. Do not disable rules to make a port or refactor pass. The existing filename exemption for agent/tools/*.ts is intentional: tool files use names such as get_contentful_entry.ts. Preserve those names unless the task requires changing the tool interface.
Add useful TSDoc when introducing or changing exported helpers, tools, channels, or configuration types. Document parameters with @param name - description, type parameters with @typeParam, and meaningful return values with @returns. Document properties beside their declarations. Use @remarks for behavior callers need to know, such as publication side effects or recovery requirements; avoid comments that merely repeat the symbol name or type.
Use .env.example to document new configuration without credentials. When configuration changes affect setup or behavior, update the relevant human documentation too.
Contentful behavior to preserve
- Read current entries before changing them and validate their versions. Preserve untouched fields and locales. Protected RichText fields require block patches for updates; initial creation can still set them.
- Every content type requires publication approval unless explicitly configured as a supporting component. Website routes take precedence over component exemptions, so routed types still require approval.
- Save ordinary entry edits without publishing. Creating an exempt component can publish it immediately. New asset uploads are processed and published during entry creation or updates; these side effects must remain explicit in tool descriptions and documentation.
- Page publication requires a Slack preview listing the content to be published, followed by eve's native approval controls. Preserve confirmed preview delivery and the saved version checks. Never bypass a cancelled request or silently expand what the user approved.
- Page publication can include changed supporting components. Publishing only exempt components preserves pending edits on already-live references. Linked pages must be explicitly requested before publishing them. Read
publication.tsand its tests before changing this behavior. - Publication can partially succeed. Preserve per-item outcomes and asset recovery IDs so interrupted operations can resume without duplicate uploads or entries.
- Any authenticated person can edit content and approve or cancel publication requests. Slack apps and Workflows that mention the agent get eve's
serviceprincipal.requireContentfulEditorand the publicationresponsepolicy must keep rejecting it. Use authenticated identities for permission checks; Slack profile names and message text do not establish authorization. - Derive Slack principals with eve's
defaultSlackAuth. Bot posts that Slack delivers without a user, such as Slack Workflow messages, get a per-botserviceprincipal from their validatedbot_id; drop every other message without a verified author. Never build a principal fromraw.useror share one across senders. Profile lookups inidentity.tsadd names and images for the model, never emails. KeepselectInboundHandlersandchannel.test.tsin sync, because a customonMessagereceives mentions and DMs unless a specific handler is supplied.
Local and hosted behavior
pnpm dev opens eve's terminal chat. Local sessions use just-bash and do not mount Vercel Drives, so they search Contentful directly. The hosted agent uses Vercel Sandbox with a read-only copy of the Drive. Each agent configuration uses one Drive for all its configured spaces. Hosted sandboxes deny outbound network access because every API request runs in the application. The mirror sync creates its own sandbox in mirror/drive.ts, which also denies network access.
The schedules copy Contentful content to the Drive. Local development does not run cron schedules automatically. Manually dispatching a schedule from the local server can still update a real Vercel Drive; it is not a local simulation. Do not trigger syncs or publish Contentful content merely to validate documentation.
The default terminal UI displays only error logs. Use pnpm dev --logs all when checking success or skipped-sync messages. pnpm exec eve logs reads saved diagnostic logs from interactive local sessions. Verify the logging path before claiming a message appears in the terminal.
Writing preferences are stored separately for each authenticated person through byHumanPrincipal, which matches byPrincipal for people and disables memory for service principals. Renaming the slot or changing the scope value orphans saved preferences. The Memory section of agent/instructions.md must keep treating recalled memory as untrusted and must keep telling the model never to save sensitive information. Hosted storage uses private Vercel Blob; local storage is temporary. Prefer Vercel OIDC for supported services rather than introducing additional API tokens.
The Slack channel uses SLACK_CONNECTOR, falling back to slack/placeholder so compilation works before Slack is configured. Slack delivery still needs a real connector. Pull the project's variables with vercel env pull .env.local.
Use the Vercel CLI for project configuration and deployment instructions. Confirm unfamiliar flags with --help. Keep adding and updating environment variables in the CLI instead of sending users to the dashboard unnecessarily. Provisioning services or deploying the agent is separate from checking code and documentation.
Documentation standards
Keep README.md concise, with the deployment flow and the existing technology and customization tables. Put detailed procedures in CUSTOMIZATION.md. Preserve working examples and previously accepted wording when revising a section.
Write for a person using the template:
- Explain what a setting controls before showing it. Distinguish optional values from required configuration and state what the code does when a variable is unset.
- Name the relevant system when discussing environments: Contentful environments select content; Vercel environments determine where project variables apply.
- State general behavior before giving an example. Do not let an author-profile example imply a rule applies only to author profiles.
- Explain terms on first use. Prefer "searchable copy of Contentful content" to an unexplained "mirror", and "each user's writing preferences" to unspecified "memory" or "preferences".
- Connect related ideas naturally. Avoid choppy sequences of short sentences, short sentences split off from the reason that explains them, forced groups of three, parenthetical asides, bold lead-ins, colons joining two sentences, and unnecessary emphasis. Do not begin prose sentences with "A" or "An".
- Lowercase Vercel environment names mid-sentence, such as "preview" and "production". Labels at the start of a table cell keep their capitalization.
- Keep commands usable in context. Identify required input and explain how to recognize success. Distinguish a request being accepted from its background work completing.
Verify behavior against code and current CLI help. When reviewing a passage, read its surrounding section for contradictions and repeated explanations. For a full-file review, cover the entire file rather than fixing only the quoted examples. Formatting and link checks do not replace an editorial review.
Validation
pnpm check and pnpm fix use lint.config.ts explicitly to keep its Ultracite rules separate from monorepo linting. .oxfmtrc.json contains the resolved Ultracite formatting preset so root tooling needs no template dependencies. Keep it in sync when upgrading Ultracite. Git hooks are opt-in: run pnpm exec lefthook install only from a standalone checkout, never from the eve monorepo.
Choose checks that establish the changed behavior. Existing tests live beside their implementations under agent/; shared test helpers are under agent/lib/testing/ and agent/lib/contentful/testing/.
| Command | Purpose |
pnpm check | Formatting and lint rules |
pnpm fix | Apply formatting and lint fixes |
pnpm typecheck | TypeScript checks |
pnpm exec vitest run <test-file> | Tests for the changed behavior |
pnpm validate | Formatting, lint, types, all tests, and unused-code checks |
pnpm exec eve info | Agent diagnostics |
pnpm build | Production compilation |
For code changes, run the relevant tests and static checks. Use pnpm validate for changes spanning several parts of the agent, and run pnpm build when changing framework registration or build behavior. Add tests for meaningful behavior changes, especially publication rules and recovery paths.
For documentation-only changes, check formatting and affected links or examples. Do not run the full application test suite for a prose edit. State which checks ran and distinguish source inspection from behavior tested against live services.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

