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 "..."

About

Swift 99.3%Org 0.7%

1 contributorcmc

Clone

SSH
git clone ssh://git@gitbay.org/krz/gitbay-ios.git
HTTPS
git clone https://gitbay.org/krz/gitbay-ios.git