AX principles
bento adopts the AX (Agent Experience) framing — term coined by Matt Biilmann at Netlify in 2025. AX sits alongside DX (Developer Experience): both matter, neither replaces the other.
The principles bento commits to:
-
Every output is schemaed. Run
bento schema <target>for any of:plan,report,why,scaffold,manifest,doctor,error,diagnostics,garnish-payload,prime. Bumping the shape of any of these is a breaking change. -
Every mutation is idempotent. Re-running
bento mcp install,bento dish addagainst an already-adopted dir, orbento initagainst an already-init’d workspace is a structured no-op (or a structured update), never a duplication. -
Errors are structured + recoverable. Failures emit a typed envelope (
bento schema error) withkind,message, optionalhint, andnext_steps. Tool diagnostics (cargo / golangci-lint / eslint / ruff) parse into adiagnosticsarray on each failed task —{file, line, severity, message, rule}ready to feed back to an agent. -
MCP-first, not as an afterthought.
bento-mcpships in every release tarball and is registered viabento mcp installfor Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, OpenCode, and Zed. -
Stable string-typed enums everywhere.
cache_miss,built,failed,ok,warn, etc. — never numeric discriminants the agent has to memorise.
For wiring an agent into a bento-managed repo, see Using bento with coding agents.