Satellite is a fast, highly-concurrent, visually polished Terminal UI (TUI) wrapper for your system's global package managers. It aggregates packages from almost every major ecosystem into a single unified terminal dashboard.
If you are setting up a new machine, managing a sprawling dev environment, or just keeping your global tools up to date, Satellite makes it frictionless.
- Universal Support: Seamlessly reads and executes updates for
winget,npm,pnpm,pip,uv,cargo,choco,scoop,gem,dotnet,brew,apt, andpacman. - Blazing Fast Concurrent Fetching: Uses multi-threading to scan all package managers concurrently the exact millisecond the app opens, preventing UI blocking.
- Cross-Platform: Automatically detects your OS and only loads the package managers relevant to your system (e.g.
wingeton Windows,apton Linux). - Two-Tier Dashboard:
- Tier 1: See all supported ecosystems and exactly how many packages you have installed in each.
- Tier 2: Dive into an ecosystem, view versions, and batch-select packages to manage.
- Batch Actions: Select multiple packages with the Spacebar and execute a bulk Update (
u) or Delete (d) across them natively in your terminal. - Single Binary: Written purely in Rust using
ratatuifor lightweight distribution.
- Rust (to compile from source).
- Windows Terminal (recommended for the best color rendering).
You can install Satellite directly from crates.io:
cargo install sat-cliOnce installed, simply launch the dashboard from anywhere in your terminal by typing:
satq: Quit application
j/korUp/Down: Navigate the package manager listEnter: Enter a package manager to view its installed packages
j/korUp/Down: Navigate the packages listSpace: Toggle selection for batch operationsu: Update selected packagesd: Delete / Uninstall selected packagesEscorBackspace: Go back to the Managers View
| Package Manager | Language / Ecosystem | Native Execution Strategy |
|---|---|---|
| Winget | Windows Native | winget list |
| Pip | Python | pip list --format=json |
| uv | Modern Python | uv tool list |
| npm | Node.js | npm list -g --json |
| pnpm | Modern Node.js | pnpm ls -g --json |
| Cargo | Rust | cargo install --list |
| Choco | Chocolatey | choco list -lo |
| Scoop | Windows Env | scoop list |
| Gem | Ruby | gem list --local |
| Dotnet | .NET Global Tools | dotnet tool list -g |
| Brew | macOS / Linux | brew list --versions |
| APT | Debian / Ubuntu | apt list --installed |
| Pacman | Arch Linux | pacman -Qe |
(Note: Package manager binaries execute natively on Unix and gracefully fallback to cmd /C execution wrappers on Windows environments).
Contributions are always welcome! Feel free to open issues or submit PRs to add support for missing package managers or UI enhancements.
This project is licensed under the MIT License.