vibes.diy/docs Home Discord
creator docs · works with

Make vibes in Muse

Connect Muse to Vibes DIY once through the CLI on its own machine, then make a new app, change one you have, and work with its data from the chat you already use.

What you can build

Anything you can build on vibes.diy, from the conversation you are already having. Ask Muse to make a vibe, and it writes the app, creates it on your account and pushes it; ask it to change one, and it pushes the change; ask it what's in an app, and it reads the records. Your vibes stay ordinary vibes: they open at their own link, anyone you share them with can use them, and you can keep building them on vibes.diy or from the CLI.

How it connects

The Vibes DIY CLI, running on Muse's own machine. There is no directory listing or developer-mode connection for Muse: everything runs through npx vibes-diy, version 14.3.188 or later. Sign in once with npx vibes-diy login. The CLI makes a device key and a certificate signing request, starts a local callback server, and opens https://vibes.diy/settings/csr-to-cert in your browser with a return address at http://localhost:<port>/cert. Approve it there, and the CLI keeps the issued device certificate in ~/.fireproof/keybag/<id>.json. The callback waits an hour by default, as long as the signing request stays valid (--timeout changes that), and npx vibes-diy login --force re-registers an enrolled device. From then on every call runs as you: Muse can do what your account can do by hand, and nothing more. Confirm it with npx vibes-diy list, which prints your vibes as your-handle/app-slug.

What it can read and do

Muse can read Muse can do
Your list of apps, each app's databases, and what an app keeps — document ids and field names Create a new app from source it writes, push a change to an app, live by default or as a draft with --mode dev, and publish a draft to the live link
Any document by id, and queries by field, key, prefix or range Edit an existing app, pull an app's source, and put and delete documents, confirming before a delete

Wherever Muse needs to know which app you mean, paste the app's link straight from your browser or give its your-handle/app-slug. Muse builds with npx vibes-diy generate "<prompt>" --vibe your-handle/app-slug; --app-slug picks the slug, --handle publishes under one of your bound handles for a single call, and --private publishes to you and the people you approve. The server builds and releases the app, and the session stays open for follow-ups.

Starter prompts

Paste one into Muse once the CLI is signed in:

  • Make a vibe for my community garden with a plot map, a watering rota for this month, and a button to swap a shift.
  • Make a vibe that keeps the scores for our Thursday trivia team and posts a season leaderboard every Friday morning.
  • Make a vibe for our street's tool library where each neighbour lists what they lend and borrowers leave a thumbs up when it comes back.

Good to know

  • A new app is live the moment it is created, and so is a push. The first version goes straight to the live link, and npx vibes-diy push deploys to it too, so ask Muse to confirm with you before it pushes a change. For a change you want to look at first, push with --mode dev to build a draft, then npx vibes-diy publish your-handle/app-slug promotes it to the live link.
  • A new app is usually reachable by anyone from the moment it is created, with the app's own access rules governing what visitors may do with its records. For an app only you and the people you approve can open, generate it with --private, or deploy it with npx vibes-diy push --private from the CLI.
  • Behind a proxy? Version 14.3.188 and later honour https_proxy or HTTPS_PROXY (then all_proxy or ALL_PROXY) for the CLI's secure WebSocket connection, and NO_PROXY exempts a host. When a connection fails, run npx vibes-diy doctor: it reports the version, keybag path, enrolled state, fingerprint, certificate expiry, API and WebSocket URLs, the proxy used, and whether the handshake and sign-in succeeded.
  • Approving from another machine? The login callback needs a browser on the same machine as the CLI. From any other browser the certificate is still issued, and the certificate page's copy buttons finish the enrollment by hand.
  • Prefer an MCP agent? npx vibes-diy mcp runs the same kind of server locally on the device you signed in on, over stdio, for any MCP agent. The hosted connector at https://mcp.vibes.diy/mcp is the option for assistants that connect over the web.

Go deeper