A lightweight yet powerful tool that wraps many package managers into one.
Install, track, and restore without changing your tools.
One manifest. One command to restore it all.
Install, search, and remove packages across 14 supported package managers (DNF, APT, Brew, Flatpak, Snap, Zypper, Pacman, Paru, MacPorts, Cargo, Npm, Pipx, Uv, and Go) through a single CLI. See per-manager feature support →
Works on Linux & macOS today. Windows support is planned.
Every install is recorded in a portable manifest.toml. Only your intentional choices, not dependency noise.
Drop your manifest.toml into ~/.config/stamp/ and run stamp restore to rebuild your entire environment on a new machine in minutes.
Forgot to use stamp? stamp reconcile detects packages installed outside the tool and tracks them automatically.
Add, remove, and list third-party repositories — PPAs, taps, remotes — across all managers with the same interface.
Homebrew casks, stamp provides, stamp autoremove, cache cleanup, version pinning — the native features you already know, unified. See the full list →
Every stamp command has aliases matching your package manager's native syntax — stamp show (APT/DNF), stamp outdated (Brew/npm), stamp tap (Brew). See the matrix →
Built-in man pages (stamp man install), shell completions, and auto-generated CLI reference docs.
Add --note to any install so you remember why you needed a package six months later.
XDG Base Directory, NO_COLOR support, strict stdout/stderr separation, and TTY-aware sudo.
$ stamp install htop $ stamp install spotify --manager flatpak $ stamp add lazygit -m brew --note "better git TUI"
$ sudo dnf install ripgrep $ stamp reconcile --dry-run # preview drift $ stamp reconcile # auto-track changes
$ cp manifest.toml ~/.config/stamp/ # copy your manifest to the stamp config dir $ stamp restore -y # rebuild everything
$ stamp update # update all packages in all managers at once $ stamp self-update # update stamp itself
$ stamp doctor
▪ System Diagnosis (Stamp Doctor)
Package Managers:
Name Status Path Details
apt ✓ Active /usr/bin/apt Default system manager (Debian/Ubuntu)
dnf ✓ Active /usr/bin/dnf Default system manager (Fedora/RHEL, alias yum)
pacman ✗ Not Found - Executable not found in $PATH
paru ✗ Not Found - Executable not found in $PATH
zypper ✗ Not Found - Executable not found in $PATH
snap ✓ Active /usr/bin/snap Universal Linux package manager
flatpak ✓ Active /usr/bin/flatpak Sandboxed application distribution
brew ✓ Active /home/user/.linuxbrew/bin/brew User-space manager
macports ✗ Not Found - Executable not found in $PATH
go ✓ Active /usr/local/go/bin/go Language toolchain — go install
npm ✓ Active /usr/bin/npm Node.js package manager
cargo ✗ Not Found - Executable not found in $PATH
pipx ✓ Active /usr/bin/pipx Python tool installer
uv ✗ Not Found - Executable not found in $PATH
Manifest Integrity:
Path: /home/user/.config/stamp/manifest.toml
Status: ✓ Healthy (42 package(s))
Configuration:
Path: /home/user/.config/stamp/config.toml
Status: ✓ Valid
UNIX Compliance:
NO_COLOR: ✗ Not set
Version: stamp v0.35.0
Man Page: ✓ Up to date (v0.35.0)
Completions: ✓ Installed (bash, zsh)
Output captured at v0.35.0; manager availability and paths vary by platform.