yonaskolb/Mint
63.3
Adequate · 1 October 2026
1.2k
lines of production code
Swift
primary language
2
measurements over time
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.