Define skills in YAML. Generate a production-ready agent service.

One YAML config. Prisma-style typed codegen.
Import the generated package into your own service.

$npm install agent-bundle
Get Started View on GitHub
~/personalized-recommend

Features
Everything you need to ship agents.
โšก

Type-safe codegen

Prisma-style generate. Your YAML config becomes a typed TypeScript package you can import like any dependency.

๐Ÿ”“

No vendor lock-in

Anthropic, OpenAI, Gemini, OpenRouter โ€” or run locally with Ollama, no API key needed. One line of YAML to swap.

๐Ÿงฉ

Plugin marketplace

Pull skills and commands from a plugin marketplace. Local skills, local commands, and marketplace plugins โ€” all merged into one typed bundle.

๐Ÿ‘

Live sandbox view

WebUI shows the agent's file tree, file preview, LLM transcript, and metrics dashboard as it runs. No more black boxes.

๐Ÿ“Š

Observability built in

Token usage, tool call latency, error rates โ€” visible in the dev UI and exportable via OpenTelemetry for production.

๐Ÿ›ก

Token-scoped MCP

Connect to internal services via MCP servers. Even under prompt injection, the agent cannot exceed what the MCP server permits.


Quick Start
Three steps to your first agent.
1
Install
$ npm install agent-bundle
2
Define your agent
# agent-bundle.yaml
name: personalized-recommend

model:
  provider: openrouter
  model: qwen/qwen3.5-397b-a17b

sandbox:
  provider: e2b

skills:
  - path: ./skills/update-memory
  - path: ./skills/recommend
3
Generate and import
$ npx agent-bundle generate  # typed package โ†’ node_modules/

# then in your code:
import { PersonalizedRecommend }
  from "@agent-bundle/personalized-recommend";

Ship your first agent today.

agent-bundle is open source and free forever. Star the repo to follow updates and help others discover it.

Star on GitHub