Building with AI Agents
Vibe is designed so AI agents can develop and ship a complete app end-to-end — scaffold the project, write the code, build it, create the app, deploy it, and iterate — with exactly one human action in the entire workflow: clicking Approve in the browser during vibe login.
That's it. From a fresh machine to a live URL, the agent handles everything else: installing Node, installing the CLI, scaffolding the framework, wiring the SDK, building, creating the app, deploying, and iterating on subsequent changes.
The agent autonomy contract#
| Step | Who does it |
|---|---|
| Install Node.js / npm | Agent (via nvm, no sudo) |
Install @facilio/vibe-cli and @facilio/vibe-sdk | Agent |
| Scaffold the project (any framework) | Agent |
vibe login — one-time OAuth approval | User clicks "Approve" in browser once |
vibe app create --name "..." (non-interactive) | Agent |
| Write the source code (HTML/JS/React/Vue/…) | Agent |
Discover connectionSlug / actionSlug / payload shapes via the MCP catalog | Agent |
npm run build && vibe deploy | Agent |
| Iterate ("change the button color", "add a section") | Agent — no further login / app create needed |
After vibe login, the agent reports the live URL to the user and is ready to take further requests.
The llms.txt reference#
Hand this URL to any AI agent and it has the complete build-and-deploy guide for Vibe:
https://facilio.com/developers/docs/vibe/llms.txtIt covers:
- The four-step workflow (login → app create → build → deploy)
- Hard constraints (
index.htmlin the build output root, static-only, browser-cookie auth,executeActionis the only data path) - Node bootstrap via
nvmwith nosudo - CLI install with fallback to
npxwhen global install fails - SDK setup for both bundlers and plain HTML
- The
getCurrentUser()→vibe.login()gating pattern - The
executeAction(connectionSlug, actionSlug, payload)data path and the MCP catalog as source of truth - End-to-end React + Vite example
- Minimal vanilla-HTML example
- Pre-deploy checklist
Open llms.txt — the full document.
One-prompt recipes#
Claude (Claude Code, Claude.ai, Claude API)#
Read https://facilio.com/developers/docs/vibe/llms.txt
Build me a Facilio Vibe dashboard that lists my assets grouped by site.Use React + Vite. Wire SDK auth (getCurrentUser → login fallback),call vibe.executeAction('facilio-cmms', 'list-assets'), and group theresult by siteId. When done, run `npm run build && vibe deploy` andprint the live URL.
I'll click "Approve" in the browser when vibe login opens it — that'sthe only thing I'll do.For ongoing work, create a Claude Project and add https://facilio.com/developers/docs/vibe/llms.txt as a knowledge source. Every conversation in that project has Vibe context built in.
ChatGPT (web, GPT-4 / GPT-5, Custom GPTs)#
Read https://facilio.com/developers/docs/vibe/llms.txt
Build a Facilio Vibe app: a vendor portal showing open workorders forthe signed-in user. Use plain HTML + the SDK from CDN — no bundler.
Ship it: write index.html and app.js into a dist/ folder, writevibe.json, run `vibe login`, then `vibe app create --name "Vendor Portal"`,then `vibe deploy`. Print the live URL when done.You can also create a Custom GPT with the URL added to its configuration so every conversation has SDK context.
Cursor / VS Code (any MCP-aware IDE)#
@url https://facilio.com/developers/docs/vibe/llms.txt
Add a new Vibe app to my workspace: a one-page tool that lets atechnician check in/out of a workorder. Use the MCP catalog athttps://mcp.facilio.com/mcp to discover the right action slugs.Scaffold with Vite + React, wire the SDK, build, and deploy.Or drop llms.txt into your project root — Cursor automatically includes it as context.
Lovable#
Read https://facilio.com/developers/docs/vibe/llms.txt
Build a Facilio Vibe dashboard widget showing a bar chart ofwork orders grouped by status. Use Vue 3 + Vite. Follow the SDKpatterns from the documentation — the app runs at its ownsubdomain and uses browser-cookie auth.Discovering Facilio actions via MCP#
Agents shouldn't invent connectionSlug / actionSlug strings. The authoritative catalog lives at:
https://mcp.facilio.com/mcpAny MCP-aware client (Claude Desktop, Claude Code, Cursor, ChatGPT with MCP, custom agents) can connect and discover:
- Every available connection (e.g.
facilio-cmms) - Every action under each connection (e.g.
list-assets,create-workorder) - The input schema for the action's payload
- The response schema so the agent knows how to parse the result
Agent workflow:
- User asks for "a dashboard showing my assets."
- Agent queries the MCP server, finds
facilio-cmms→list-assets. - Agent reads the action's input/output schema.
- Agent writes
vibe.executeAction('facilio-cmms', 'list-assets', {...})with the correct payload. - Agent parses the response using the documented shape.
This is why Vibe + MCP works for agents: there's a deterministic source of truth for both what's available and how to call it.
Tips for better results#
- Always include the llms.txt URL —
https://facilio.com/developers/docs/vibe/llms.txt. - Name the framework you want — "React + Vite", "plain HTML", "Vue 3", etc. The bundler / build output is the most error-prone step.
- Be specific about the data — "list assets grouped by site" beats "show me data". The agent can then resolve the right MCP action.
- Let the agent run
vibe loginitself, and warn the user once: "A browser tab will open — click Approve to finish signing in. That's the only thing I need from you." - For iteration prompts, agents only need to re-run
npm run build && vibe deploy. No moreloginorapp create.
Reference#
- Overview — what Vibe is and when to use it.
- Getting Started — full walkthrough with code.
- CLI Reference — every command, every flag.
- SDK Reference — full SDK API surface.
- llms.txt — the agent build-and-deploy guide. Hand this URL to any AI agent.
- Facilio MCP server — the authoritative connection + action catalog.