stardroid-v1/.claude/skills/build/SKILL.md
Build, test, deploy, and manage data generation for Sky Map. Trigger on "build the app", "run tests", "deploy to device", "generate data", "run lint", or similar build/dev workflow requests.
npx skillsauth add sky-map-team/stardroid Sky Map Build AssistantInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Always set before building:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export ANDROID_HOME=~/Library/Android/sdk
local.properties must exist in the repo root with sdk.dir=<path to Android SDK>.
You will also need a no-checkin.properties in the app folder. If using a new
git worktree you should attempt to copy these files out of the current main folder.
no-checkin.properties for release builds.Always specify the flavor. Never use bare assembleDebug.
Prefer to use the shell scripts:
# Full rebuild including data generation
./build_skymap.sh # GMS including data generation
./build_skymap.sh --fdroid # F-Droid
./build_skymap.sh --quick # Skip data regeneration
but you can also use gradlew directly:
# Debug APK
./gradlew :app:assembleGmsDebug
./gradlew :app:assembleFdroidDebug
# Release bundle
./gradlew :app:bundleGmsRelease
Prefer the --quick option unless you are adding/removing strings.
# All unit tests
./gradlew test
# App module unit tests only
./gradlew app:test
# Instrumented tests (requires connected device/emulator)
./gradlew app:connectedAndroidTest
./gradlew lint
Run when modifying star catalogs or astronomical data:
cd tools
./generate.sh # Creates ASCII protocol buffers
./binary.sh # Converts to binary in app/src/main/assets/
./deploy.sh # Deploy to connected device or emulator
./deploy.sh -p # Deploy to a physical device
./deploy.sh -d # Deploy a debug build
./undeploy.sh # Uninstall the app
INSTALL_FAILED_UPDATE_INCOMPATIBLE: uninstall the Play Store version first — adb uninstall com.google.android.stardroidadb kill-server && adb start-serverdocumentation
Fully automated release note generator for Sky Map. Just provide the last tag.
data-ai
Fetches Buy Me a Coffee supporters and updates the app/src/main/res/values/notranslate-sponsors.xml file. Trigger this when asked to "sync sponsors", "update donors", or "refresh credits".
data-ai
Fetches GitHub contributors for Sky Map and updates the app/src/main/res/values/notranslate-contributors.xml file. Trigger this when asked to "sync contributors", "update contributors", or "refresh credits".
data-ai
--- name: release-splash description: Update the Sky Map splash screen for a new planetary release. Composites a portrait image onto the base splash with a branded strip. Use when asked to "update splash", "add splash for X release", or "create release branding". ARGUMENTS: "<ReleaseName> <path/to/source.png> [crop x1,y1,x2,y2]" disable-model-invocation: true --- # Sky Map Release Splash Screen Update the splash screen assets for a new Sky Map release. ## Arguments `$ARGUMENTS` should be: `<