Skip to content

bento docs

bento is a polyglot monorepo orchestrator. It plans, builds, tests, lints, deploys, and caches across Go, Rust, Python, Ruby, PHP, JVM (Maven and Gradle), and the whole TypeScript/JavaScript family (npm, pnpm, yarn, Bun, Deno) — behind one uniform CLI with content-addressed caching, toolchain pinning, and deploy-target routing.

Terminal window
curl -fsSL https://bento.build/install | sh
bento prime

bento prime orients an agent (or a human) to the current workspace: inventory, cache state, plan preview, and a recommended next verb.

  • Content-addressed cache. Every task is keyed by its inputs, toolchain, and env. Tasks that haven’t changed don’t re-run. Three-tier cache: local, GitHub Actions, and a hosted/self-hosted remote.
  • Pessimistic dep cascade. A library change invalidates downstream dishes by content, not by guessing. The cascade catches “library updated, but the binary’s source files didn’t” cases that simpler tools miss.
  • One verb per concept. bento install, bento build, bento test, bento lint, bento deploy, bento ci. Same surface for every language.
  • Agent-native. Every output schemaed (bento schema <target>), every error structured, MCP server (bento-mcp) shipped alongside the CLI for typed tool calls in Claude Code, Cursor, Codex, OpenCode, Zed, and Windsurf.