Meta Package Manager
🎁 wraps all package managers with a unifying CLI
Install / Use
npx skills add kdeldycke/meta-package-managerInstalls into whichever agent you are using.
README
What is Meta Package Manager?
- provides the
mpmCLI, a wrapper around all package managers mpmis likeyt-dlp, but for package managers instead of videosmpmsolves XKCD #1654 - Universal Install Script
Quick start
Thanks to uv, you can run mpm on any platform in one command, without installation or venv:
$ uvx meta-package-manager
Features
<img align="right" width="30%" height="30%" src="https://raw.githubusercontent.com/kdeldycke/meta-package-manager/main/docs/assets/mpm-outdated-cli.png"/> <img align="right" width="30%" height="30%" src="https://raw.githubusercontent.com/kdeldycke/meta-package-manager/main/docs/assets/mpm-managers-cli.png"/>- Inventory and list all package managers available on the system.
- Supports macOS, Linux and Windows.
- Standalone executables for Linux, macOS and Windows.
- List installed packages.
- List duplicate installed packages.
- Search for packages.
- Install a package.
- Remove a package.
- List outdated packages.
- List orphaned packages.
- Sync local package infos.
- Diagnose the health of package managers.
- Upgrade all outdated packages.
- Mitigate supply-chain attacks with a release-age cooldown that refuses too-recent versions:
mpm --cooldown "7 days" upgrade --all. - Snapshot installed packages to a TOML manifest or a Brewfile.
- Restore/install list of packages from TOML files.
- Software Bill of Materials: export installed packages to SPDX and CycloneDX SBOM files.
- Pin-point commands to a subset of package managers (include/exclude selectors).
- Support plain, versioned and purl package specifiers.
- Export output to JSON or user-friendly tables.
- Shell auto-completion for Bash, Zsh and Fish.
- Provides a Xbar/SwiftBar plugin for friendly macOS integration.
- Provides a GNOME Shell extension for friendly Linux desktop integration.
- Because
mpmtry to wrap all other package managers, it became another pathological case of XKCD #927: Standards
Supported package managers
One CLI to rule them all:
<!-- mirror-src from meta_package_manager._docs import managers_sankey print(managers_sankey()) -->---
config: {"sankey": {"showValues": false, "width": 800, "height": 400}}
---
sankey-beta
Meta Package Manager,apk,1
Meta Package Manager,apm,1
Meta Package Manager,apt,1
Meta Package Manager,apt-cyg,1
Meta Package Manager,apt-mint,1
Meta Package Manager,asdf,1
Meta Package Manager,brew,1
Meta Package Manager,cargo,1
Meta Package Manager,cask,1
Meta Package Manager,cave,1
Meta Package Manager,choco,1
Meta Package Manager,chromebrew,1
Meta Package Manager,composer,1
Meta Package Manager,conda,1
Meta Package Manager,cpan,1
Meta Package Manager,deb-get,1
Meta Package Manager,dnf,1
Meta Package Manager,dnf5,1
Meta Package Manager,emerge,1
Meta Package Manager,eopkg,1
Meta Package Manager,fink,1
Meta Package Manager,flatpak,1
Meta Package Manager,fwupd,1
Meta Package Manager,gem,1
Meta Package Manager,gh-ext,1
Meta Package Manager,guix,1
Meta Package Manager,macports,1
Meta Package Manager,mas,1
Meta Package Manager,mise,1
Meta Package Manager,nix,1
Meta Package Manager,npm,1
Meta Package Manager,opkg,1
Meta Package Manager,pacaur,1
Meta Package Manager,pacman,1
Meta Package Manager,pacstall,1
Meta Package Manager,paru,1
Meta Package Manager,pip,1
Meta Package Manager,pipx,1
Meta Package Manager,pkcon,1
Meta Package Manager,pkg,1
Meta Package Manager,pkg-tools,1
Meta Package Manager,pkgin,1
Meta Package Manager,pnpm,1
Meta Package Manager,ports,1
Meta Package Manager,pwsh-gallery,1
Meta Package Manager,scoop,1
Meta Package Manager,sdkman,1
Meta Package Manager,sfsu,1
Meta Package Manager,slapt-get,1
Meta Package Manager,snap,1
Meta Package Manager,soar,1
Meta Package Manager,sorcery,1
Meta Package Manager,steamcmd,1
Meta Package Manager,stew,1
Meta Package Manager,sun-tools,1
Meta Package Manager,swupd,1
Meta Package Manager,tazpkg,1
Meta Package Manager,tlmgr,1
Meta Package Manager,topgrade,1
Meta Package Manager,urpmi,1
Meta Package Manager,uv,1
Meta Package Manager,uvx,1
Meta Package Manager,volta,1
Meta Package Manager,vscode,1
Meta Package Manager,vscodium,1
Meta Package Manager,winget,1
Meta Package Manager,xbps,1
Meta Package Manager,yarn,1
Meta Package Manager,yarn-berry,1
Meta Package Manager,yay,1
Meta Package Manager,yum,1
Meta Package Manager,zerobrew,1
Meta Package Manager,zypper,1
<!-- mirror-src-end -->
Metadata and operations
<!-- mirror-src from meta_package_manager._docs import operation_matrix print(operation_matrix()[0]) -->| Package manager | Version | Cooldown | BSD[^bsd] | Linux[^linux] | macOS | Unix[^unix] | Windows | installed | outdated | orphans | search | install | upgrade | upgrade_all | remove | sync | cleanup | doctor |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :------: | :-------: | :-----------: | :---: | :---------: | :-----: | :---------: | :--------: | :-------: | :------: | :-------: | :-------: | :-----------: | :------: | :----: | :-------: | :------: |
| apk | >=2.10.0 | | | 🐧 | | | | ✓ | ✓ | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| apm ⚠️ | >=1.0.0 | | 🅱️ | 🐧 | 🍎 | | 🪟 | ✓ | ✓ | | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | |
| apt
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
