| name | last commit | updated |
|---|---|---|
| docs/ | Show the repository state repo show now reports (!59) | 1 month ago |
| gitbay.xcodeproj/ | Bump to 1.1.0 (9) (!93) | 1 month ago |
| gitbay/ | Explicit deinit on PagedListModel for the Release optimizer (!94) | 1 month ago |
| gitbayTests/ | Email addresses: list, remove, make primary (!92) | 1 month ago |
| gitbayUITests/ | Email addresses: list, remove, make primary (!92) | 1 month ago |
| .gitignore | initial commit: ignore rules | 1 month ago |
| README.org | Deployment target 18.0 (!84) | 1 month ago |
gitbay-ios
A native iOS client for gitbay, a CLI-first git forge.
This app is a reading, reviewing and responding surface for the times you are not at a keyboard.
https://toolbox.marketingtools.apple.com/api/v2/badges/download-on-the-app-store/black/en-us
What it does
| Area | What's there |
|---|---|
| Dashboard | Your review queue, assigned work, open merge requests and issues, pinned repositories, recent activity, and the unread count |
| Repositories | File tree and blob view with syntax highlighting, history at a ref or per file, blame, branches and tags, file editing on a branch, and a compare between any two refs |
| Merge requests | Lists and detail with a unified diff, comments and review threads, review verdicts and requests, draft and ready, retarget, milestones, and the stack a merge request sits in |
| Issues | Lists and detail, comments, labels with the colours the web paints them, assignees and milestones, filtering by label, assignee, author and milestone |
| Search | Title-and-body search within a repository, file contents across one repository, and the whole instance for repositories, issues and merge requests |
| Notifications | The inbox, unread or all, marked read singly or in bulk |
| Repository actions | Fork, bookmark, watch and mute, pin, archive, visibility, topics, branch protection, and dependency checks with their status |
| Builds | Build list, job picker, logs, and cancelling one that is queued or running |
| Releases and wiki | Releases list, detail, create, edit and delete. Wikis read from the same instance |
| Organisations | Members and roles, teams and their repository grants, create and rename |
| Your account | SSH and PGP keys, email addresses, and your profile — description, website, about text and links |
| Explore, feed and profiles | Discovery, activity, contribution graph |
| Markup | Bodies and comments are written and rendered in the format they were stored in. Org renders natively through OrgSwiftUI — selectable text, Dynamic Type, VoiceOver — rather than in a web view |
Everything the CLI can do reaches the app, except what is SSH-only by design: minting an API token, and deleting or transferring a repository, both of which want a typed confirmation or carry a credential.
Signing in
As gitbay requires, your SSH key is your identity. To login to the mobile app,
you will need to mint a bearer token:
gitbay auth token create --name iphone --scope full --ttl 90d
Alternatively, --scope read works too, but a read-only token cannot comment or
merge.
Any gitbay instance works. You just need to enter the host at sign-in.
Building
Builds with the iOS 26.5 SDK and runs on iOS 18.0 and later. Swift 6 language mode, default MainActor
isolation.
xcodebuild -project gitbay.xcodeproj -scheme gitbay \
-destination 'platform=iOS Simulator,name=iPhone 17' build
Dependencies resolve over SSH (krz/org-swift) and HTTPS (Highlightr), so a key that can reach gitbay.org is needed to build.
Tests
gitbayTests is hermetic and runs offline; network calls go through a stubbed
URLProtocol.
xcodebuild -project gitbay.xcodeproj -scheme gitbay \
-destination 'platform=iOS Simulator,name=iPhone 17' \
test -only-testing:gitbayTests
gitbayUITests includes a live smoke suite that talks to a real instance. It is
opt-in, and skips without both variables. Environment reaches the test runner
only with the TEST_RUNNER_ prefix:
TEST_RUNNER_GITBAY_UITEST_LIVE=1 \
TEST_RUNNER_GITBAY_UITEST_TOKEN=<token> \
xcodebuild -project gitbay.xcodeproj -scheme gitbay \
-destination 'platform=iOS Simulator,name=iPhone 17' test
Contributing
To contribute, create a merge request with your changes:
gitbay mr create --source <branch> --target main --title "..."
Clone
SSHgit clone ssh://git@gitbay.org/krz/gitbay-ios.git
HTTPSgit clone https://gitbay.org/krz/gitbay-ios.git