App
| name | last commit | updated |
|---|---|---|
| AppStore/ | App Store screenshots, header and metadata (!52) | 15 hours ago |
| Globes/ | 3D solar system (phase 1) (!48) | 16 hours ago |
| Shared/ | v3: Live mission coverage (!40) | 1 day ago |
| Sources/ | Eclipse engine: IERS ΔT, contacts to 0.1 s, site time zone, precise location | 1 hour ago |
| UITests/ | Accessibility audit and fixes (!19) | 1 day ago |
| Vision/ | v3: Globes and Vision Pro (!39) | 1 day ago |
| Watch/ | Release 1.0.0 (!51) | 16 hours ago |
| Widgets/ | Release 1.0.0 (!51) | 16 hours ago |
| README.org | Release 1.0.0 (!51) | 16 hours ago |
| project.yml | Release 1.0.0 (!51) | 16 hours ago |
Moonrise app
The Xcode project is generated from project.yml and not committed.
brew install xcodegen
cd App && xcodegen generate
open Moonrise.xcodeproj
Simulator: an iOS 26+ runtime is required. Push registration needs a
signed build (team ZCNAX3VL9D); the APNs device token is logged under
subsystem sh.krz.moonrise.
Backend: both configurations use https://moonrise-server.audit-labs.workers.dev
(MOONRISE_API_URL in project.yml). For a local Worker, set it to
http://localhost:8787 and regenerate.
Release
scripts/release-ios.sh
Run from a clean main. It regenerates the project, archives the iPhone
app with its widgets and the Watch app, and uploads it to App Store
Connect, signed through the Apple ID in Xcode. The version is
MARKETING_VERSION in project.yml; the build number is
git rev-list --count HEAD, so each build maps to a commit.
MOONRISE_PUBLISH=0 exports the .ipa to .build/ios-release without
uploading. The visionOS app is a separate product and is not uploaded.