Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| The phone app's scaffolding, in apps/mobile: Expo SDK 57 with Expo Router, Android first, with Chat, Code and Customize. It signs in with g1t's own OAuth 2.1 (PKCE, a client id that encodes "g1t for Android" and g1t://oauth/callback, so nothing is registered), keeps the server and credentials in the phone's keystore, refreshes the 30-day token a minute early and shares the single-use refresh between requests. A personal access token is the other way in, and a self-hosted g1t the other server. | 1 | { |
| 2 | "cli": { | |
| 3 | "version": ">= 16.0.0", | |
| 4 | "appVersionSource": "remote" | |
| 5 | }, | |
| 6 | "build": { | |
| 7 | "base": { | |
| 8 | "node": "22.22.0" | |
| 9 | }, | |
| 10 | "development": { | |
| 11 | "extends": "base", | |
| 12 | "developmentClient": true, | |
| 13 | "distribution": "internal", | |
| 14 | "env": { "APP_VARIANT": "development" }, | |
| 15 | "android": { "buildType": "apk" } | |
| 16 | }, | |
| 17 | "preview": { | |
| 18 | "extends": "base", | |
| 19 | "distribution": "internal", | |
| 20 | "channel": "preview", | |
| 21 | "env": { "APP_VARIANT": "preview" }, | |
| 22 | "android": { "buildType": "apk" } | |
| 23 | }, | |
| 24 | "production": { | |
| 25 | "extends": "base", | |
| 26 | "channel": "production", | |
| 27 | "autoIncrement": true, | |
| 28 | "android": { "buildType": "app-bundle" } | |
| 29 | } | |
| 30 | }, | |
| 31 | "submit": { | |
| 32 | "production": { | |
| 33 | "android": { "track": "internal", "releaseStatus": "draft" } | |
| 34 | } | |
| 35 | } | |
| 36 | } |