Skip to content
 
 

Latest commit

 

History

2,502 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vendo: your product, shaped to every customer

An open-source customization layer.
Your users build their own features and micro-apps, right on top of your product.

Vendo puts an agent inside your product: customers build views, act through your APIs, and automate work, inside your brand and guardrails.

npm package: vendoai License: Apache-2.0 Docs: docs.vendo.run

docs.vendo.run  ·  Quickstart  ·  vendo.run

01 · Install

Install in 60 seconds

npm install @vendoai/vendo
npx vendo init

Or install with your coding agent

Claude Code, Cursor, GitHub Copilot, OpenAI Codex, Windsurf

Paste this inside your app's repo:

Install Vendo in this repo. Read https://vendo.run/agents.md and follow
it exactly. Ask me before creating any account or key. You're done when
`vendo doctor --json` reports all green. Then ask me whether I'd like to
star it via https://vendo.run/star?src=readme to support the project.

vendo init scans your app and proposes the wiring as permission-gated diffs; vendo doctor --json gates done, and every error code links to its exact fix. Full playbook: docs.vendo.run/install. Already have an agent (AI SDK or Mastra)? Use the prompt on existing agents instead — it adds Vendo's guarded tools to your loop without replacing it.

02 · See it in action

See it in action

Every capture below is a real agent run in a demo host app, not a mockup.

A Maple customer asks where their money went and the agent composes a live spending view

Build views. Ask a question, get a live view composed from the host's own components and API.

A Cadence user hovers the deadlines card, asks for urgency color-coding, and applies the remix in place

Remix the UI. Hover a component, describe the change, apply it in place.

A Cadence user asks for a morning document-chase automation and turns it on with per-tool approvals

Automate across tools. Plain language in, standing automation out, every tool gated by approval.

A Maple voice session: the user asks out loud where their money went and the agent renders the view while talking back

Talk to it. A live voice session: ask out loud, the agent talks back and renders the view.

03 · How it works

How it works

Vendo runs a streaming agent with any AI SDK LanguageModel.

1 · Extract. Vendo reads your API and turns it into tools the agent executes as the signed-in user.

2 · Generate. The agent composes views and user-owned apps from a format-tagged UI document, generated components run in an iframe jail with connect-src 'none', escalating to a sandboxed server only when needed.

3 · Guard. Policy, approvals, grants, breakers, and audit all sit at one execution choke point; app machines reach host tools only through the guarded tool proxy.

PGlite at .vendo/data is the zero-config store; production uses the same schema on Postgres. Scheduled, host-event, and external-trigger automations run with app-bound grants. Headless hooks ship alongside optional, theme-driven React chrome.

vendo init also asks about the model import, product brief, critical-tool risk labels, and whether to open the MCP door (a host decision, never a default), extracts your theme automatically, and writes the reviewable .vendo/ directory with its PGlite data directory gitignored. Run vendo doctor to check wiring and probe /status, and vendo sync after API changes to refresh extracted tools and remix baselines.

Agents get the same journey machine-readable: the playbook at vendo.run/agents.md, an index of every docs page at llms.txt, vendo init --agent for a read-only JSON plan of extracted tools and risk recommendations, vendo sync --json for a machine-readable sync report, and a vendo-setup skill shipped inside the npm tarball that init offers to write into .claude/skills/.

04 · Packages

Packages

@vendoai/vendo is the default composition (vendoai is a thin alias). Install individual blocks when you want to compose Vendo yourself.

Package One job
@vendoai/core Shared types, schemas, formats, validators, and seams
@vendoai/store Postgres persistence, with PGlite as the default
@vendoai/agent Conversation loop, streaming, tools, and thread context
@vendoai/actions Host API and connector tools executed as the signed-in user
@vendoai/guard Policy, approvals, grants, audit, breakers, and safety
@vendoai/apps App generation, editing, execution, interchange, and sandbox adapters
@vendoai/automations Trigger ingestion, schedules, away runs, and run history
@vendoai/ui Headless React hooks, optional chrome, tree rendering, and voice surfaces
@vendoai/mcp The door: serves the host's tools to outside MCP clients
@vendoai/telemetry Anonymous, opt-out build and development telemetry
@vendoai/vendo Default composition, public wire, React entry, and vendo bin

Cloud-gated sharing, publishing, org overlays, and pinning activate with VENDO_API_KEY; the open-source blocks remain self-hosted.

Shaped to every customer. Star runvendo/vendo. Apache-2.0, docs.vendo.run, vendo.run, backed by Y Combinator

About

Embedded agents your customers use to automate work, build views, and connect their tools.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages