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-appskill 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.
1. Install the skill
Section titled “1. Install the skill”With the skills installer, for
Claude Code, Codex, or both:
npx skills add basilica-digital/maypop-skill \ --skill maypop-app \ --global \ --agent claude-code \ --agent codex- Leave out
--globalto install it for the current project only. - Update later with
npx skills update maypop-app --global. - In Claude Code,
/maypop-appinvokes 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).
2. Install the CLI and sign in
Section titled “2. Install the CLI and sign in”Follow Install the CLI, then:
maypop auth3. Ask for an app
Section titled “3. Ask for an app”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:
- Create the project with
@basilica-digital/maypop-sdkand add the local dev host tovite.config.ts. - Store books and votes in the KV store, one key per vote.
- Wait for
maypop.ready()and disable voting whenmaypop.modeis read-only. - Leave login to Maypop instead of building a sign-in page.
Run pnpm dev and try it. Data persists in .maypop/local/.
4. Test like a real audience
Section titled “4. Test like a real audience”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.
5. Publish
Section titled “5. Publish”Ask the assistant to publish, or run it yourself:
maypop init --name "Book club" --description "Suggest books and vote on the next read."git add . && git commit -m "Book club"maypop publishThen 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.
Bring an existing project
Section titled “Bring an existing project”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.
Learn from another app
Section titled “Learn from another app”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.
Also connect Maypop itself
Section titled “Also connect Maypop itself”Claude Code can also talk to your Maypop account over MCP — to share the app, post in a group, or start a Studio build:
claude mcp add --transport http maypop https://api.app.maypop.ai/mcpSee Use Maypop from your AI assistant.
- Ask for a cover image: the assistant can make one with
maypop ai imageand set[app].thumbnail. - Have it check
maypop.signInRequiredso anonymous visitors seeSign in to saveinstead 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.