Skip to content
CAI
Software that uses CAICheck a score

devxoul/Then

51.9

Weak · 30 September 2026

279

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Swift utility library named 'Then' that provides extensions for object configuration and execution. It supports multiple platforms including iOS, macOS, tvOS, and watchOS, and offers installation via Swift Package Manager and CocoaPods. The library includes comprehensive test coverage for its core functionality and has recently adopted Tuist for project generation to improve build consistency.

Architecture

Migration to Tuist for project generation

The project has switched from traditional Xcode project files to Tuist, a tool that generates Xcode projects from code. This change introduces new configuration files (Project.swift, Tuist.swift) and updates the .gitignore to exclude generated artifacts like .xcodeproj files and DerivedData. For users, this means the project structure is now defined programmatically, potentially simplifying maintenance and ensuring consistency across different environments, while the core library functionality remains unchanged.

(repo-wide) · high confidence

Behavioural changes

Then library adds throwable closures and platform-specific geometry support

The Then library now allows its configuration closures to throw errors, enabling callers to handle failures during property setup or execution. It also extends support to iOS and tvOS by integrating with UIKit.UIGeometry for layout-related types, while adding conformance for JSONDecoder, JSONEncoder, and Set to the Then protocol.

Sources · high confidence

Test coverage

Added unit tests for Then, With, and Do extensions

Added a new test suite (ThenTests.swift) that verifies the behavior of the Then, With, and Do extension methods across various types including NSObject, arrays, dictionaries, sets, and UserDefaults, including error handling for the Do extension.

Tests · high confidence

Dependencies

Add Swift Package Manager and CocoaPods support for Then 3.0.0

The library now supports installation via Swift Package Manager and CocoaPods. The new Package.swift defines the 'Then' library with support for macOS 10.10, iOS 9, tvOS 9, and watchOS 2, while the Then.podspec configures CocoaPods for version 3.0.0, targeting iOS 9, macOS 10.9, tvOS 9, and watchOS 2, and requires Swift 5.0.

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

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 21 → 21 (+0.0)
  • Readiness 55 → 58 (+3.3)
  • Security 100 → 100 (+0.0)

Resolved (2)

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

New (1)

  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established

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

Survey your own repository

devxoul/Then 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 529bfcb6a47276296d202b94a9c49ad6a10b6da2 — 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.