Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

562 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CaskHub

Tests Codacy Badge codecov macOS License: MIT Latest release

caskhub-banner-dark

A native macOS app store for Homebrew casks. Browse, search, install, update, and uninstall thousands of Mac apps distributed through Homebrew - with original app icons extracted from the source, categories, popularity charts, and one-click actions, all in a clean SwiftUI interface.

CaskHub is 100% free and open source, no subscription, no premium tier, no ads, nothing.

caskhub-dark

Install

Download app for macOS

Or install with Homebrew:

brew install --cask caskhub

Features

Discover

  • Browse - curated shelves and a rotating hero pick, organized by category
  • Featured - the top 100 casks ranked by install popularity
  • Top Charts - most-installed casks with a 30 / 90 / 365-day analytics window
  • Recently Added - casks newly published to Homebrew in the last 30-90 days
  • Categories - every cask classified into browsable categories (Developer Tools, Productivity, Design, and more)
  • Search - instant search (โŒ˜F) across names, tokens, and descriptions

Manage

  • Install / Update / Uninstall with live progress states and cancellable downloads
  • Adopt Apps - bring apps you installed outside Homebrew (a downloaded DMG, another store) under brew management with one click, keeping the app in place
  • Guided Homebrew setup - walks you through installing Homebrew if it's missing, supports custom installation paths, and picks the native prefix on both Apple Silicon and Intel
  • Smart update detection - skips self-updating apps and normalizes packaging-suffix version differences, so the Updates badge only shows updates that matter
  • Installed library - detects what's already in your Caskroom, including apps installed from the command line
  • Native password prompts - pkg-based casks that need admin rights get a native macOS dialog instead of a terminal prompt
  • Rich metadata - original app icons, download sizes, install counts, homepages, and version info

Polish

  • Grid and list view modes, flexible sorting, light/dark/system themes
  • A custom design system with bundled typography
  • Bundled category data ships with the app, so browsing never blocks on the network
  • Built-in app updates - CaskHub keeps itself up to date via Sparkle

How It Works

CaskHub talks to Homebrew on three levels:

  1. Catalog & analytics come from the public Homebrew API (/api/cask.json and install analytics). No Homebrew installation is required just to browse.
  2. Installed-app detection reads install receipts directly from your Caskroom ($HOMEBREW_PREFIX/Caskroom) - fast, and no shelling out needed.
  3. Installs, updates, and uninstalls run through your real brew binary, so everything CaskHub does stays fully compatible with the command line. Anything you install in CaskHub can be managed with brew, and vice versa.

Categories, first-seen dates, and original app icons are produced by the companion CaskFlow pipeline and consumed via its GitHub Releases. A bundled snapshot ships inside the app, so none of it blocks launch or requires connectivity.

Requirements

  • macOS 15.6 or later
  • Homebrew - required for installing, updating, and uninstalling casks (browsing works without it)

Building from Source

Prefer building it yourself? You'll need Xcode 26 or later:

git clone https://github.com/alielsokary/CaskHub.git
cd CaskHub
open CaskHub.xcodeproj

Select the CaskHub scheme and run (โŒ˜R). Xcode resolves the Swift package dependencies (Sparkle, Sentry, and TelemetryDeck) automatically.

Architecture

  • SwiftUI + MVVM with @Observable view models and @MainActor isolation
  • Protocol-based networking layer for testability (BrewAPIClientProtocol, NetworkServiceProtocol) with dependency injection throughout
  • Two-tier icon caching (memory + disk) and HTTP-header-based download-size resolution
  • Minimal dependencies - three focused packages: Sparkle for app updates, Sentry for crash reporting, and TelemetryDeck for analytics

Testing & CI

Tests run with XCTest on pull requests to master and develop, and on pushes to develop, with coverage reported to Codecov and static analysis by Codacy. A release-freshness check on PRs to master ensures the bundled category data is up to date with the latest CaskFlow release.

xcodebuild test -project CaskHub.xcodeproj -scheme CaskHub -destination 'platform=macOS'

Privacy & Analytics

CaskHub collects anonymous usage analytics through TelemetryDeck, a privacy-first analytics service. No personal data or identifiers ever leave your Mac: user IDs are salted and hashed on-device, and there is no tracking across apps or websites.

CaskHub also sends anonymous crash reports through Sentry to help diagnose and fix stability issues.

You can opt out of both at any time in Settings โ†’ Privacy.

Localization

CaskHub speaks your language. Currently available in:

  • ๐Ÿ‡ฌ๐Ÿ‡ง English
  • ๐Ÿ‡จ๐Ÿ‡ณ ็ฎ€ไฝ“ไธญๆ–‡ (Simplified Chinese) โ€” translated by @carty900-jpg

macOS picks the language automatically from your system preferences; a per-app override is available under System Settings โ†’ General โ†’ Language & Region โ†’ Applications.

Want CaskHub in your language? Translations live in a single String Catalog โ€” open an issue or PR to add yours.

Contributing

Interested in contributing to CaskHub? We welcome contributions of all kinds!

Read CONTRIBUTING.md before opening a pull request โ€” note that all PRs target the develop branch.

Acknowledgements

  • CaskFlow โ€” the data pipeline behind CaskHub's categories, Recently Added dates, and app icons
  • Homebrew โ€” the package manager CaskHub is built on

License

CaskHub is released under the MIT License.

About

Native GUI for Homebrew Casks

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

769 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages