Skip to content
CAI
Software that uses CAICheck a score

whosramoss/clean-dart-github

55.8

Adequate · 20 September 2026

5.5k

lines of production code

Dart

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a collection of Flutter applications and a shared library designed to fetch and display GitHub user profiles, repositories, and language statistics. It serves as a comparative showcase of different state management and architectural patterns, including BLoC, GetX, Provider, MobX, and InheritedWidget. The shared 'github\_commons' module provides the core domain logic and API integration, while the individual apps demonstrate how to consume this data using their respective frameworks.

Features

Add GitHub Inherited Flutter application scaffold

Introduces a new Flutter application named 'github\_inherited' that implements a GitHub user lookup feature. The app allows users to enter a username on a registration page to fetch and display their profile, repositories, and associated languages on a subsequent profile page. This location provides the Android and iOS platform configurations, the main entry point, and the presentation layer which utilizes an InheritedWidget to manage and propagate GitHub API actions (such as fetching profiles and repositories) throughout the widget tree.

_github\_inherited, github\mobx · high confidence

Add GitHub provider Flutter application

Introduces a new Flutter application for the GitHub provider, including the iOS and Android platform configurations, the main entry point, and the core presentation layer. The app features a registration page for entering a GitHub username and a profile page that displays the user's repositories and languages, driven by a \GithubProvider\ state manager that handles data fetching and error states.

_github\provider · high confidence

Added Android project scaffolding for GitHub provider and triple apps

New Android project structures have been added for the \github\_provider\ and \github\_triple\ applications. This includes the necessary \AndroidManifest.xml\ files, \MainActivity\ Kotlin classes, and resource definitions for launch themes and splash screens, enabling these Flutter apps to be built and run on Android devices.

_github\_provider/android, github\triple/android · high confidence

Added domain usecases for GitHub profile, repositories, and languages

New domain-layer usecases have been introduced to support GitHub data retrieval and processing. GetProfile and GetRepositories now provide structured access to user profile details and repository lists via the IGithubRepository interface. Additionally, GetLanguages aggregates repository language data, calculating usage percentages and icons, while also accounting for repositories without an assigned language (typically forks).

_github\_commons/lib/module/domain/usecases/get\_languages, github\_commons/lib/module/domain/usecases/get\_profile, github\_commons/lib/module/domain/usecases/get\repositories · high confidence

Initial release of github\_commons library

The new github\_commons module provides a reusable Flutter library for GitHub integration, featuring domain entities for user profiles, repositories, and languages, along with infrastructure for fetching data from the GitHub API via Dio. It includes UI components for displaying profile information and repository lists, a theme definition, and routing utilities, exposing a clean API for consuming applications to integrate GitHub features.

_github\commons · high confidence

Initial release of the Github Triple Flutter application

This change introduces the complete source code for the 'github\_triple' Flutter application, establishing the project's foundational structure and core functionality. The update includes the standard Flutter project scaffolding for Android and iOS platforms, such as the Xcode project configuration, Gradle wrapper, and platform-specific metadata. On the application side, it implements a modular architecture using the Modular package for routing and dependency injection, and the flutter\_triple package for state management. The app features a 'GithubRegisterPage' for user input and a 'GithubProfilePage' for displaying results, backed by a 'GithubTripleStore' that orchestrates data fetching via injected services (Dio, repositories) to retrieve and present GitHub profile and repository data.

_github\_bloc, github\triple · high confidence

Introduce GetX-based GitHub client application

Added a new Flutter application named 'github\_getx' that implements a GitHub profile viewer using the GetX state management and navigation library. The app features a registration page for entering a username and a profile page that displays user details, repositories, and language statistics. It utilizes GetX for dependency injection (binding Dio, datasources, repositories, and use cases) and reactive state management to handle loading states and errors.

_github\getx · high confidence

Test coverage

Added unit tests for GitHub data retrieval use cases

Added unit tests for the GetLanguages, GetProfile, and GetRepositories use cases in the github\_commons module. The test suite verifies that GetLanguages correctly aggregates language entities from a list of repositories, while GetProfile and GetRepositories are tested against mocked GithubRepository implementations to ensure they return the expected GithubProfileEntity and List\<GithubRepositoryEntity\> respectively.

_github\_commons/test/domain/usecases/get\_languages, github\_commons/test/domain/usecases/get\_profile, github\_commons/test/domain/usecases/get\repositories · high confidence

Dependencies

Initialize Flutter project scaffolding and dependency manifests

This change adds the initial build configuration and dependency manifests for multiple Flutter application variants (github\_bloc, github\_getx, github\_inherited, github\_mobx, github\_provider) and a shared library (github\_commons). It establishes the Android Gradle build scripts (app and project level), iOS Podfiles, and Dart pubspec files, locking in specific versions for core packages such as bloc (8.1.0), flutter\_bloc (8.1.1), get (4.6.5), mobx (2.1.4), flutter\_mobx (2.0.6+5), dio (5.0.0 in commons, 4.0.6 in apps), and flutter\_modular (5.0.3).

(dependencies) · high 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 → 56 (-3.8)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (-0.4)
  • Architecture 100 → 98 (-2.4)
  • Maturity 79 → 66 (-13.0)
  • Readiness 24 → 24 (+0.0)
  • Security 100 → 98 (-1.6)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (8)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • Further orphaned files (smaller)
  • LLM evaluation failed
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured
  • single-maintainer — knowledge-concentration (bus factor) risk

New (7)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Duplicated block (15 lines × 2) (github_commons/lib/module/domain/entities/github_repository_entity.dart)
  • Duplicated block (15 lines × 2) (github_mobx/lib/app/app_widget.dart)
  • Duplicated block (19 lines × 2) (github_commons/lib/module/domain/entities/github_profile_entity.dart)
  • Duplicated block (9 lines × 2) (github_commons/lib/module/domain/entities/github_profile_entity.dart)
  • High CVE: [GHSA redacted] (github_bloc/pubspec.lock)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

whosramoss/clean-dart-github 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 20 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 db228cdea82a95e42c5ffa2741a0848b9fee03e4 — 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-28e75b8e3254.