Skip to content
CAI
Software that uses CAICheck a score

yonaskolb/Mint

63.3

Adequate · 1 October 2026

1.2k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Mint is a command-line tool for managing Swift Package Manager executables, allowing users to install, run, and uninstall packages. It provides commands for bootstrapping projects, checking for outdated dependencies, and locating installed binaries, while supporting custom installation paths via environment variables. The system is structured with a dedicated library for core package management logic and includes comprehensive test coverage for its configuration parsing and command execution features.

Features

Introduce MintKit library for package management

The MintKit library has been added to provide a structured, reusable API for Mint's core package management capabilities. This new component introduces dedicated types for handling package references, parsing Mintfile configurations, managing installation caches, and resolving package versions from Git repositories. It also includes utilities for reading user input and handling installation status checks, effectively centralizing the logic previously scattered across the CLI into a dedicated library layer.

Sources/MintKit · high confidence

Mint CLI now supports bootstrap, which, and outdated commands

The Mint CLI has been updated to version 0.18.0 and now includes three new commands: \bootstrap\, \which\, and \outdated\. These are added to the existing set of commands (run, install, uninstall, list), expanding the tool's capabilities for managing Swift Package Manager executables. The CLI also respects the \MINT\_PATH\ and \MINT\_LINK\_PATH\ environment variables for customizing installation and linking directories.

Sources/MintCLI · high confidence

Behavioural changes

Mint CLI commands rewritten with new flags and options

The command-line interface has been updated with several new capabilities and behavioral changes. The \install\ and \bootstrap\ commands now support an \--overwrite\ flag to automatically replace existing symlinks, and \install\ adds \--force\ for reinstallation and \--no-link\ to skip global linkage. The \run\ command introduces \--no-install\ to execute without installing, and \--executable\ to specify which binary to run. A new \outdated\ command lists packages in a Mintfile that have newer versions available, while \which\ prints the full path to an installed executable. Additionally, the \--silent\ flag is now available on package-based commands to suppress output.

Sources/MintCLI/Commands · high confidence

Mint CLI integration replaces placeholder entry point

The main entry point for the Mint tool has been updated to import and execute the MintCLI module, replacing the previous placeholder 'Hello, world!' print statement. This change activates the actual command-line interface logic defined in the MintCLI module, enabling users to interact with Mint's features rather than seeing a static message.

Sources/Mint · high confidence

Test coverage

Added test coverage for Mintfile parsing, package reference resolution, and core install/run commands

This change adds comprehensive tests for the Mint CLI's core functionality. It introduces tests for parsing Mintfile configurations (including comments, versioning, and case-insensitive repo lookup), resolving package references from various URL formats (GitHub, custom domains, SSH), and verifying package path generation. It also adds integration tests for the \install\, \run\, \bootstrap\, and \which\ commands, ensuring correct behavior for installing specific versions, latest versions, SHA-based versions, and global linking.

Tests · high confidence

Dependencies

Upgrade to Swift 5.9 and update core dependencies

The project has been upgraded to require Swift 5.9, introducing a new package structure with separate \Mint\, \MintCLI\, and \MintKit\ targets. Core dependencies have been updated to specific versions: SwiftCLI to 6.0.3, Rainbow to 4.0.1, PathKit to 1.0.1, and Version to 2.0.1, while Spectre remains pinned at 0.10.1 for testing.

(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 68 → 63 (-4.9)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 95 → 96 (+0.3)
  • Architecture 100 → 98 (-2.2)
  • Maturity 53 → 55 (+1.6)
  • Readiness 66 → 51 (-15.0)
  • Security 92 → 92 (+0.0)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Hotspot: Sources/MintKit/Mint.swift (Sources/MintKit/Mint.swift)

New (5)

  • Cache.list (cognitive 22) (Sources/MintKit/Cache.swift)
  • Coverage not measured — Swift suite
  • Off the main sequence: MintKit
  • Outdated: rainbow
  • Outdated: version

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

Survey your own repository

yonaskolb/Mint 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 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 3ee0f63e6be99cb655a1c567d283aa51a294ffc5 — 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-e569280dd5e2.