Skip to content
CAI
Software that uses CAICheck a score

mikker/LeaderKey

55.4

Adequate · 1 October 2026

4.8k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Leader Key is a macOS application that provides a customizable keyboard shortcut system, allowing users to define and manage key bindings through a visual configuration editor. It features a cheatsheet overlay with multiple visual themes, supports URL scheme automation, and includes automatic update capabilities via Sparkle. The system handles complex input mapping, including case sensitivity and layout forcing, while offering robust configuration validation and management tools.

How it got here

2024 — Leader Key rewrite and release infrastructure

10 changes.

The Leader Key application was completely rewritten with a new AppKit-based architecture, introducing a comprehensive configuration editor, multiple visual themes, and robust key mapping features. This period also established the project's foundational repository structure, documentation, and automated macOS release workflows to support distribution and updates.

2025 — Settings UI and theme expansion

4 changes.

This period focused on enhancing the user interface by introducing dedicated settings panes for configuration and advanced behavior, alongside five new visual themes for the overlay. The work also established the Xcode scheme structure to support development and CI workflows, while refining the AI assistant's configuration to align with senior developer standards.

Features

Added Xcode scheme configuration for Leader Key

The project now includes a defined Xcode scheme (Leader Key.xcscheme) that configures the build, test, launch, profile, analyze, and archive actions. This setup enables running the Leader KeyTests and Leader KeyUITests test plans, launching the app in Debug mode, and archiving in Release mode, providing the necessary structure for development and CI workflows.

Leader Key.xcodeproj/xcshareddata · high confidence

Automated macOS release and build versioning scripts

Added bin/bump and bin/release shell scripts to streamline the macOS build and release process. The bump script calculates a build number from the current git branch history, updates the Xcode project version using agvtool, and resolves package dependencies. The release script packages the application, generates an appcast, copies release notes to the clipboard, updates the appcast XML, uploads the build and metadata to an S3 bucket, and commits the changes.

bin · high confidence

Initial repository setup and documentation

This change establishes the project's foundational structure by adding essential configuration and documentation files. It includes an .editorconfig for Swift formatting, a .gitignore to exclude build artifacts and user data, and a .swift-version file specifying Swift 5. The repository is now licensed under the MIT License. Comprehensive documentation is provided via a new README.md, which details installation (including Homebrew), usage examples, URL scheme automation, and FAQ, while also noting that the project has been superseded by 'Tuna'. Additionally, AGENTS.md and CLAUDE.md are added to guide coding agents with architecture overviews, build commands, and code style guidelines, and a buildServer.json file is introduced to support the Xcode Build Server protocol.

(repo-wide) · high confidence

New settings panes for configuration, themes, and advanced behavior

The settings interface now includes dedicated General and Advanced panes. The General pane provides a visual editor for managing shortcuts and groups, with buttons to add actions or groups, sort, expand/collapse, and load from file, alongside a theme picker and validation warnings for configuration errors. The Advanced pane allows users to configure the config directory, modifier key behavior (including sticky mode and group actions), cheatsheet display options (auto-open delay, icons, favicons, and item details), reactivation behavior, target screen, and keyboard layout forcing.

Leader Key/Settings · high confidence

New theme options: Breadcrumbs, Cheater, For The Horde, Mini, and MysteryBox

Users can now choose from five new visual themes for the Leader Key overlay. The Breadcrumbs theme displays a horizontal scrollable path of navigation steps, while the Mini theme offers a compact, corner-positioned indicator. The MysteryBox and For The Horde themes provide centered, square-style overlays with distinct visual styles (the latter featuring animated rotation effects), and the Cheater theme replaces the standard overlay with a persistent cheatsheet view.

Leader Key/Themes · high confidence

Behavioural changes

App configuration and entitlements for updates and URL handling

The app now supports automatic updates via Sparkle (configured with a GitHub Pages feed URL and public key) and can be launched via the 'leaderkey' URL scheme. Additionally, the app is now sandboxed with read-only file access permissions, and the main menu includes a 'Check for Updates...' item to trigger manual update checks.

Leader Key/Support · high confidence

Leader Key app rewritten with new architecture and features

The Leader Key application has been completely rewritten from the ground up, replacing the previous SwiftUI App lifecycle with a traditional AppDelegate-based architecture. This new version introduces a comprehensive cheatsheet UI for visualizing key bindings, a robust configuration system with real-time validation and conflict detection, and a centralized key mapping engine that supports case-sensitive keys and reserved key protection. Users gain access to multiple visual themes (Mystery Box, Mini, Breadcrumbs, For The Horde, Cheater), customizable menu bar status item behavior, and URL scheme support for external automation. The app also includes global shortcut registration for direct group activation, gentle update reminders via Sparkle, and improved handling of special keys and keyboard layouts.

Leader Key · high confidence

Major project restructuring and dependency integration

The Xcode project has been significantly reorganized to support new application capabilities. New source files have been added, including a config editor (ConfigOutlineEditorView, KeyCapture), theme definitions (Breadcrumbs, MysteryBox, Mini, ForTheHorde, Cheater), and core infrastructure (UserConfig, CommandRunner, URLSchemeHandler). Several new frameworks are now linked, including Sparkle for automatic updates, Kingfisher for image caching, and standard libraries like KeyboardShortcuts, Defaults, and LaunchAtLogin. The project structure now explicitly groups Themes and Settings, and the legacy UI test target has been removed in favor of updated unit tests (UserConfigTests, KeyboardLayoutTests, ConfigValidatorTests).

Leader Key.xcodeproj · high confidence

Rewritten config editor with drag-and-drop, sorting, and icon pickers

The configuration editor has been completely rewritten to use a virtualized AppKit NSOutlineView, enabling users to drag and drop items to reorder them and sort groups alphabetically. The editor now includes a dedicated icon picker allowing users to assign custom app icons or system symbols to actions and groups, and it displays favicons for URL-based actions. A new KeyButton component provides improved keyboard input capture with visual feedback for validation errors, and the UI incorporates a refresh animation when the configuration reloads.

Leader Key/Views · high confidence

Updated general AI assistant configuration

The general system prompt for the AI assistant has been updated to enforce a senior developer persona that prioritizes simple, elegant solutions and encourages challenging assumptions. The configuration now explicitly instructs the assistant to avoid suggesting project builds or runs, as these are handled in Xcode, and to use the \swift format\ command for linting fixes instead of manual corrections.

.cursor · high confidence

Test coverage

Added comprehensive test coverage for configuration validation, keyboard layouts, URL schemes, and user config; Removed default UI test scaffolding.

Dependencies

Resolved Swift Package Manager dependencies

The project now pins its Swift Package Manager dependencies to specific versions, ensuring reproducible builds. The resolved package list includes Defaults (9.0.5), KeyboardShortcuts (2.4.0), Kingfisher (8.5.0), LaunchAtLogin-Modern (1.1.0), Settings (3.1.1), Sparkle (2.8.0), swift-syntax (602.0.0), SwiftFormatPlugins (1.1.1), and SymbolPicker (1.6.2).

(dependencies) · high confidence

Housekeeping

Placeholder file added to Updates directory

A .keep file has been added to the Updates directory to ensure the folder is tracked by version control, preserving the directory structure even if it remains empty of other content.

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

Lenses

  • Code Health 96 → 96 (-0.1)
  • Architecture 90 → 94 (+4.2)
  • Maturity 60 → 60 (+0.0)
  • Readiness 55 → 41 (-13.8)
  • Security 61 → 61 (+0.0)

New (5)

  • Duplicated block (6 lines × 2) (Leader Key/Themes/ForTheHorde.swift)
  • Outdated: defaults
  • Outdated: kingfisher
  • Outdated: settings
  • Outdated: sparkle

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

Survey your own repository

mikker/LeaderKey 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 16bcb307dcc5309fbc3a00fe398d913e1f7ddc51 — 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.