| 1 | --- |
| 2 | title: The phone app |
| 3 | description: g1t on Android and iOS, built with Expo. Chat, Code and Customize on your phone, signed in with g1t's own OAuth. Not in the stores yet; this is how it works and how to build it. |
| 4 | --- |
| 5 | |
| 6 | The phone app is g1t on Android and iOS, with its own screens for what |
| 7 | you do away from a desk: answering in Chat, reviewing what agents made in |
| 8 | Code, and seeing the skills, connectors and plugins your workspace can |
| 9 | use in Customize. Everything else opens on the site, in your phone's |
| 10 | browser. |
| 11 | |
| 12 | It is not in Google Play or the App Store yet. Android comes first. Until |
| 13 | then, it is built from `apps/mobile` in |
| 14 | [g1t's repository](https://g1t.sh/flagon-io/g1t), as |
| 15 | [For operators](#for-operators-building-and-releasing) says. |
| 16 | |
| 17 | | Tab | What is on it | |
| 18 | | --- | --- | |
| 19 | | **Chat** | The channels you are in and your direct messages, with unread counts. A conversation shows its messages and agents' cards, live while it is open, and you write back from the box at the bottom. | |
| 20 | | **Code** | The workspace's repositories, each with its pull requests and issues, open or closed. A pull request shows its description, checks, conversation and changed files, and you can approve it or ask for changes. An issue shows the pull requests made for it, and you can comment. | |
| 21 | | **Customize** | **Skills** (what agents know how to do), **Connectors** (the tools they can reach, the Marketplace's integrations today) and **Plugins** (what adds pages and tools, the Marketplace's extensions today). Each opens where it is set up on the site. | |
| 22 | | **You** | Your workspaces, to switch between them, how you signed in, and **Sign out**. | |
| 23 | |
| 24 | ## Signing in |
| 25 | |
| 26 | **Sign in with g1t** opens g1t.sh in your phone's browser, where you sign |
| 27 | in as usual (with your password, GitHub, two-factor) and approve the app. |
| 28 | The browser sends you back to the app, signed in. The app never sees your |
| 29 | password. This is [OAuth](/guides/authentication/#signing-in-with-oauth): |
| 30 | the app is listed as **g1t for Android** or **g1t for iOS** in |
| 31 | [Settings → Connected applications](https://g1t.sh/settings/applications), |
| 32 | where **Change access** narrows what it can do and **Sign out** ends it at |
| 33 | once. |
| 34 | |
| 35 | The approval page lists what the app asks for: reading your account, |
| 36 | workspaces, repositories, checks and workflows, reading and writing |
| 37 | issues, pull requests and notifications, recalling memory, reading |
| 38 | artifacts, and putting agents to work. Untick what you would rather it |
| 39 | could not do. |
| 40 | |
| 41 | **Use an access token** signs in with a |
| 42 | [personal access token](/guides/authentication/#access-tokens) you paste |
| 43 | in instead. The token stays on your phone, in its keystore. |
| 44 | |
| 45 | ### Chat and the app's sign-in |
| 46 | |
| 47 | Chat is served by the site, and the site takes only a browser's session |
| 48 | or a token with **Use the website as you** turned on. The app's OAuth |
| 49 | sign-in is neither yet, so with it Code and Customize work and Chat says |
| 50 | it needs another sign-in. Until the app's sign-in opens Chat, sign in |
| 51 | with **Use an access token** and a token with |
| 52 | [Use the website as you](/guides/authentication/#use-a-token-on-the-website) |
| 53 | turned on. Keep that token as safe as your password: on the website it can |
| 54 | do anything you can. |
| 55 | |
| 56 | ## Links |
| 57 | |
| 58 | A `g1t://` link opens the app, as it opens [the desktop app](/guides/desktop/#links): |
| 59 | `g1t://acme/-/chat/dm/chn_1` is that conversation. The app shows the |
| 60 | pages it has screens for: |
| 61 | |
| 62 | | Link | Opens | |
| 63 | | --- | --- | |
| 64 | | `g1t://<workspace>/-/chat`, `…/-/chat/<channel>`, `…/-/chat/dm/<id>` | Chat, or the conversation, in that workspace | |
| 65 | | `g1t://<owner>/<repo>` | The repository | |
| 66 | | `g1t://<owner>/<repo>/pull/<number>`, `…/issues/<number>` | The pull request or issue | |
| 67 | | `g1t://<workspace>/-/marketplace…`, `…/-/agents/skills` | Customize | |
| 68 | |
| 69 | Any other page opens on the site, in the browser. |
| 70 | |
| 71 | ## Your own g1t |
| 72 | |
| 73 | If you [run g1t yourself](/guides/self-hosting/), choose **Server** on the |
| 74 | sign-in screen and enter your site's address, such as |
| 75 | `https://g1t.example.com`. The app takes the API to be `api.` in front of |
| 76 | it (`https://api.g1t.example.com`); if yours is elsewhere, enter it under |
| 77 | **API**. **Use g1t.sh** goes back. |
| 78 | |
| 79 | ## What's not there yet |
| 80 | |
| 81 | - **Store releases.** Google Play first, then the App Store. |
| 82 | - **Notifications on your phone.** g1t sends browser and desktop |
| 83 | notifications today; push to phones needs g1t to send through Firebase |
| 84 | and Apple, which is coming. |
| 85 | - **Chat with the app's own sign-in**, as [above](#chat-and-the-apps-sign-in). |
| 86 | - **Home, Notifications, Agents and Artifacts** as tabs of their own. |
| 87 | Their pages open on the site meanwhile. |
| 88 | - **Formatting.** Messages, descriptions and comments show their Markdown |
| 89 | as written. |
| 90 | - **Threads.** A message's replies are counted, and read on the site. |
| 91 | - **https links.** `g1t.sh` addresses open the site in the browser, not |
| 92 | the app, until g1t.sh publishes the files Android and iOS check first. |
| 93 | |
| 94 | ## For operators: building and releasing |
| 95 | |
| 96 | The app lives in `apps/mobile`: [Expo](https://expo.dev) with Expo |
| 97 | Router, in TypeScript, sharing types with the site through |
| 98 | `@g1t/contracts`. It builds with EAS Build. `apps/mobile/README.md` has |
| 99 | the commands for running it on a phone and the first-time setup. |
| 100 | |
| 101 | | Build | Command | What it makes | |
| 102 | | --- | --- | --- | |
| 103 | | Development | `eas build --profile development --platform android` | An APK of `g1t (dev)` (`sh.g1t.app.dev`) that loads its code from your computer. | |
| 104 | | Preview | `npm run build:android:apk -w @g1t/mobile` | An APK of `g1t (beta)` (`sh.g1t.app.preview`) to install on testers' phones. | |
| 105 | | Production | `npm run build:android -w @g1t/mobile` | An Android App Bundle of `g1t` (`sh.g1t.app`) for Google Play. | |
| 106 | |
| 107 | The three install side by side. `eas submit --platform android` sends |
| 108 | the latest production build to Google Play's internal testing track as a |
| 109 | draft. |