Skip to content
CAI
Software that uses CAICheck a score

ComicSparks/pikapika

49.0

Weak · 5 August 2026

30.7k

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 cross-platform Flutter application, likely a comic reading or content browsing app, supporting Android, iOS, Windows, macOS, and Linux. It provides a unified codebase with platform-specific native integrations for features like biometric authentication, deep linking, and file handling. The project includes a comprehensive CI/CD pipeline for automated releases and a modular internal architecture handling internationalization, state management, and UI components.

Features

Add CI commons library for release asset naming and version loading

The CI/CD pipeline now includes a shared Go library (ci/commons) that standardizes how release artifacts are named and how version metadata is loaded. The new \funcs.go\ file provides logic to construct platform-specific release filenames (e.g., \.dmg\ for macOS, \.ipa\ for iOS, \.zip\ for Windows, \.AppImage\ for Linux, and \.apk\ for Android) based on the current version code, Flutter version, and target platform. It also includes a \LoadVersion\ function that reads version details from local text files. The \types.go\ file introduces Go structs to map GitHub Release and Asset data, enabling the CI scripts to interact with GitHub's API more effectively. This change centralizes release naming conventions and version handling across the CI workflows.

ci/commons · high confidence

Add Linux desktop platform support

Added the necessary build configuration (CMakeLists.txt), application entry points (main.cc, my\_application.cc/h), and plugin registration files to enable building the Flutter application for Linux desktop environments.

linux · high confidence

Add build and utility scripts for Android, iOS, Linux, and macOS

The repository now includes a suite of shell and Python scripts in the \scripts/\ directory to automate the build process for various platforms. This includes dedicated scripts for binding Android (ARM64, debug, x86, x64) and iOS (ARM64) using \gomobile\, building APKs for specific architectures, generating unsigned IPAs, and building Linux AppImages and macOS DMGs. Additionally, a Python utility (\json\_compairer.py\) is added to flatten, compare, and report missing keys in translation JSON files, alongside helper scripts for versioning and APK signing.

scripts · high confidence

Added macOS Flutter build configuration and plugin registration

The macOS build system now includes generated configuration files (Flutter-Debug.xcconfig and Flutter-Release.xcconfig) that link to CocoaPods and ephemeral build settings. Additionally, a new GeneratedPluginRegistrant.swift file has been added to register the shared\_preferences\_foundation and url\_launcher\_macos plugins with the Flutter engine, enabling these specific platform capabilities on macOS.

macos/Flutter · high confidence

Added macOS Xcode project configuration for the 'pikapika' app

The macOS build configuration has been initialized with a new Xcode project structure for the 'pikapika' application. This includes the primary 'Runner' target, a 'Flutter Assemble' aggregate target, and associated build phases for sources, frameworks, and resources. The setup integrates CocoaPods dependencies (e.g., 'Pods\_Runner.framework') and configures the Xcode scheme for building, testing, and launching the 'pikapika.app' bundle on macOS.

macos/Runner.xcodeproj · high confidence

Adds internationalization support for mobile platforms

The application now supports multi-language localization on Android and iOS. A new i18n system has been introduced, utilizing the \easy\_localization\ package for mobile platforms to load and manage translated strings from JSON files. For non-mobile platforms (e.g., desktop), a fallback translation mechanism is implemented to ensure consistent behavior. This change enables users to view the app in their preferred language on supported devices.

lib · high confidence

Android app initialization and configuration

The Android app has been initialized with a complete set of configuration files. This includes the main and debug AndroidManifest files defining permissions (INTERNET, STORAGE, BIOMETRIC), deep links for http/https/pika schemes, and file handlers for .pkz and .pki extensions. The MainActivity.kt is introduced to handle platform channels for storage, network, and events, while supporting biometric authentication and background thread management. Additionally, launch themes and splash screen drawables are added for both light and dark modes, and adaptive icons are configured.

android/app · high confidence

Automated CI scripts for release and community notifications

New Go-based CI commands have been added to automate release workflows. The \check\_asset\ and \check\_asset\_core\ utilities verify whether specific build artifacts already exist in a GitHub release to prevent duplicate uploads. The \upload\_asset\ and \upload\_asset\_core\ commands handle uploading compiled binaries and archives to GitHub releases. Additionally, \check\_release\ ensures a release tag exists (creating it if necessary), and \send\_to\_community\ automatically posts release announcements to Telegram and Discord channels.

ci/cmd · high confidence

Initial macOS Runner template added

The macOS application entry point and supporting files have been added to the project. This includes the Swift \AppDelegate\ and \MainFlutterWindow\ classes that bridge the native macOS environment with the Flutter engine, along with the \MainMenu.xib\ interface file that provides the standard macOS menu bar (About, Edit, Find, etc.). The change also introduces the \Info.plist\ for application metadata, configuration files (\AppInfo.xcconfig\, \Debug.xcconfig\, \Release.xcconfig\, \Warnings.xcconfig\) for build settings, and the necessary entitlements (\DebugProfile.entitlements\, \Release.entitlements\) to enable app sandboxing and JIT execution.

macos/Runner · high confidence

Initial project scaffolding and configuration

The repository is initialized with essential configuration files: .fvmrc sets the Flutter version to 3.13.9, .gitignore excludes build artifacts and IDE files, .metadata tracks the Flutter stable channel, and analysis\_options.yaml applies Flutter linter rules. Documentation is provided in both English (README.md) and Chinese (README-zh\_CN.md), outlining the app's features, multi-platform support, and usage rules.

(repo-wide) · high confidence

New UI components for comic browsing and comments

Added a suite of new Flutter widgets to the \lib/screens/components\ directory, including \Avatar\, \Badge\, \BottomSheetInput\, \ComicDescriptionCard\, \ComicInfoCard\, \ComicList\, \ComicListBuilder\, \ComicPager\, \ComicTagsCard\, \CommentItem\, \CommentList\, and \Common\ utilities. These components provide the visual structure for displaying comic information, managing list layouts, handling comments, and showing status indicators.

lib/screens/components · high confidence

New basic utility and cross-platform communication layer

The application introduces a new \lib/basic\ module that consolidates core utilities and platform interactions. This includes \Channels.dart\ for handling native event streams, \Method.dart\ for invoking native methods via \MethodChannel\, and \Cross.dart\ for cross-platform operations like clipboard access, file picking, and image saving. The \Common.dart\ file provides shared UI helpers such as toast messages, confirmation dialogs, and input prompts. Additionally, \Entities.dart\ defines data models for users, comics, and categories, while \Navigator.dart\ manages deep navigation depth to prevent stack overflow. This refactoring centralizes basic functionality previously scattered across the codebase.

lib/basic · high confidence

New configuration options for app behavior and display

The application introduces a new \lib/basic/config\ directory containing numerous configuration modules that expose user-facing settings. These include controls for app orientation (normal, landscape, portrait), full-screen behavior (auto full-screen, full-screen on forward, full-screen actions like touch or three-area navigation), and Android-specific display modes. Additional settings allow users to manage auto-download on favorite, auto-delete downloaded content when unfavoriting, auto-clean cache, and choose the root path for file choosers. The changes also add options for authentication (password lock), categories sorting and hiding, and export/rename paths. These configurations enable users to customize the app's layout, navigation, and data management according to their preferences.

lib/basic/config · high confidence

New error and sort enum definitions

Added new enum definitions for error types and sorting options. The ErrorTypes file introduces constants for network, permission, time, and under-review errors, along with a helper function to map error messages to these types. The Sort file defines sorting options including default, time (newest/oldest), most liked, and most viewed, with corresponding labels and dropdown items for both general and collection-specific sorting.

lib/basic/enum · high confidence

New screens for account management, app navigation, and content browsing

The app introduces several new screens to the user interface: an About screen displaying version and update information, an Account screen for managing username and password, a main App screen with a bottom navigation bar for Categories and My sections, and dedicated screens for browsing categories, sorting them, cleaning cache, closing the app, viewing comic collections, and reading comics. These additions provide users with direct access to account settings, app information, and core browsing/reading functionality.

lib/screens · high confidence

Windows runner template adds native window and build infrastructure

The Windows runner now includes the complete native C++ scaffolding required to host a Flutter application on Windows. This adds a CMake build configuration, a resource script defining application metadata (company name, file description, versioning), and the core C++ classes that manage the Win32 window, handle the message loop, and integrate with the Flutter engine. Users on Windows will now have a functional native entry point that initializes the Flutter view, processes Windows messages, and manages the application lifecycle.

windows/runner · high confidence

iOS app template and configuration added

The iOS project files for the Runner are added, establishing the native iOS side of the app. This includes the main \AppDelegate\ which bridges Flutter to native iOS features like network monitoring, local authentication (FaceID), and file system access, as well as the \Info.plist\ configuration for permissions, URL schemes, and file type associations (PKZ, PKI, ZIP). Standard iOS assets like app icons, launch screens, and storyboards are also included to support the app's visual identity and user experience on iOS devices.

ios/Runner · high confidence

iOS build configuration initialized for the Runner app

The iOS project configuration file (project.pbxproj) has been added, establishing the build structure for the iOS application. This includes the definition of the main 'Runner' target, the integration of the 'Mobile.xcframework' and 'Pods\_Runner.framework' into the build phases, and the configuration of build settings for Flutter and CocoaPods dependencies.

ios/Runner.xcodeproj · high confidence

Behavioural changes

Updated iOS build configuration files for Flutter

The iOS build configuration has been updated to align with the latest Flutter tooling. New or modified files including AppFrameworkInfo.plist, Debug.xcconfig, and Release.xcconfig now enforce a minimum iOS deployment target of 12.0 and configure the necessary build settings for the Flutter framework, ensuring compatibility with the upgraded SDK.

ios/Flutter · high confidence

Updated iOS build scheme configuration

The Xcode project's build scheme for the 'Runner' target has been updated, including a version bump to 1.3 and the addition of build action entries for testing, running, profiling, archiving, and analyzing. This ensures the Xcode project is correctly configured for the current development environment and supports standard build and test workflows.

ios/Runner.xcodeproj/xcshareddata · medium confidence

Windows build system and plugin registration are now generated

The Windows build configuration has been updated to use generated CMake scripts and C++ files. The new CMakeLists.txt defines the Flutter library and wrapper targets, while generated C++ files (generated\_plugin\_registrant.cc/h and generated\_plugins.cmake) automatically register the 'permission\_handler\_windows' and 'url\_launcher\_windows' plugins, ensuring the Windows build correctly links and initializes these plugins.

windows/flutter · high confidence

iOS and macOS workspace configurations added

New workspace configuration files have been added for the iOS and macOS targets. This includes the Xcode project workspace data, workspace settings that disable Xcode Previews, and IDE workspace checklists. These changes standardize the build environment and suppress specific Xcode warnings and features for the iOS and macOS platforms.

(repo-wide) · high confidence

Test coverage

Added initial widget test for the Pikapika app

A new widget test was added to verify the basic functionality of the Pikapika app, specifically checking that the counter starts at 0 and increments correctly when the add icon is tapped.

test · high confidence

Dependencies

Updated Gradle wrapper to version 7.5

The Android build system now uses Gradle 7.5 (via the wrapper configuration in android/gradle/wrapper/gradle-wrapper.properties). This updates the underlying build tooling, which may affect build performance, compatibility with newer Android/Java versions, and the behavior of Gradle-based tasks.

android/gradle · 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 49 → 49 (+0.0)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

Lenses

  • Code Health 95 → 95 (+0.0)
  • Architecture 99 → 99 (+0.0)
  • Maturity 41 → 41 (+0.0)
  • Readiness 38 → 38 (+0.0)
  • Security 51 → 51 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (1)

  • The iOS asset README is thin and only describes replacing image files; it does not explain how to customize the launch screen or link assets to the app. (ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md)

New (1)

  • The iOS asset README is thin, offering only a one-line customization instruction without guidance on how to set launch images or what assets are supported. (ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md)

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

Survey your own repository

ComicSparks/pikapika 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 5 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 2f912edc99e5e1d25f66990558c20bd066c21266 — the exact code this score is about.
  • Scored under rubric-2026.08.19 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer latest.