How milanvarady/applite works
Applite is a native macOS cask-only app store backed by Homebrew. Users discover or search the catalog, select a cask, then install, update, open, or remove it; the app also supports custom taps, Brewfile migration, and Homebrew setup. The graph emphasizes the shared CaskManager and the documented local SQLite/FTS5 catalog. README capability descriptions supplement the sampled source; links for unsampled features are kept at subsystem level, and uncertain implementation wiring is omitted.
Main entry points: CaskManager.swift Cask manager · ContentView.swift Navigation views · Shell.swift Brew command runner · SearchView.swift Catalog search
Components 26
App navigation
- App shell
Applite/App/AppliteApp.swift - Navigation views
Applite/Navigation/ContentView.swift - Cask actions
Applite/AppViews/AppView.swift
Cask catalog
- Discover gallery
Applite/Features/Discover/DiscoverView.swift - Catalog search
Applite/Features/Search/SearchView.swift - Categories and taps
Applite/Features/Categories/CategoryView.swift - Cask manager
Applite/Core/CaskCore/CaskManager.swift - Catalog loader
Applite/Core/CaskCore/CaskDataLoader.swift - Catalog data service
Applite/Core/Database/CaskDatabaseService.swift - SQLite FTS5 catalog
Applite/Core/Database/AppDatabase.swift
Homebrew operations
- Install and update
Applite/Core/Brew/BrewService.swift - Installed app state
Applite/Core/Brew/InstalledCaskService.swift - Brew command runner
Applite/Core/Brew/Shell.swift - Homebrew setup
Applite/Core/Brew/Installation/HomebrewBootstrap.swift - Bundled Homebrew
Applite/Core/Brew/Installation/AnnexBrewManager.swift - Brew settings
Applite/Features/Settings/BrewSettingsView.swift - Installed apps
Applite/Features/Installed/InstalledView.swift - App updates
Applite/Features/Updates/UpdateView.swift - Active tasks
Applite/Features/ActiveTasks/ActiveTasksView.swift
Migration and settings
- Brewfile migration
Applite/Features/AppMigration/ImportAppsView.swift - App preferences
Applite/Features/Settings/SettingsView.swift
System services
- System proxy settings
Applite/Core/Infrastructure/NetworkProxyManager.swift
Other components
- Mac user
- Homebrew JSON API
- Homebrew CLI
- macOS proxy configuration
Connections 34
- Mac user → App shell: launches
- App shell → Navigation views: shows
- Navigation views → Discover gallery: routes to
- Navigation views → Catalog search: routes to
- Navigation views → Categories and taps: routes to
- Navigation views → Installed apps: routes to
- Navigation views → App updates: routes to
- Navigation views → Active tasks: routes to
- Discover gallery → Cask manager: requests casks
- Catalog search → Cask manager: searches via
- Categories and taps → Cask manager: requests casks
- Cask manager → Catalog loader: loads catalog
- Catalog loader → Homebrew JSON API: syncs catalog
- Catalog loader → Catalog data service: stores and reads
- Catalog data service → SQLite FTS5 catalog: queries and writes
- Catalog search → Cask actions: displays results
- Installed apps → Cask manager: reads app state
- App updates → Cask manager: reads update state
- Active tasks → Cask manager: reads task state
- Cask actions → Cask manager: requests actions
- Cask manager → Install and update: forwards operations
- Cask manager → Homebrew setup: recovers brew
- Cask manager → Installed app state: refreshes state
- Install and update → Brew command runner: runs commands
- Installed app state → Brew command runner: lists casks
- Brew command runner → Homebrew CLI: invokes
- Homebrew setup → Bundled Homebrew: sets up bundled brew
- Bundled Homebrew → Brew command runner: downloads and verifies
- Brew settings → Homebrew setup: configures brew
- Brewfile migration → Cask manager: resolves casks
- Mac user → Brewfile migration: imports or exports
- Mac user → App preferences: configures
- App preferences → System proxy settings: sets proxy options
- System proxy settings → macOS proxy configuration: reads configuration