Skip to content
CAI
Software that uses CAICheck a score

Lessica/TrollFools

49.8

Weak · 30 September 2026

5.4k

lines of production code

Swift

with Objective-C

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

TrollFools is an iOS utility system designed to manage and inject dynamic libraries into applications, primarily targeting devices with TrollStore capabilities. It provides a graphical interface and a command-line tool for listing apps, filtering by scope, and performing injection or ejection operations on plugins. The system includes a companion tweak that enables runtime debugging via FLEX and handles low-level Mach-O modifications using tools like ldid and MachOKit.

Features

Added Italian language support

Users can now see the TrollFools interface in Italian. This change adds the Italian localization files (InfoPlist.strings and Localizable.strings) to the app bundle, providing translations for UI elements such as plugin management, injection strategies, and system messages.

TrollFools/it.lproj · high confidence

Added Vietnamese language support

The app now includes a complete Vietnamese localization, providing translated strings for the user interface, settings, and system messages. This allows Vietnamese-speaking users to interact with TrollFools in their native language, covering key areas such as plugin management, injection strategies, and error reporting.

TrollFools/vi.lproj · high confidence

New command-line interface (trollfoolscli) and updated build configuration

The project now includes a new command-line tool named \trollfoolscli\, configured as a distinct executable target with its own Xcode scheme for building, testing, and launching. The build system has been updated to support this new target, incorporating additional source files (such as \CmdInject.swift\, \CmdEject.swift\, and \Constants.swift\) and frameworks (including \ArgumentParser\, \MachOKit\, and \ZIPFoundation\). The configuration also reflects a shift in tooling, replacing older LLVM-based utilities with \ldid\ for signing and adding support for \libzstd\ and \ArArchiveKit\, while removing legacy resources like \llvm-install-name-tool\ and \libLLVM.dylib\.

TrollFools.xcodeproj · high confidence

TrollFools app management and CLI tooling

This change introduces the core application model, UI components, and a command-line interface for TrollFools. Users can now view and filter installed applications by scope (All, User, TrollStore, System) with search highlighting, and manage plugin injection via a new CLI tool (trollfoolscli) supporting list, view, inject, and eject commands. The app list displays injection status, version locks, and advertisement badges, while the underlying model handles Darwin notifications for app changes and persists settings.

TrollFools · high confidence

Behavioural changes

Devkit tooling reorganization and standardization

The devkit scripts have been reorganized into a dedicated directory, with the rootless build script moved to devkit/rootless.sh. New utility scripts have been added to standardize the build process: bump-version.sh handles version and build number updates for both debug and release configurations, print-version.sh displays current versioning info, standardize-entitlements.sh converts entitlements to XML1 format, and tipa.sh packages the application into a .tipa file using the standard zip format instead of 7z.

devkit · high confidence

Tweak now launches FLEX inspector on device shake

The TrollFoolsTweak has been updated to replace its previous startup alert with a gesture-based developer tool. When the user shakes the device, the tweak now triggers the FLEX (Flexible Explorer) inspector via the shared manager, allowing for runtime inspection and debugging. This change also updates the build configuration to support arm64e architectures and targets iOS 14.0.

TrollFoolsTweak · high confidence

Updated Chinese (Simplified) localization strings

The Chinese (Simplified) localization files for TrollFools have been updated to reflect new and revised UI text. This includes new strings for features such as injection strategy selection, compatibility mode fallback, plugin export, and log viewing, as well as updated translations for existing messages regarding application injection status and error handling.

TrollFools/zh-Hans.lproj · high confidence

Version 4.3 release with injection compatibility fixes and CLI tool

This update introduces version 4.3 (Build 253), which fixes an assertion crash related to MachOKit and resolves an issue where re-injection could incorrectly select a previously-injected dynamic library as the target. The release also adds a new command-line interface tool (trollfoolscli), improves injection compatibility for Unity/runtime scenarios by falling back to scanning Frameworks directories, and adjusts the plugin removal process to distinguish between enabled and disabled plugins. Additionally, the build system has been updated to include the CLI tool in the package and standardize entitlements.

(repo-wide) · high confidence

Dependencies

Updated Swift Package Manager dependencies

The project's resolved package dependencies have been updated to include new libraries such as ArArchiveKit, BitByteData, CocoaLumberjack, DpkgVersion, SWCompression, Swift Argument Parser, Swift Collections, Swift Log, SwiftUI Introspect, and Zstd, while also switching the MachOKit dependency to a custom fork and updating version pins for existing packages.

(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 46 → 50 (+3.8)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 91 → 91 (+0.1)
  • Architecture 100 → 100 (+0.0)
  • Maturity 38 → 46 (+8.3)
  • Readiness 29 → 35 (+6.1)
  • Security 67 → 67 (+0.0)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

New (16)

  • AppListCell.body (cognitive 24) (TrollFools/AppListCell.swift)
  • AppListCell.body (cyclomatic 16) (TrollFools/AppListCell.swift)
  • Duplicated block (10–11 lines × 2) (TrollFools/EjectListView.swift)
  • Duplicated block (11 lines × 2) (TrollFools/AppListCell.swift)
  • Duplicated block (12 lines × 2) (TrollFools/AppListModel.swift)
  • Duplicated block (20 lines × 2) (TrollFools/FailureView.swift)
  • Duplicated block (6–7 lines × 2) (TrollFools/AppListCell.swift)
  • Floating branch dependency: machokit
  • Outdated: bitbytedata
  • Outdated: cocoalumberjack
  • Outdated: swcompression
  • Outdated: swift-argument-parser
  • Outdated: swift-collections
  • Outdated: swift-log
  • Outdated: swiftui-introspect
  • Outdated: zipfoundation

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

Survey your own repository

Lessica/TrollFools 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 30 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 1a4d4a301e096092f20c760fb2903c8f4db37240 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.