inassar0/kotlin-multiplatform-template
45.5
Weak · 21 September 2026
1.3k
lines of production code
Kotlin
primary language
4
measurements over time
What this system is
Behavioural changes
Gradle wrapper upgraded to version 8.2
The Gradle wrapper has been updated from version 8.0.2 to 8.2. This upgrade ensures that the project uses a more recent version of the Gradle build tool, which may include new features, performance improvements, and bug fixes.
gradle · high confidence
Introduction of build flavor definitions
A new Kotlin enum class named BuildFlavors has been added to define the available build configurations. This introduces four distinct build flavors—DEV, QA, STG, and PROD—which can be used to differentiate build variants for different environments.
buildSrc/src/main/java · high confidence
Migrate feature presentation layer to Voyager ScreenModel
The feature presentation layer has been refactored to use Voyager's \StateScreenModel\ instead of the previous \moko-ViewModel\ approach. This change updates the \FeatureModel\ to manage state via \StateScreenModel\, replacing the old \CStateFlow\ and \ViewModel\ pattern. Additionally, the package structure has been updated from \feature.presentation\ to \me.inassar.features.feature.presentation\, and UI components like \ProductDetails\ and \FeatureScreen\ have been adapted to work with the new navigation and state management model.
shared/src/commonMain/kotlin/me/inassar/features/feature/presentation · high confidence
Migrated to Material 3 and implemented platform-specific UI and localization
The application has been migrated to Material 3, introducing platform-specific UI behaviors such as adaptive navigation transitions (Slide, Fade, Scale) and status bar color changes on Android and iOS. A new localization system has been added, supporting English and Arabic translations for string resources and error messages. Additionally, the codebase has been reorganized with a new package structure (me.inassar) and platform-specific implementations for network engines and device information.
shared · high confidence
Rearranged package structure for feature modules
The feature module's data and domain layers have been reorganized under a new package path (from \feature\ to \me.inassar.features.feature\). This refactoring updates all relevant imports and package declarations across the remote API, repository, and domain mapper classes, ensuring the codebase adheres to the new directory structure.
shared/src/commonMain/kotlin/me/inassar/features/feature/data, shared/src/commonMain/kotlin/me/inassar/features/feature/domain · high confidence
Refactored package structure for desktopApp source files
The \MyApp.kt\ and \main.kt\ files in the \desktopApp\ module have been moved from the root \kotlin\ directory into the \me.inassar\ package directory. This change updates the package declarations and import statements to reflect the new directory structure, ensuring the application code is organized under the \me.inassar\ namespace.
desktopApp · high confidence
Removed legacy build configuration files from buildSrc
The build configuration files (Dependencies.kt, Utils.kt, Versions.kt) in buildSrc/src/main/kotlin have been deleted. This removes the centralized management of dependency versions and Gradle utility functions, indicating a migration away from this specific build structure.
buildSrc/src/main/kotlin · high confidence
Updated Koin initialization in Android application
The Android application's dependency injection setup was refactored to use a new \initKoinForAndroid\ function, which explicitly enables network logging. This change replaces the previous \initKoin\ call and \appModule\ configuration, streamlining how the Koin container is initialized with Android-specific context and logging.
androidApp · high confidence
Updated iOS build configuration and Koin initialization
The iOS application's Xcode project file (project.pbxproj) has been updated to reflect changes in the CocoaPods configuration, including updated file references for the Pods framework and xcconfig files, as well as a reorganization of the build phases to ensure proper synchronization of the Podfile.lock. Additionally, the iOSApp.swift file has been modified to include a comment in the Koin initialization call, indicating that the enableNetworkLogs parameter should be set based on the debug or release configuration.
iosApp · high confidence
Dependencies
Migrate to Gradle Version Catalogs and add BuildKonfig support
The project has been refactored to use Gradle Version Catalogs (libs.versions.toml) for centralized dependency and plugin management, replacing the previous static \Versions\ and \Dependencies\ objects. This change updates all \build.gradle.kts\ files to use the new catalog references. Additionally, the \shared\ module now includes BuildKonfig configuration to generate build-time configuration files for different build flavors (DEV, QA, STG, PROD), enabling environment-specific configuration at compile time.
(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
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 53 → 46 (-7.4)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (-0.3)
- Architecture 100 → 96 (-4.3)
- Maturity 70 → 47 (-23.0)
- Readiness 15 → 15 (+0.0)
- Security 97 → 100 (+2.5)
Resolved (5)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Medium: security finding (details withheld)
- No exposed public API
- No tests — template/sample
- single-maintainer — knowledge-concentration (bus factor) risk
New (6)
- 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)
- No ADRs found
- No automated tests
- TodoComment (shared/src/commonMain/kotlin/me/inassar/common/locale/Localize.kt)
Architecture
- Unchanged — 0 containers · 1 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
inassar0/kotlin-multiplatform-template 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 48c11b7e75d2d3ce758a1c1f6d9489cd336057ce — 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.