Skip to content

dominic-codespoti/cherry-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍒 cherry-tui

A terminal UI for managing Arch Linux packages — see pacman and AUR packages in one place, check for updates, and upgrade interactively.

Crates.io License: MIT CI

Features

  • Unified view of all installed packages (official repos + AUR)
  • Update detection — instantly see which packages have newer versions available
  • Search — fuzzy-filter the package list as you type
  • Filters — All / Upgradable / Repo-only / AUR-only / Orphans / VCS packages
  • Details pane — expand to see version, dependencies, AUR metadata and notes
  • Upgrade — upgrade a single package or all upgradable packages without leaving the TUI
  • Smart AUR queries — uses paru/yay when available, falls back to the AUR RPC API
  • Caching — results are cached locally so subsequent launches are instant
  • Background refresh — stale cache is refreshed in the background while you browse

Requirements

  • Arch Linux (or Arch-based distro — Manjaro, EndeavourOS, etc.)
  • pacman
  • Optional: paru or yay (for faster AUR queries and AUR upgrades)

Installation

From crates.io (recommended)

cargo install cherry-tui

You'll need Rust installed. If you don't have it: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

From source

git clone https://github.com/dominic-codespoti/cherry-cli.git
cd cherry-cli
cargo build --release
# binary is at target/release/cherry-tui
# optionally copy it to your PATH:
sudo cp target/release/cherry-tui /usr/local/bin/

Usage

Run it from any terminal:

cherry-tui

Keybindings

Key Action
j / Move down
k / Move up
PgUp / PgDn Page up / down
g / Home Go to top
G / End Go to bottom
/ Search
Esc Clear search / close
f Cycle filter (All → Upgradable → Repo → AUR → Orphans → VCS)
u Toggle upgradable filter
U Upgrade selected package
s Toggle sort direction
d Toggle details pane
r Refresh package data
q Quit

How it works

  1. Reads installed packages via pacman -Qi
  2. Queries latest versions from official repos (pacman -Si) and AUR (via helper or RPC API) in parallel
  3. Compares versions using vercmp and flags upgradable packages
  4. Renders everything in a ratatui TUI with async background refresh

License

MIT

About

A CLI TUI for upgrading Arch packages.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages