Skip to content
CAI
Software that uses CAICheck a score

jogboms/flutter_spinkit

67.2

Adequate · 23 September 2026

3.5k

lines of production code

Dart

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Flutter library that provides a comprehensive collection of animated loading spinners for user interfaces. It exposes a wide variety of spinner widgets, each with corresponding widget tests to ensure correct rendering and lifecycle management. The project also includes a fully configured example application that demonstrates the library's capabilities across Android, iOS, and web platforms.

Features

Add Flutter example app with comprehensive spinner showcase

The example/lib directory now contains a complete Flutter application that demonstrates the SpinKit library's capabilities. The app features a main entry point that navigates to a showcase screen displaying a grid of all available spinners, including the newly added SpinKitPouringHourGlass, SpinKitWaveSpinner, SpinKitPulsingGrid, SpinKitFadingCube, and others. The showcase screen uses a responsive grid layout that adapts the number of columns based on screen width, and the workspace component demonstrates custom builder usage with the SpinKitFadingCircle spinner.

example/lib · high confidence

Add new loading spinner widgets

The library introduces a suite of new loading spinner widgets, including SpinKitChasingDots, SpinKitCircle, SpinKitCubeGrid, SpinKitDancingSquare, SpinKitDoubleBounce, SpinKitDualRing, SpinKitFadingCircle, SpinKitFadingCube, SpinKitFadingFour, SpinKitFadingGrid, SpinKitFoldingCube, SpinKitHourGlass, SpinKitPianoWave, SpinKitPouringHourGlass, SpinKitPouringHourGlassRefined, and SpinKitPulse. These provide various animated visual indicators for loading states.

lib/src · high confidence

Added example project scaffolding and configuration

The example directory now includes the standard Flutter project structure, including .gitignore, .metadata, README.md, analysis\_options.yaml, and example.iml. This provides a complete, configured starting point for the example application, with Dart/Flutter-specific exclusions, linting rules (including trailing commas), and IDE metadata.

example · high confidence

Expanded library with new spinner components

The flutter\_spinkit library has been significantly expanded to include a wide variety of new loading spinners. The previously minimal API now exports 28 distinct spinner implementations, including ChasingDots, Circle, CubeGrid, DancingSquare, DoubleBounce, DualRing, FadingCircle, FadingCube, FadingFour, FadingGrid, FoldingCube, HourGlass, PianoWave, PouringHourGlass, Pulse, PulsingGrid, PumpingHeart, Ring, Ripple, RotatingCircle, RotatingPlain, SpinningCircle, SpinningLines, SquareCircle, ThreeBounce, ThreeInOut, WanderingCubes, and Wave. Users can now import these specific spinner widgets directly from the main library file.

lib · high confidence

iOS example app project files added

The iOS example app's Xcode project structure has been added, including the \project.pbxproj\ build configuration, workspace settings, and the \Runner.xcscheme\ for build and run actions. This provides the necessary Xcode project files to build and run the example app on iOS.

example/ios/Runner.xcodeproj · high confidence

iOS example app scaffolding added

The iOS portion of the example app has been initialized with the standard Flutter project structure. This includes the Xcode project configuration files (Info.plist, AppFrameworkInfo.plist), the Swift AppDelegate, and the necessary asset catalogs for app icons and launch screens. These changes provide the complete iOS environment required to build and run the example application on iOS devices.

example/ios/Runner, example/macos · high confidence

Behavioural changes

Initialized iOS example project workspace configuration

The iOS example project's workspace configuration has been established, including the main workspace file, workspace check settings, and workspace settings that disable previews. This sets up the foundational structure for the iOS build environment.

example/ios/Runner.xcworkspace · medium confidence

Project configuration and documentation updates

The project now includes an \analysis\_options.yaml\ file that enforces Flutter linting rules and error handling, alongside a \Makefile\ with targets for test coverage and HTML reports. The \.gitignore\ file has been expanded to exclude IDE-specific files, build artifacts, and coverage directories. Additionally, the \README.md\ has been significantly updated with installation instructions, usage examples, and a showcase of available spinners, while the \.iml\ file was updated to exclude example build directories.

(repo-wide) · high confidence

Updated Android example project with AndroidX and V2 embedding

The Android example project has been upgraded to use AndroidX and the V2 Android embedding, which is required for modern Flutter development. This includes new Android manifest files, a Kotlin-based MainActivity, and updated resource styles for launch and normal themes. Additionally, the project now includes a web entry point (index.html) and a PWA manifest (manifest.json) to support web and PWA capabilities.

example/android · high confidence

Test coverage

Added widget tests for all spinners

Added widget tests for all spinners, including ChasingDots, Circle, CubeGrid, DancingSquare, DoubleBounce, DualRing, FadingCircle, FadingCube, FadingFour, FadingGrid, FoldingCube, HourGlass, PianoWave, PouringHourGlass, PouringHourGlassRefined, Pulse, PulsingGrid, PumpingHeart, Ring, Ripple, RotatingCircle, RotatingPlain, SpinningCircle, SpinningLines, SquareCircle, ThreeBounce, and ThreeInOut. Tests verify that each spinner renders correctly with and without Material, with color, with itemBuilder, and that tickers are properly disposed.

test · high confidence

Dependencies

Updated example project dependencies and Android build configuration

The example project has been updated with modernized dependencies and build configurations. The root pubspec.lock was removed, and the example's pubspec.yaml was updated to specify Dart SDK \>=2.15.0 and include flutter\_lints ^6.0.0 as a dev dependency. The Android build files (build.gradle, settings.gradle, gradle.properties) were added or updated to use AndroidX, Kotlin 1.3.50, and Gradle 4.1.0, ensuring the example app is compatible with current Flutter and Android standards.

(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

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 63 → 67 (+4.2)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 97 (-3.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 49 → 49 (+0.0)
  • Readiness 57 → 69 (+12.3)
  • Security 83 → 93 (+9.3)
  • 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
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • Test reliability not included
  • complexity unreadable for .dart, .kt, .swift — churn × complexity hotspots could not be measured

New (32)

  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no architecture or design documentation (README.md)
  • Duplicated block (11 lines × 11) (lib/src/dual_ring.dart)
  • Duplicated block (11 lines × 2) (lib/src/double_bounce.dart)
  • Duplicated block (11 lines × 2) (lib/src/piano_wave.dart)
  • Duplicated block (11–16 lines × 3) (lib/src/fading_grid.dart)
  • Duplicated block (12 lines × 2) (lib/src/hour_glass.dart)
  • Duplicated block (12 lines × 2) (lib/src/pouring_hour_glass.dart)
  • Duplicated block (13 lines × 2) (lib/src/piano_wave.dart)
  • Duplicated block (13 lines × 2) (lib/src/piano_wave.dart)
  • Duplicated block (13 lines × 2) (lib/src/piano_wave.dart)
  • Duplicated block (13 lines × 4) (lib/src/ring.dart)
  • Duplicated block (14 lines × 2) (lib/src/piano_wave.dart)
  • Duplicated block (15 lines × 2) (lib/src/rotating_circle.dart)
  • Duplicated block (16 lines × 4) (lib/src/dancing_square.dart)
  • Duplicated block (18 lines × 2) (lib/src/pouring_hour_glass.dart)
  • Duplicated block (18 lines × 2) (lib/src/rotating_circle.dart)
  • Duplicated block (21 lines × 2) (lib/src/pouring_hour_glass.dart)
  • Duplicated block (32–33 lines × 2) (lib/src/pouring_hour_glass.dart)
  • Duplicated block (5 lines × 4) (lib/src/fading_four.dart)
  • …and 12 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

jogboms/flutter_spinkit 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 23 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 a813e6f7150a24319b11ac2dd91bf3cab2303fd5 — 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-955b9cee9818.