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 = truetags = ["social"]thumbnail = "assets/thumbnail.png"
[build]framework = "vite"[app] — the listing
Section titled “[app] — the listing”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:
maypop info[build] — the static build
Section titled “[build] — the static build”| 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.
Profiles
Section titled “Profiles”One account on the production service needs no setup: maypop auth creates
a default profile. Profiles help when you use several accounts:
maypop --profile work authmaypop profile listmaypop profile set-default workPick 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.