Skip to content
CAI
Software that uses CAICheck a score

Ackites/Nrfr

46.9

Weak · 25 September 2026

2.5k

lines of production code

Kotlin

with TypeScript, Go, JavaScript

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Initial project scaffolding and build configuration

The application is initialized with essential build infrastructure: a .gitignore file excludes build artifacts (APKs, AABs, dex files) and temporary directories; a proguard-rules.pro file provides commented-out ProGuard configuration for code shrinking and obfuscation; and the Gradle wrapper is configured to use Gradle 8.9 via the distribution URL in gradle-wrapper.properties.

app, gradle · high confidence

Initial release of the Nrfr app for modifying SIM carrier configurations

The app introduces a new interface for modifying SIM card country codes and carrier names, leveraging Shizuku for elevated permissions. Users can select a SIM slot, choose from preset country codes or enter a custom two-letter code, and select from a comprehensive list of preset carriers or enter a custom carrier name. The app also includes an 'About' screen with app information, author details, and open-source links, alongside a 'ShizukuNotReady' screen to guide users who haven't enabled Shizuku yet.

app/src · high confidence

Initial release of the nrfr-client desktop application

The nrfr-client application is introduced, providing a desktop interface for managing Android devices via ADB. The client automatically manages the ADB server lifecycle (starting and stopping the server on startup and shutdown) and provides a step-by-step workflow for users to select a device, check for and install required applications (Shizuku and Nrfr), and start services. The frontend is built with React and Tailwind CSS, while the backend handles device communication and system integration.

nrfr-client · high confidence

Dependencies

Initial project setup with Android, Go, and React dependencies

The project was initialized with build configurations and dependency manifests for multiple components. The Android app module (app/build.gradle.kts) defines the application with compileSdk 34, minSdk 26, and includes dependencies for AndroidX, Jetpack Compose, Shizuku, and testing libraries. The Go backend (nrfr-client/go.mod) specifies Go 1.22.0 with the Wails v2.9.2 framework and related Go libraries. The frontend (nrfr-client/frontend/package.json) establishes a React 19.0.0 application using Vite, TailwindCSS, and TypeScript. These files collectively establish the development environment and dependency graph for the application.

(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

Score

  • CAI 40 → 47 (+6.9)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 85 → 87 (+2.0)
  • Architecture 96 → 75 (-20.4)
  • Maturity 50 → 59 (+8.6)
  • Readiness 21 → 33 (+11.9)
  • Security 47 → 52 (+5.6)
  • Accessibility 65 (new)

Resolved (66)

  • Coverage not measured — test suite did not build
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • Dimension evaluation failed
  • Duplicated block (13 lines × 2) (app/src/main/java/com/github/nrfr/ui/screens/MainScreen.kt)
  • Duplicated block (18 lines × 2) (app/src/main/java/com/github/nrfr/ui/screens/AboutScreen.kt)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/go.mod)
  • …and 46 more

New (48)

  • App.App (cognitive 22) (nrfr-client/frontend/src/App.tsx)
  • App.App (cyclomatic 27) (nrfr-client/frontend/src/App.tsx)
  • App.startup (cognitive 16) (nrfr-client/app.go)
  • AppInstall.AppInstall (cyclomatic 18) (nrfr-client/frontend/src/components/steps/AppInstall.tsx)
  • Critical CVE: [GHSA redacted] (nrfr-client/go.mod)
  • DeviceSelection.DeviceSelection (cognitive 32) (nrfr-client/frontend/src/components/steps/DeviceSelection.tsx)
  • DeviceSelection.DeviceSelection (cyclomatic 37) (nrfr-client/frontend/src/components/steps/DeviceSelection.tsx)
  • Duplicated block (12 lines × 3) (app/src/main/java/com/github/nrfr/ui/screens/MainScreen.kt)
  • Duplicated block (14 lines × 2) (app/src/main/java/com/github/nrfr/ui/screens/AboutScreen.kt)
  • Duplicated block (18 lines × 2) (app/src/main/java/com/github/nrfr/ui/screens/AboutScreen.kt)
  • FunctionTooLong: App.App (nrfr-client/frontend/src/App.tsx)
  • FunctionTooLong: DeviceSelection.DeviceSelection (nrfr-client/frontend/src/components/steps/DeviceSelection.tsx)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • High CVE: [GHSA redacted] (nrfr-client/frontend/package-lock.json)
  • …and 28 more

Architecture

  • Containers 0 added · 0 removed · contexts 1 added · 0 removed · edges 0 added · 0 removed

Added bounded contexts (1)

  • app

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

Survey your own repository

Ackites/Nrfr 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 25 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 c8044fe7d42beea496d66fae43b9683fcf942ce4 — 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-dd72cc24c749.