| name | last commit | updated |
|---|---|---|
| gitbay.xcodeproj/ | Bump to 1.0.4 (5) (!43) | 1 month ago |
| gitbay/ | Point instance badge sources at the PNG | 1 month ago |
| gitbayTests/ | Point instance badge sources at the PNG | 1 month ago |
| gitbayUITests/ | screenshots: dismiss the save-password sheet before capturing | 1 month ago |
| .gitignore | initial commit: ignore rules | 1 month ago |
| README.org | README: a feature table, and clearer prose | 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.
What it does
| Area | What's there |
|---|---|
| Dashboard | Your review queue, assigned work, open merge requests and issues, pinned repositories, recent activity |
| 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 |
| Merge requests and issues | Lists, detail, comments, milestones, and a unified diff |
| Builds | Build list, job picker, logs |
| Releases and wiki | Read from the same instance |
| Explore, feed and profiles | Discovery, activity, contribution graph |
| READMEs | Markdown and Org. Org renders natively through OrgSwiftUI — selectable text, Dynamic Type, VoiceOver — rather than in a web view |
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
Requires Xcode with an iOS 26.5 SDK. 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