chore(scaffold): M0 — Gradle + Compose + Hilt skeleton with CI #2
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/m0-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
M0 — Repo scaffold
Stands up the Android-app repo per
docs/android/PLAN.mdM0: a buildable Kotlin + Jetpack Compose (Material 3) single-activity skeleton wired for Hilt, ready for the M1–M4 functional Kotlin pass. All v1 §8 website prerequisites are already landed, so the app pass is unblocked.What's here
minSdk 29,compile/target 35;applicationId com.runicgateway.app(PLAN §13, pending the domain).gradle/libs.versions.toml) pins the full planned stack — Compose, Hilt, Retrofit/OkHttp +kotlinx.serialization, DataStore, security-crypto, Coil, Navigation — so M1–M4 reference libraries by alias without re-pinning.RunicGatewayApp(@HiltAndroidApp) +MainActivity(Compose) +ui/theme/*. Strings externalized from day one (§2); adaptive launcher icon; backup/data-extraction rules exclude the token store + DataStore so no session material leaves the device..gitea/workflows/pr-checks.ymlgates PRs intomainwith./gradlew lint test assembleDebug(JDK 17 + Android SDK on the self-hosted runner; bare-imageapt-getstep per PLAN §12). Debug builds auto-sign, so the gate needs no secrets. A placeholder JVM unit test gives thetestgate something to run..gitattributesforces LF ongradlewso the wrapper runs on the Linux runner.Verification
Local Gradle configures the
:appmodule and resolves all six plugins cleanly (gradle help/gradle projectssucceed). A fullassembleDebugneeds the Android SDK and runs in CI — this PR's own PR-checks run is the first end-to-end validation.Out of scope (later milestones)
No functional screens/networking yet (M1+), no release signing / Gitea-release job (M6), no push (M7).
AI-assisted contribution disclosure: authored with Claude Code (Claude Opus). AI-authored commit carries a
Co-Authored-By: Claudetrailer. I've reviewed the scaffold for correctness.🤖 Generated with Claude Code