Auto-commit after successful build: update app gameplay/UI, improve build setup, update docs/config

Changed files:\nREADME.md
app/build.gradle.kts
app/src/main/java/com/kawomi/githugandroid/GameModels.kt
app/src/main/java/com/kawomi/githugandroid/GitHugApp.kt
app/src/main/java/com/kawomi/githugandroid/GitRuntime.kt
This commit is contained in:
Joe Tretter
2026-04-22 15:36:34 -05:00
parent 44bd87d536
commit 849e9b6052
5 changed files with 300 additions and 56 deletions

View File

@@ -9,7 +9,7 @@ This repository contains a starter Android app with:
- Kotlin + Jetpack Compose project scaffolding
- CLI-first gameplay shell
- Optional hideable visualization panel
- In-memory Git sandbox engine for early commands
- A native-Git runtime scaffold with in-memory fallback while no bundled Git binary is present
- First playable GitHug-inspired levels: `init`, `add`, and `commit`
## Product direction
@@ -75,9 +75,28 @@ It will also automatically bump the Android app version in `app/build.gradle.kts
- incrementing `versionCode` by 1
- incrementing the patch component of `versionName` (for example `0.1.0``0.1.1`)
## Native Git prototype status
The app now includes a **filesystem-backed runtime scaffold** for moving from the custom Kotlin Git emulator toward a real native Git backend.
Current prototype behavior:
- the app prepares per-level sandbox directories in app-private storage
- terminal commands are routed through a runtime abstraction instead of directly calling the old in-memory engine
- if a bundled native Git binary is available at runtime, Git commands are executed against a real repository sandbox
- if no bundled native Git binary is present yet, the app automatically falls back to the existing in-memory sandbox so development can continue
Planned native Git packaging path:
- cross-compile Git for Android ABIs with the NDK
- bundle one binary payload per ABI
- extract the correct executable into app-private storage on first launch
- keep helper shell-like commands (`ls`, `pwd`, `cat`, `touch`, `mkdir`, `rm`, `echo`) implemented in Kotlin
## Next steps toward full GitHug parity
- Expand the Git sandbox to cover merge, rebase, stash, tags, remotes, reset, revert, cherry-pick, bisect, and more
- Replace the fallback in-memory Git engine with a packaged native Git binary
- Expand real repository-backed level validation beyond `init`, `add`, and `commit`
- Port all original levels and hints into structured content files
- Add richer validation rules and per-level explanations
- Add onboarding, accessibility polish, icons, tests, and Play Store assets