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 git@github.com: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.

Omapak · every flatpak, every distro normal people don't give a shit how it was built. neither do we.