diff --git a/AGENTS.md b/AGENTS.md index 6fcb158..0b8b021 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2475,6 +2475,9 @@ Rules: listing/review process; source and APK are ready. Same account/email blocker. - **Obtanium:** there is no store submission. Users add the latest Forgejo release URL (HTML source if needed) or the self-hosted F-Droid repo. +- **Ready-to-post text:** `distribution/SUBMISSION.md` has the F-Droid RFP and + IzzyOnDroid issue drafts. Posting still needs the owner's GitLab/Codeberg + account; never invent one. ### Deploy - **Web (auto)**: a systemd user timer (`skatespots-deploy.timer`) runs `scripts/auto-deploy.sh` every ~3 min. When `origin/main` changes it builds and runs `netlify deploy --prod --dir=dist`. It deploys **only committed code** (skips if tracked files are modified) and never mutates a dirty tree. **Doc/scripts-only commits are skipped** (matches `AGENTS.md`/`*.md`/`scripts/`/`cvm-server/`/`skills/`) — Netlify bills **15 credits per production deploy**, so don't spend them on non-site changes. One-time setup: `netlify login` + `netlify link`. Logs: `journalctl --user -u skatespots-deploy`. Manual run: `scripts/auto-deploy.sh`. diff --git a/distribution/SUBMISSION.md b/distribution/SUBMISSION.md new file mode 100644 index 0000000..37632a6 --- /dev/null +++ b/distribution/SUBMISSION.md @@ -0,0 +1,76 @@ +# External submission drafts + +These are ready-to-post texts for the two external stores. Neither can be +submitted anonymously: F-Droid uses GitLab, IzzyOnDroid uses Codeberg. An agent +must not create or verify an account on the owner's behalf. + +## F-Droid main (RFP + fdroiddata) + +F-Droid's submission queue: + + +Suggested title: + +> New app: SkateSpots (org.skatespots.app) + +Body: + +```markdown +App: SkateSpots +App ID: org.skatespots.app +License: AGPL-3.0-only +Source: https://git.skate-spots.org/skatespots/SkateSpots +Web: https://skate-spots.org +Releases: https://git.skate-spots.org/skatespots/SkateSpots/releases +Issue tracker: https://git.skate-spots.org/skatespots/SkateSpots/issues +Fastlane metadata: fastlane/metadata/android/en-US/ +Recipe draft: distribution/fdroiddata/org.skatespots.app.yml + +SkateSpots is a local-first skating map, crew/event tool and marketplace. +The Android project is generated by Capacitor and is intentionally not +committed; the recipe recreates it with `npm run android:init` then +`npm run android:sync` before Gradle. + +The developer APK is signed by SkateSpots. F-Droid main would sign with its own +key, so it would not update over the Zapstore/Obtanium install without an +uninstall and local-data loss. Please confirm that policy with the maintainer +before publishing. + +A self-hosted F-Droid third-party repo is already available at +https://fdroid.skate-spots.org/repo (repo fingerprint +88:B1:71:1C:24:02:89:FB:B2:A7:FC:C1:B3:1F:BB:9D:60:F5:7F:19:18:E0:3D:62:2D:35:F2:3D:E1:84:46:75). +``` + +After the RFP is accepted, open a `fdroiddata` merge request with +`distribution/fdroiddata/org.skatespots.app.yml`, after testing it with +`fdroid lint` and `fdroid build`. + +## IzzyOnDroid + +Preferred: file an issue at +. + +Suggested title: + +> Add SkateSpots (org.skatespots.app) + +Body: + +```markdown +App: SkateSpots +App ID: org.skatespots.app +License: AGPL-3.0-only +Source: https://git.skate-spots.org/skatespots/SkateSpots +Latest APK: https://git.skate-spots.org/skatespots/SkateSpots/releases/latest +Website: https://skate-spots.org +Category: Sports & Health +Summary: Local-first skate map, crews, events and marketplace + +SkateSpots is a local-first skating map for spots, crews, events and the +community marketplace. The APK is developer-signed and tagged Forgejo releases +carry the APK as a release asset. Fastlane metadata is in the source tree at +fastlane/metadata/android/en-US/. + +No analytics, no ads, no GitHub. The app is AGPL-3.0-only. Please keep the +developer signature so existing installs can update. +```