Skip to content
CAI
Software that uses CAICheck a score

hnvn/flutter_shimmer

67.5

Adequate · 19 September 2026

714

lines of production code

Dart

with C++, C, Python

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Flutter library that provides a customizable Shimmer loading effect widget, supporting gradient-based patterns, directional animation, and lifecycle controls. It includes a regenerated example application demonstrating modern Flutter standards and null safety. Additionally, it provides a CI tool to summarize test coverage metrics from lcov output.

Features

New tool to summarize Flutter test coverage for CI

Added \tool/coverage\_summary.py\, a Python script that parses Flutter lcov output to display per-file and total test coverage percentages in the terminal. When run with the \--github-summary\ flag in GitHub Actions, it also generates a markdown table of coverage details and writes it to the workflow step summary, facilitating visibility into test coverage metrics during continuous integration.

tool · high confidence

Behavioural changes

Example project regenerated for modern Flutter platforms

The example application has been regenerated to align with current Flutter tooling standards. This update includes a migration to null safety, the adoption of the standalone material\_ui package, and the addition of a standard analysis\_options.yaml configuration for static analysis. Platform-specific project structures for Android, iOS, Linux, and macOS have been recreated to support modern embedding and build systems, and new placeholder widgets have been added to demonstrate UI patterns.

example · high confidence

Shimmer 4.0: Migration to standalone material\_ui package

This release introduces a breaking change where the package now depends on the standalone \material\_ui\ package instead of \package:flutter/material.dart\, requiring Flutter \>=3.44.0 and Dart ^3.12.0. Existing codebases must update their imports to use \package:material\_ui/material\_ui.dart\ and can wrap legacy \package:flutter/material.dart\ subtrees in \MaterialUiCompatibilityBridge\ to maintain compatibility. The changelog also notes improvements to animation lifecycle management, such as keeping duration in sync with period changes and using \AnimationController.repeat()\ for infinite loops, alongside expanded documentation and tests.

(repo-wide) · high confidence

Shimmer widget API overhaul with direction, gradient, and lifecycle controls

The Shimmer widget has been redesigned to replace the previous baseColor/highlightColor parameters with a flexible Gradient object, allowing users to define custom shimmer patterns. A new ShimmerDirection enum (ltr, rtl, ttb, btt) lets users control the animation flow, while an enabled property allows pausing the effect and a loop property controls repetition counts. The implementation now uses SingleTickerProviderStateMixin for better performance and includes proper lifecycle management to handle state updates and animation status changes correctly.

lib · high confidence

Test coverage

Expanded test coverage for Shimmer widget lifecycle and configuration

Added comprehensive widget tests for the Shimmer component, verifying construction via both color-based and gradient-based constructors, default property values (direction, period, loop, enabled state), child rendering, and animation behavior including pausing/resuming on enable toggles, stopping after a specified loop count, and restarting when re-enabled.

test · high confidence

Dependencies

Example project migrated to modern Android/Flutter standards and updated dependencies

The example application has been significantly updated to align with current Flutter and Android development practices. The Android build configuration now uses AndroidX, Kotlin (version 1.7.10), and the Android Gradle Plugin 7.3.0, replacing the legacy support libraries and older Gradle setup. On the Dart side, the example's \pubspec.yaml\ and lockfile have been refreshed to target SDK ^3.12.0, introducing \material\_ui\ ^1.0.1 and \flutter\_lints\ ^2.0.0, while updating core transitive dependencies like \async\ to 2.11.0 and \collection\ to 1.19.1. The main library's \pubspec.yaml\ was also updated to version 4.0.0 with SDK ^3.12.0 and added \material\_ui\ as a dependency.

(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

Baseline

  • First survey — no prior run to compare against. CAI 67.

Lenses

  • Code Health 100
  • Architecture 69
  • Maturity 61
  • Readiness 62
  • Security 92
  • Domain Modelling 100

Changes since last survey

  • 54 commits — 49 feature/other, 5 fixes

By area

  • (root) — 26 commits
  • (repo) — 9 commits
  • example/ios — 5 commits
  • example/lib — 5 commits
  • .github/workflows — 3 commits
  • lib/shimmer.dart — 3 commits
  • example/android — 1 commit
  • example/macos — 1 commit
  • example/pubspec.yaml — 1 commit

Notable commits

  • fix: Merge pull request #23 from artflutter/bugfix/theme-hot-reload
  • fix: fix #2, release v1.0.0
  • fix: fix warning
  • fix: fixes #21 Does not switch a color depending on theme
  • fix: run "dart fix"
  • change: Added more example for whole page shimmer.
  • change: Align the example iOS project with Flutter 3.47.
  • change: Delete TravisCI
  • change: Example migrated to null safety
  • change: Harden shimmer animation lifecycle and expand docs and tests.
  • change: Improved git_ignore
  • change: Merge branch 'master' of github.com-hnvn:hnvn/flutter_shimmer
  • change: Merge branch 'master' of https://github.com/hnvn/flutter_shimmer
  • change: Merge pull request #10 from The-Redhat/master
  • change: Merge pull request #13 from BohdanNikoletti/feature/refactoring
  • change: Merge pull request #39 from SarcasticNoodle/null_safety
  • change: Merge pull request #54 from pratik-7span/master
  • change: Merge pull request #77 from hnvn/cursor/docs-tests-animation-lifecycle
  • change: Merge pull request #78 from hnvn/cursor/ci-test-coverage
  • change: Migrate to the standalone material_ui package.
  • …and 34 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

hnvn/flutter_shimmer 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 19 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 56ccab72c2012f75181a0746938b77242ed732a6 — 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-13a154b7f5d1.