Skip to content
CAI
Software that uses CAICheck a score

didriksg/Crisp

51.7

Adequate · 1 October 2026

21.3k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Crisp is a macOS application that manages external display settings, including brightness, HDR, and HiDPI configurations. It provides a graphical interface for per-display controls and a command-line tool for scriptable automation. The system handles display hardware interactions via DDC and ensures consistent visual behavior across different monitor types.

Features

Added Simplified and Traditional Chinese localizations

The app now includes user interface translations for Simplified Chinese (zh-Hans) and Traditional Chinese (zh-Hant), covering key UI strings such as display states (collapsed, expanded, disconnected) and naming conventions.

Crisp/Resources · high confidence

Added social share card generation scripts

New HTML templates and a README guide have been added to the \scripts/og-card\ directory to generate 1200x630px social share images (og:image) for English and Chinese locales, along with a separate download badge asset. These files enable the documentation site to display updated, identity-first marketing visuals on social platforms.

scripts/og-card · high confidence

Crisp 1.6.0: macOS 14 support, Sparkle auto-updates, crispctl CLI, and MIT license

Crisp now runs on macOS 14 (Sonoma) and includes an in-app auto-updater via Sparkle, replacing the previous manual GitHub release flow. A new command-line tool, crispctl, is bundled with the app to manage displays, brightness, and HDR from the terminal. The project has also re-licensed from MIT with the Commons Clause to plain MIT, and the build system now uses a Makefile for local development and CI checks.

(repo-wide) · high confidence

Introduce crispctl CLI and local control server for external automation

Crisp now ships a command-line tool (crispctl) and a local Unix socket server that allow external scripts and Shortcuts actions to control displays, brightness, HDR, and presets. The server enforces same-user access, serializes display connect/disconnect requests to prevent race conditions, and exposes display metadata, brightness boost state, HDR state, and presets. A helper installs the crispctl binary into /usr/local/bin via a symlink, requiring admin privileges only when necessary.

Crisp/Services · high confidence

Introduce crispctl command-line tool for display control

A new \crispctl\ command-line utility is now available to control Crisp display settings from the terminal or scripts. It communicates with the Crisp app over a local Unix socket to manage brightness, Extra Brightness, HDR, image adjustments, and presets, and includes commands to install agent skills for AI assistants.

Sources · high confidence

New diagnostic and build scripts for display calibration, localization, and DDC probing

The scripts directory now includes a suite of new tools: App Intents metadata generation helpers (appintents.sh), a runnable Swift validator for the BrightnessBoostMath logic (check-boost-math.swift), and Python scripts to enforce localization key coverage and translation completeness (check-localization-keys.py, check-translations.py). Additionally, several Swift diagnostic probes have been added to investigate display hardware behavior, including DDC channel validation and stress testing (ddc-probe.swift, ddc-stress-probe.swift, ddc-write-probe.swift), EDR headroom and overlay calibration (edr-inspect.swift, edr-spike.swift, edr-spike2.swift, edr-spike3.swift), HDR capability detection (hdr-probe.swift), and virtual display HiDPI mirroring verification (mirror-hidpi-probe.swift). A shell script (fetch-sparkle.sh) also automates the fetching and patching of the Sparkle updater framework.

scripts · high confidence

New display controls and shortcut management in the menu panel

The Crisp menu panel now includes several new per-display controls and a dedicated keyboard shortcuts section. Users can enable Extra Brightness (EDR upscaling) and explicit HDR toggles for compatible external monitors, and manage physical display disconnect/reconnect actions on Apple Silicon. A new Shortcuts section allows recording global keyboard shortcuts for HiDPI toggling and brightness adjustments. Additionally, the display arrangement view now supports drag-to-reposition with live name callouts, and the system auto-brightness toggle is available for built-in displays.

Crisp/Views · high confidence

Shortcuts integration and split-canvas panel architecture

Users can now control Crisp via the Shortcuts app, with actions to apply presets, set or get display brightness, toggle HDR, and manage Extra Brightness. The menu panel has been rebuilt using a split-canvas architecture that drives resize animations via CADisplayLink for smoother, display-synced motion, while also improving click handling and scroll behavior.

Crisp/App · high confidence

Behavioural changes

Enforce local CI checks before push

A new pre-push git hook has been added to run 'make check' locally before every push, mirroring the checks enforced by CI. This ensures that mechanical warnings and other quality gates are caught early, with the ability to bypass for a single push using 'git push --no-verify'.

.githooks · high confidence

Unified brightness control, precise key steps, and VRR detection

The display models now support a combined brightness slider that maps internal and external displays to a single absolute luminance target, ensuring perceptual consistency across different panel types. Brightness adjustments via keyboard keys now snap to fixed stops (16 steps, or quarter-steps with Option+Shift) to match the macOS OSD, and gamma/image adjustments are persisted using stable display UUIDs instead of volatile IDs to prevent settings from drifting after reconnections. Additionally, the system detects variable refresh rate (VRR) modes on external displays and labels them appropriately, while also capping the active display count to the number of physical ports to prevent phantom displays from appearing after undocking.

Crisp/Models · high confidence

macOS 27 menu bar item styling and interaction support

Added support for macOS 27's changed menu bar behavior by introducing a clear overlay window to intercept clicks before the system highlights the item, and a custom highlight renderer that draws the lit pill behind the icon since the native highlight method no longer works on this version. These changes ensure the Crisp menu bar item visually matches the macOS 27 HUD and responds correctly to user interaction.

Crisp/Utilities · high confidence

Test coverage

Expanded test coverage for display control, brightness logic, and DDC services

Added comprehensive headless tests for the Crisp application's core display management features. This includes validation for the \crispctl\ CLI parser, covering brightness, HDR, display connection toggling, preset application, and image adjustment commands. New tests verify the brightness key-step logic, including quarter-step fine adjustments and extra-brightness grids, as well as combined brightness math for matching external displays to built-in panels via absolute luminance. The DDC service matcher is tested for identity resolution strategies (exact serial, vendor/product fallback, and traversal order), while DDC operation queues are verified for serial execution per display and non-blocking behavior across different displays. Additional tests cover display mode geometry edge cases (720p floor, square modes, HiDPI fallbacks), notch detection, and pointer edge-crossing behavior for unaligned display arrangements.

CrispTests · 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 54 → 52 (-2.3)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 88 → 87 (-1.0)
  • Architecture 99 → 100 (+0.6)
  • Maturity 65 → 65 (-0.1)
  • Readiness 50 → 49 (-1.1)
  • Security 75 → 75 (+0.0)
  • Accessibility 43 → 43 (+0.0)
  • Performance 62 (new)

Resolved (6)

  • CrispControlModel.handle (cognitive 16) (Crisp/Models/CrispControlModel.swift)
  • CrispControlModel.handle (cyclomatic 17) (Crisp/Models/CrispControlModel.swift)
  • Documentation: no installation or build instructions (README.md)
  • Hotspot: Crisp/Services/MirroredModeService.swift (Crisp/Services/MirroredModeService.swift)
  • Low cohesion: GammaService (LCOM4 4) (Crisp/Services/GammaService.swift)
  • Repeated repair: Crisp/Views/ShortcutRecorderRow.swift (Crisp/Views/ShortcutRecorderRow.swift)

New (35)

  • ArrangementView.swift.snappedRect (cognitive 17) (Crisp/Views/ArrangementView.swift)
  • BrightnessSliderView.body (cognitive 35) (Crisp/Views/BrightnessSliderView.swift)
  • BrightnessSliderView.body (cyclomatic 22) (Crisp/Views/BrightnessSliderView.swift)
  • CombinedBrightnessView.body (cognitive 23) (Crisp/Views/BrightnessSliderView.swift)
  • CrispControlModel.handleImage (cognitive 17) (Crisp/Models/CrispControlModel.swift)
  • CrispControlServer.reply (cyclomatic 18) (Crisp/Services/CrispControlServer.swift)
  • Documentation: no installation or build instructions (docs/index.html)
  • Duplicated block (13 lines × 2) (Crisp/Views/SavePresetView.swift)
  • Duplicated block (19 lines × 2) (Crisp/Views/PresetListView.swift)
  • Duplicated block (5 lines × 2) (scripts/edr-spike.swift)
  • Duplicated block (5 lines × 4) (Crisp/Services/DDCService.swift)
  • Duplicated block (6 lines × 3) (scripts/ddc-probe.swift)
  • Duplicated block (6–8 lines × 2) (Crisp/Services/CrispControlServer.swift)
  • Duplicated block (7 lines × 3) (scripts/edr-inspect.swift)
  • Duplicated block (8 lines × 2) (Crisp/Views/ExtraBrightnessView.swift)
  • Duplicated block (8 lines × 2) (Crisp/Views/MenuBarView.swift)
  • Duplicated block (8–9 lines × 2) (Crisp/Services/CrispControlServer.swift)
  • Duplicated block (9 lines × 2) (Crisp/Views/SavePresetView.swift)
  • EdgeCrossing.target (cognitive 22) (Crisp/Models/EdgeCrossing.swift)
  • EdgeCrossing.target (cyclomatic 19) (Crisp/Models/EdgeCrossing.swift)
  • …and 15 more

Changes since last survey

  • 45 commits — 38 feature/other, 7 fixes

By area

  • (repo) — 12 commits
  • Crisp/Services — 12 commits
  • (root) — 7 commits
  • Crisp/App — 4 commits
  • Crisp/Models — 4 commits
  • Sources/crispctl — 2 commits
  • Crisp/Resources — 1 commit
  • Crisp/Utilities — 1 commit
  • docs/BUILDING.md — 1 commit
  • docs/superpowers — 1 commit

Notable commits

  • fix: Fix the Xcode 27 build: capture self weakly in the screen-parameters observer
  • fix: Merge pull request #177 from Dr8pus/fix-panel-toggle
  • fix: Merge pull request #178 from didriksg/fix-osd-macos27
  • fix: Merge pull request #179 from didriksg/fix-smooth-scaling-neo
  • fix: Merge pull request #187 from didriksg/fix-menu-bar-show-desktop
  • fix: Merge pull request #191 from didriksg/fix-gamma-reset
  • fix: Merge pull request #194 from didriksg/fix-xcode27-capture
  • change: Add Shortcuts actions for presets, brightness, HDR, disconnect and Image Adjustment
  • change: Add Traditional Chinese (#173)
  • change: Add crispctl image get, set and reset
  • change: Add crispctl preset apply
  • change: Add crispctl preset list
  • change: Add crispctl skill commands and shorten the README
  • change: Check localization keys against the committed catalog
  • change: Credit @Dr8pus for #177
  • change: Credit @Yangmoooo for #175
  • change: Explain why smooth scaling is off on A-series Macs
  • change: Fade Image Adjustment when a preset applies it
  • change: Hide the panel on the second status item click
  • change: Keep developer notes off the website
  • …and 25 more

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

Survey your own repository

didriksg/Crisp 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 cf34c88404d19489e2ee3df8ad867d865be06120 — 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.