State plainly what we accept: Electron and Tauri apps, closed-source apps, any upstream .deb/.rpm/tarball/zip/installer. Point packagers at the registry's own worked examples — cc-switch for Tauri (WEBKIT_DISABLE_DMABUF_RENDERER, the Ayatana tray stack) and Enpass for adapting host-dependent behavior from outside the payload. Add two requirements that were practice but not written down: a local build + `flatpak install` + launch before opening a PR, and optional permissions left ungranted, documented instead as a `flatpak override` the user chooses to run. Several rules were stricter on paper than in the registry, which would have made a reviewer reject packages we already ship: - "never builds from source" — six apps build dependency libraries (Ayatana, zypak, kerberos) from pinned source. The *app* is never source-built; say that. - `--talk-name=org.freedesktop.Flatpak` was a flat auto-reject, but Enpass ships it, declared in policy.dangerous_permissions. Declared + justified now routes to NEEDS-HUMAN; undeclared still auto-rejects. - "no behavior change" would condemn Enpass's PATH/LD_PRELOAD shims and cc-switch's wrapper env. Draw the line at patching/recompiling the payload; external adaptation keeps Tier 2 and is reviewed as code. - AppImage was "flag and ask" in the discovery docs, "not accepted" everywhere else. It is not accepted. Also sharpen three descriptions of our own behavior: - The "one runtime" promise is about *versions*, not families: every app targets the current major, so the catalog never splits across GNOME 49 and 50 and no user carries an old major for one straggler app. Written up as a listing requirement, and as a flag-and-ask when an app can't run on the current major. - CI does not bump runtime majors — update-check only re-pins extra-data. Bumps are a maintainer-initiated, AI-led batch update across the whole catalog. - pr-checks does build fork PRs, once a maintainer approves the run; and the site self-hosts recompressed webp screenshots for CDN delivery rather than hotlinking them. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2.3 KiB
Yet another Flatpak hub
FlatPark is a Flatpak hub for apps that ship as a definitive download, built to be driven by AI agents.
Goals
- AI-driven by design. Onboarding, review, publishing, upgrading, and cleanup are all meant to be driven by AI agents. Leaning on agents to do this work efficiently is a primary goal, not an afterthought.
- One runtime version, always the latest. Every app targets the current major of its runtime — never one app on GNOME 49 and another on 50. Old majors are dead weight on your disk, so the whole catalog moves forward together.
- extra-data only, no build hosting. FlatPark hosts only extra-data apps: it downloads official releases and repackages them — it never builds the app from source. (Supporting libraries the runtime lacks may be built from pinned source; the app itself is always the vendor's own binary.) That keeps installing and updating the apps you need in one place, while Flatpak keeps them sandboxed and out of your home directory.
- Open to vibe-coded apps, with guardrails. Apps built with AI ("vibe coding") are welcome, under clear rules enforced by AI review that weighs development history and app quality — and with an explicit de-listing process.
Install
flatpak --user remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak --user install flatpark <app-id>
--user installs into your home (no admin); drop it from both commands for a
system-wide install. Browse the catalog at https://flatpark.org.
Add an app
Onboarding is meant to run through an AI agent. Open this repo in your agent (e.g. Claude Code) and prompt it:
I want to publish <app or upstream URL> to FlatPark. Read
CONTRIBUTING.mdand the existing PRs, then write and validate the manifest underregistry/<app-id>/.
It writes the flatpark.yml descriptor and Flatpak manifest, validates and
test-builds them, and opens a PR. If it can't get there from the rules and the
existing PRs, open an issue — letting an agent submit, test, and PR end-to-end
is the goal.
License
FlatPark's own code is MIT. It does not license the packaged applications themselves — those remain their vendors' property and are fetched from official sources at install time.