| Crates.io | spine-pkgman |
| lib.rs | spine-pkgman |
| version | 0.3.0 |
| created_at | 2025-05-28 03:34:39.455542+00 |
| updated_at | 2025-10-15 15:59:39.770955+00 |
| description | The backbone of your package management ecosystem. Automatically detects and updates all installed package managers in parallel across *nix systems. |
| homepage | |
| repository | https://github.com/plyght/spine |
| max_upload_size | |
| id | 1692310 |
| size | 114,013 |
The backbone of your package management ecosystem, Spine, Automatically detects and updates all installed package managers in parallel across *nix systems.
Spine serves as the central support structure that connects and coordinates all your package managers. Just as the spine supports the entire body, Spine supports all package managers by discovering them on your system and running their update workflows simultaneously with a clean TUI interface.
# From source
git clone https://github.com/plyght/spine.git
cd spine
cargo build --release
sudo cp target/release/spn /usr/local/bin/
# Using Cargo
cargo install spine-pkgman
# List detected package managers
spn list
# Upgrade all package managers
spn upgrade
The TUI interface shows real-time status: Pending → Refreshing → Self-updating → Upgrading → Cleaning → Complete
Navigate with ↑↓/j/k, press Enter for details, 'q' to quit.
Spine uses backbone.toml to define package manager commands:
[managers.brew]
name = "Homebrew"
check_command = "brew --version"
refresh = "brew update"
upgrade_all = "brew upgrade"
cleanup = "brew cleanup"
requires_sudo = false
Configuration is searched in: current directory → binary directory → /etc/spine/ → /usr/local/etc/spine/
config.rs: Configuration loading and parsingdetect.rs: Package manager discoveryexecute.rs: Command execution with timeout/sudo handlingtui.rs: Terminal interface using Ratatuimain.rs: CLI orchestrationcargo build
cargo test
Requires Rust 1.70+. Key dependencies: clap, ratatui, crossterm, tokio, serde/toml.
MIT License