Skip to content

maypop.toml and profiles

maypop init writes maypop.toml at the root of your repository. It has two independent tables:

[app]
name = "Plant swap"
description = "Trade cuttings and seeds with the people on your street."
visibility = "private"
link_access = "request"
allow_remixing = true
tags = ["social"]
thumbnail = "assets/thumbnail.png"
[build]
framework = "vite"

These fields describe the app on Maypop. Editing them changes nothing until you run maypop app apply, which sends only the fields that are present.

Field Values Meaning
name text The app’s name everywhere it appears.
description text One sentence, around 140 characters: what it does and for whom.
visibility private, unlisted, public Whether the app is listed. See Share an app.
link_access request, view, use What someone holding the link can do.
allow_remixing true, false Whether others may remix it into their own app.
tags one category id The first tag is the app’s category on Explore.
thumbnail path inside the repository Cover image, uploaded by app apply.

init starts private and unlisted apps at link_access = "request" and public apps at view. A public app cannot use request.

Categories: education, social, productivity, games, entertainment, design, music, family, travel, sports, fitness.

Thumbnails are a full-bleed 4:3 cover — 2048×1536 is a good source size. Keep one clear subject near the centre, since the same art is cropped to a square icon and to wide banners, and leave out text, logos and screenshots. maypop ai image can make one.

Check what Maypop currently has without changing it:

Terminal window
maypop info
Field Values Default
framework auto, vite, next, rsbuild, static detected by init
command argument list, e.g. ["pnpm", "run", "build"] the framework’s build script
output folder inside the repository dist/, out/ for Next.js, root for static
entry file inside the output index.html

command is a list of arguments, not a shell string. The output and entry must stay inside the repository.

One account on the production service needs no setup: maypop auth creates a default profile. Profiles help when you use several accounts:

Terminal window
maypop --profile work auth
maypop profile list
maypop profile set-default work

Pick a profile for one command with --profile NAME or MAYPOP_PROFILE. Each connected repository remembers its server, so publish, info and app apply find a matching credential on their own.

Environment overrides for a single run: MAYPOP_PROFILE, MAYPOP_TOKEN (an access token), and MAYPOP_CONFIG_DIR (where credentials are stored). Never put a token in maypop.toml or a Git remote — the repository’s credential helper reads your saved profile instead.