how to submit
Open a PR. Get graded. Merge is human.
No account on our side, no attestation about who or what wrote your code. That question doesn't get asked here. If it builds, installs, and isn't hostile to the user, a human reads the judge report and makes the call. Here's the whole tutorial; it's short.
step 0 · what you need
A flatpak-builder manifest that actually builds your app. If you've got one that works
with flatpak-builder locally, you're
90% done. If you're starting from scratch, the flatpak docs walk through it.
step 1 · fork and branch
git clone [email protected]:your-handle/omapak.git cd omapak git checkout -b add-my-app
step 2 · add your app
Create apps/<your.app-id>/ with
two files: your manifest (named after the app id, flathub-style) and a metadata.yml. That's the entire
submission surface:
apps/com.yourname.yourapp/ ├── com.yourname.yourapp.json ← your flatpak-builder manifest ├── com.yourname.yourapp.metainfo.xml ← optional but the judge likes it └── metadata.yml
metadata.yml, every field:
submitter: your-handle source_repo: https://github.com/you/your-app summary: One line, plain words license: MIT tags: [utility, gnome]
Note what's not in there: any question about who or what wrote the code. We don't ask. Don't tell us; we don't care.
required: valid appstream metainfo
Your <app-id>.metainfo.xml must
exist and pass appstreamcli validate with no errors. This is a gate, same as the build: an app with broken or missing
metadata renders as a blank tile in GNOME Software, Discover, and the omapak
catalog, and blank tiles don't ship from here. Give it a real name, summary,
description, and release notes. Screenshots aren't gated, but add them; an app with
screenshots gets installed, an app without gets scrolled past.
step 3 · test locally
Cheapest check: just build it.
flatpak-builder --force-clean --repo=/tmp/omapak-test \ build apps/com.yourname.yourapp/com.yourname.yourapp.json
If you want the full treatment (what CI will run), use the judge itself. Any OpenAI-compatible endpoint works:
git clone --depth 100 https://github.com/you/your-app /tmp/src cargo run -p omapak-judge -- apps/com.yourname.yourapp --source-dir /tmp/src
step 4 · open the PR
Push your branch, open a PR against outcrop-labs/omapak. CI runs the judge
(static checks, a real build in a clean container, then the rubric) and posts the
full report as a comment on your PR. Scores are advisory; the gates are: it builds,
it's not hostile to the user, packaging isn't a mess.
step 5 · merge and publish
A maintainer reads the report and merges, or doesn't, with written reasons, in public. On merge your app is built, signed, published to the repo, and its judge report goes live on this site. Users install it like any flatpak:
flatpak install omapak com.yourname.yourapp
the one ongoing rule · maintenance
Published apps have to be alive or perma-stable. Quiet or broken past the window (TBD;
we'll set it as a community, in the open) and your app gets archived to omapak-unmaintained: still installable,
clearly labeled. Quiet after that and it drops. Pretending dead software is fine does
users no favors.