Skip to content
CAI
Software that uses CAICheck a score

devmuaz/flutter-clean-architecture

47.6

Weak · 21 September 2026

927

lines of production code

Dart

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Behavioural changes

Restructured app with clean architecture, local/remote data sources, and UI views

The app was restructured to implement a clean architecture with separate local and remote data sources. Local data is now persisted via a Floor database (app\_database) with an ArticleDao for saving and removing articles. Remote data is fetched via a Retrofit-generated NewsApiService that calls the NewsAPI /top-headlines endpoint. Repository implementations (ApiRepositoryImpl and DatabaseRepositoryImpl) wrap these data sources, and cubits (RemoteArticlesCubit, LocalArticlesCubit) manage state for fetching and saving articles. The UI now includes BreakingNewsView, ArticleDetailsView, and SavedArticlesView, with routing handled by auto\_route. The previous manual router and base repository were removed, and the theme was updated to use a ColorScheme.

lib/src · high confidence

Updated Android build configuration and launch theming

The Android project has been updated to use Gradle 7.5 and modernizes the app's launch behavior. The AndroidManifest.xml now uses the application name variable and explicitly sets the main activity as exported, while removing the deprecated FlutterApplication class and splash screen metadata. Additionally, the app's light and dark mode themes have been updated to use the system's background color, and a new launch background XML is introduced to support the updated theming.

android · high confidence

iOS minimum deployment target raised to 11.0 and app architecture updated to use BLoC state management

The iOS minimum deployment target has been increased from 8.0/9.0 to 11.0, requiring iOS 11 or later for the app to run. Additionally, the application's architecture has been refactored to use the BLoC pattern for state management. The app now initializes dependencies, provides \LocalArticlesCubit\ and \RemoteArticlesCubit\ via \MultiBlocProvider\, and utilizes \OKToast\ for user feedback, replacing the previous \MaterialApp\ setup.

ios, lib · high confidence

Test coverage

Removed default Flutter widget test template

The default Flutter widget test template in test/widget\_test.dart has been removed, leaving the file with an empty main function. This change eliminates the boilerplate smoke test for a counter widget, indicating a shift in the project's testing strategy or structure.

test · high confidence

Dependencies

Updated Flutter project dependencies and build configurations

The project's dependencies have been updated, including significant version bumps for the Dart analyzer (to 5.5.0), build runner (to 2.3.3), and Flutter BLoC (to 8.1.2). The pubspec.yaml was also updated to reflect the new package names and versions, such as adding 'auto\_route' and 'awesome\_dio\_interceptor'. Additionally, the Android build configuration was modified to use Flutter's default SDK and NDK versions, and the iOS platform minimum version was raised to 11.0.

(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 53 → 48 (-5.0)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 100 → 93 (-7.5)
  • Maturity 56 → 60 (+3.6)
  • Readiness 24 → 12 (-12.2)
  • Security 91 → 93 (+2.2)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (10)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (pubspec.lock)
  • No exposed public API
  • Test reliability not included
  • The README claims to cover the full architecture but only shows a single screen demo and links to Medium articles, with no architecture or design documentation present. (README.md)
  • complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient

New (7)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (pubspec.lock)
  • Leaked secret: high-entropy-secret (lib/src/utils/constants/strings.dart)
  • No ADRs found
  • Secret: generic-api-key (lib/src/core/utils/constants.dart)

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

Survey your own repository

devmuaz/flutter-clean-architecture 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 6cd60386516d69ebfdd61609498c5601dde29b46 — 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.