Files
ProLibertateGames/docs/README.md
adrianoftyrielandPaperclip fad4778ad8
Build and Release APK / Build APK and publish release (push) Canceled after 0s
Bootstrap Pilgrims of Katan: rebrand, Gitea CI and OTA
Import of ProLibertateGames (upstream main, GPL-3.0) rebranded for
Wallacenet and repointed at git.wallacenet.ca.

- Identity: applicationId ca.wallacenet.pilgrimsofkatan (+ .dev for the dev
  channel), launcher names "Pilgrims of Katan" / "Pilgrims of Katan DEV",
  neutral hexagon branding replacing the Wallace tartan. Uncial Antiqua keeps
  its OFL licence, and the GPL-3.0 LICENSE plus upstream attribution stay.
- OTA: Updater.kt now reads this repo's own Gitea releases
  (/api/v1/repos/devadmin/PilgrimsOfKatan/releases...) and BuildConfig.
  OTA_ENABLED is on; Gitea answers the same JSON shape the code already parsed.
- Build numbers: versionCode = CI run number + plgVersionRunOffset (1000),
  with the tag and versionName derived from the same figure. The offset is
  permanent, because Gitea Actions restarts run numbers at 1 and a reset would
  otherwise make Android reject the next build as a downgrade.
- CI: ci.yml publishes a dev prerelease from dev, release.yml a production
  release from main, both through scripts/publish-release.sh (Gitea REST API,
  runnable by hand until an Actions runner is registered).
- Docs: docs/CI.md records the channel, numbering and runner decisions;
  docs/README.md seeds the per-game RULES-* conventions; CLAUDE.md carries the
  agent ground rules.

Verified: ./gradlew assembleDebug and testDebugUnitTest green on JDK 17 /
compileSdk 34, both variants stamped, installing side by side under the new
identity.

Co-Authored-By: Paperclip <[email protected]>
2026-10-13 22:03:27 +00:00

1.8 KiB

docs/

Conventions for this repo's documentation. Seeded at bootstrap (WALA-118).

Per-game rules: RULES-<game>.md

Every game in GameCatalog gets one file describing how this app implements it — not a generic rule dump. The rules code (app/src/main/java/org/prolibertate/games/game/<game>/) is the source of truth; the doc exists so a human or an agent can check intent against behaviour without reading Kotlin first.

Naming: the catalogue id, lowercase, e.g. crazy8s → RULES-crazy8s.md.

Game (catalogue id) Rules doc
Backgammon RULES-backgammon.md
Checkers RULES-checkers.md
Chess RULES-chess.md
Crazy 8s RULES-crazy8s.md
Cribbage RULES-cribbage.md
Euchre RULES-euchre.md
FreeCell — (TODO)
Golf RULES-golf.md
Hearts — (TODO)
Kaiser RULES-kaiser.md
Klondike — (TODO)
Mastermind RULES-mastermind.md
Morris RULES-morris.md
Peg solitaire — (TODO)
Pirates RULES-pirates.md
President RULES-president.md
Pyramid — (TODO)
Sequence RULES-sequence.md
Spider — (TODO)
Ta Yü RULES-tayu.md
Wizard RULES-wizard.md
Yahtzee — (TODO)

Other docs

  • CI.md — build, CI, releases, OTA decisions.
  • licenses/ — third-party licences that must travel with the app (Uncial Antiqua under the SIL OFL; the app itself is GPL-3.0, see /LICENSE).
  • Repo-level agent notes live in CLAUDE.md at the root.