Skip to content

A fast, terminal-based update checker for macOS applications

License

Notifications You must be signed in to change notification settings

skydiver/freshly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freshly

A fast, terminal-based update checker for macOS applications.

freshly scans your /Applications folder and checks for available updates across multiple sources — App Store, Homebrew Cask, and Sparkle feeds — all from your terminal.

freshly — outdated apps view freshly — all apps view
Outdated apps All apps

Features

  • Three update sources — checks App Store, Homebrew Cask catalog, and Sparkle appcast feeds concurrently
  • No package manager required — detects updates for apps installed via DMG, drag-and-drop, or direct download
  • Interactive TUI — browse apps, view changelogs, filter by update status, search by name
  • JSON output — pipe results to other tools with --json
  • Fast — parallel scanning with async I/O, typically completes in a few seconds

Installation

Homebrew

brew install skydiver/freshly/freshly

From source

Requires Rust 1.75 or later.

git clone https://github.com/skydiver/freshly.git
cd freshly
cargo install --path .

Build only

cargo build --release
# Binary at target/release/freshly

Usage

# Launch the interactive TUI
freshly

# Output as JSON (non-interactive)
freshly --json

# Filter by update source
freshly --source homebrew

# JSON with error details
freshly --json --verbose

Keyboard Controls

Key Action
/ or j / k Navigate list or scroll changelog
Tab Switch between app list and detail pane
f Cycle filter: Outdated → All → Up to date
s Cycle sort: Name → Source → Status
/ Search by app name
Esc Cancel search
r Refresh scan
PageUp / PageDown Scroll by page
q Quit

Update Sources

Tag Source How it works
[A] App Store Queries the iTunes lookup API for apps with a MAS receipt
[H] Homebrew Matches .app filenames against the full Homebrew Cask catalog
[S] Sparkle Fetches appcast XML feeds defined in the app's Info.plist

Contributing

Contributions are welcome. Please open an issue to discuss larger changes before submitting a PR.

# Run tests
cargo test

# Run clippy
cargo clippy -- -D warnings

License

MIT

About

A fast, terminal-based update checker for macOS applications

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages