Skip to content

Build with Claude Code or Codex

If you already build with a coding assistant, you can keep doing that for Maypop. Your assistant writes the app in a normal repository on your machine; the CLI publishes it. Two things make it work well:

  • The maypop-app skill teaches the assistant what a Maypop app is, how the SDK works, and how to publish.
  • The SDK’s local host lets it run and test the app — accounts, data, files — with your normal dev server.

With the skills installer, for Claude Code, Codex, or both:

Terminal window
npx skills add basilica-digital/maypop-skill \
--skill maypop-app \
--global \
--agent claude-code \
--agent codex
  • Leave out --global to install it for the current project only.
  • Update later with npx skills update maypop-app --global.
  • In Claude Code, /maypop-app invokes it; in Codex, $maypop-app. Both also pick it up on their own when you mention Maypop.

The skill is open source: basilica-digital/maypop-skill. To pin a release instead, clone a tag into ~/.claude/skills/maypop-app (Claude Code) or ~/.agents/skills/maypop-app (Codex).

Follow Install the CLI, then:

Terminal window
maypop auth

Start in an empty folder and describe what you want:

Use the maypop-app skill. Build a Vite + React app for Maypop: a shared reading list for my book club. Anyone can add a book, everyone can vote, and the list sorts by votes. Use the Maypop local host so I can try it with pnpm dev.

A good assistant will:

  1. Create the project with @basilica-digital/maypop-sdk and add the local dev host to vite.config.ts.
  2. Store books and votes in the KV store, one key per vote.
  3. Wait for maypop.ready() and disable voting when maypop.mode is read-only.
  4. Leave login to Maypop instead of building a sign-in page.

Run pnpm dev and try it. Data persists in .maypop/local/.

Ask the assistant to set up .maypop/local/dev.json to try the app as an anonymous visitor, a reader, and a second member — see Simulate visitors and teammates. For AI features, switch to hybrid mode so maypop.ai uses your real account.

Ask the assistant to publish, or run it yourself:

Terminal window
maypop init --name "Book club" --description "Suggest books and vote on the next read."
git add . && git commit -m "Book club"
maypop publish

Then edit maypop.toml for the category and thumbnail and run maypop app apply. The app is private until you share it.

init, app apply, ai and publish change things on Maypop or spend credits, so the skill tells the assistant to ask you first.

Point the assistant at a repository and ask:

Use the maypop-app skill. Can this project run on Maypop? What would have to change?

It sorts the project into what publishes as-is, what moves to the SDK (accounts, database, uploads, AI calls), and what needs a server you keep hosting elsewhere — and explains before changing anything.

maypop reference import <app-id> downloads the published source of an app you can open into .maypop/local/references/, so the assistant can borrow a layout or a feature from it. See Command reference.

Claude Code can also talk to your Maypop account over MCP — to share the app, post in a group, or start a Studio build:

Terminal window
claude mcp add --transport http maypop https://api.app.maypop.ai/mcp

See Use Maypop from your AI assistant.

  • Ask for a cover image: the assistant can make one with maypop ai image and set [app].thumbnail.
  • Have it check maypop.signInRequired so anonymous visitors see Sign in to save instead of a dead button.
  • For private per-person data, ask for a saved-data policy and test it with strictStorage.
  • Never let it put tokens in maypop.toml, the code, or a Git remote.