k-lpmg/GiTiny
59.4
Adequate · 21 September 2026
6.3k
lines of production code
Swift
primary language
4
measurements over time
What this system is
This is an iOS application named GiTiny, which interacts with GitHub via OAuth and network APIs. The system has undergone a significant architectural shift, replacing the Moya HTTP client with a custom GiTinyProvider for handling search, trending, and user data. The codebase also includes a comprehensive test suite and build automation scripts, all configured under a new bundle identifier and app group structure.
Behavioural changes
Rearranged test source structure and updated version
The test suite's source files have been reorganized into new directory paths (e.g., moving \AppDelegate.swift\ to \Sources/App/\ and grouping UI test components under \Sources/UITestSuitable/\). Additionally, the application version number in \Info.plist\ has been updated from 1.0 to 1.1.0.
GiTinyUITests · high confidence
Switch network provider from Moya to GiTinyProvider
All network use cases in the Search, Trending, and User modules now use GiTinyProvider instead of MoyaProvider. This change updates the underlying HTTP client implementation across the application's network layer, which may affect how requests are processed and errors are handled.
GiTiny/Sources/Platform/Network/UseCases/Search, GiTiny/Sources/Platform/Network/UseCases/Trending, GiTiny/Sources/Platform/Network/UseCases/User · high confidence
Update test bundle version to 1.1.0
The CFBundleShortVersionString for the GiTinyTests bundle has been updated from 1.0 to 1.1.0, reflecting the new versioning scheme for the test suite.
GiTinyTests · high confidence
Updated app group ID and reduced OAuth scope
The app's Apple ID and App Group identifier have been updated from 'group.k-lpmg.GiTiny' to 'group.kanglpmg.GiTiny' to reflect the new bundle ID. Additionally, the GitHub OAuth authorization request scope has been narrowed from 'user+repo+notifications' to 'user' only, reducing the permissions requested during login. The app version has also been bumped to 1.1.0.
GiTiny · medium confidence
Updated app identifier in Fastlane configuration
The app identifier in the Fastlane Appfile has been changed from "com.k-lpmg.GiTiny" to "com.kanglpmg.GiTiny". This update ensures that build and release processes target the correct application bundle, preventing mismatches between the configured identifier and the actual app store listing.
fastlane · high confidence
Updated bundle identifiers and provisioning profiles
The Xcode project configuration has been updated to use the new bundle identifier 'com.kanglpmg.GiTiny' (previously 'com.k-lpmg.GiTiny') for the main app and UI test targets. Additionally, the provisioning profile specifiers have been changed to 'GiTiny Dev' and 'GiTiny Dis' for development and distribution builds respectively, and the project's internal group structure has been reorganized to reflect these changes.
GiTiny.xcodeproj · medium confidence
Updated iOS build number initialization
The script used to initialize the iOS build number has been changed from version 1 to version 0. This modifies the starting build number for the application.
scripts · high confidence
Dependencies
Removed Ruby dependency lock file
The Gemfile.lock file, which pinned the versions of Ruby gems (including fastlane 2.120.0 and cocoapods 1.6.1), has been deleted. This removes the explicit version constraints for the project's dependencies.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 60 → 59 (-0.7)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 97 (-3.4)
- Architecture 100 → 95 (-4.9)
- Maturity 43 → 49 (+5.9)
- Readiness 47 → 42 (-4.6)
- Security 100 → 100 (+0.0)
- Domain Modelling 100 → 100 (+0.0)
Resolved (9)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Test reliability not included
- The features table lists 'Explore Trending Repositories and Developers', 'Search Repositories and Users', 'Easy Web-Sufring with gesture', 'My GitHub profile', 'Dark Theme', and '100% Open source' but does not explain what each feature actually does. (README.md)
- complexity unreadable for .swift — churn × complexity hotspots could not be measured
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- single-maintainer — knowledge-concentration (bus factor) risk
New (49)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Trending/Developers/TrendingDevelopersTableViewController.swift)
- Duplicated block (10 lines × 2) (GiTiny/Sources/Application/Scenes/ViewModels/Search/SearchRepositoriesViewModel.swift)
- Duplicated block (11 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesCollectionViewController.swift)
- Duplicated block (11 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (13 lines × 2) (GiTiny/Sources/Application/Scenes/ViewModels/Search/SearchRepositoriesViewModel.swift)
- Duplicated block (15 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (15 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Trending/Developers/TrendingDevelopersTableViewController.swift)
- Duplicated block (16 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (17 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (32 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (5 lines × 2) (GiTiny/Sources/Application/Scenes/Cells/Trending/TrendingDeveloperTableViewCell.swift)
- Duplicated block (5 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesCollectionViewController.swift)
- Duplicated block (5 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- Duplicated block (5 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Trending/Developers/TrendingDevelopersTableViewController.swift)
- Duplicated block (5 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Trending/Developers/TrendingDevelopersTableViewController.swift)
- Duplicated block (6 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/MyProfile/Profile/MyProfileSection.swift)
- Duplicated block (6 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesCollectionViewController.swift)
- Duplicated block (6 lines × 2) (GiTiny/Sources/Application/Scenes/ViewControllers/Search/Repositories/SearchRepositoriesTableViewController.swift)
- …and 29 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
k-lpmg/GiTiny was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 4aa75a2587295961ae026f804d4d138a55618297 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb02f2da8b24.