Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

runvendo/vendo

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,466 Commits
2,466 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.