Inventaire
Ce qui est installé, par gestionnaire, avec des identités qui gardent l’architecture et la portée.
xpac list --provider apt --json
Sachez ce qui est installé, et pourquoi.
Ne changez paquets et fichiers de configuration qu’à travers un plan que vous avez lu.
UN INVENTAIRE / CINQ GESTIONNAIRES DE PAQUETS
Chaque paquet garde son gestionnaire, son architecture et sa portée : apt:curl:amd64, ce n’est pas juste « curl ».
COMMANDES / D’ABORD INSPECTER
L’inventaire, la provenance, les dépendances et l’audit sont en lecture seule. Les changements de paquets et le nettoyage des caches et des orphelins demandent un aperçu et une confirmation explicites.
Ce qui est installé, par gestionnaire, avec des identités qui gardent l’architecture et la portée.
xpac list --provider apt --json
La raison de l’installation d’un paquet : demandé explicitement, dépendance, ou inconnue.
xpac why apt:curl:amd64
Les dépendances installées telles que les décrivent APT, Pacman, RPM et les formules Homebrew, alternatives et contraintes comprises. Des métadonnées, pas un graphe entre gestionnaires.
xpac deps apt:curl:amd64
Écrire l’inventaire en TOML, d’un seul coup, et comparer une machine à un manifeste. Un inventaire exporté n’est pas un fichier de verrouillage.
xpac diff -f examples/profiles.toml --profile dev
Ce que changerait l’application d’un manifeste ou une installation — enregistré, relu, et avec une date d’expiration.
xpac plan -f system.toml
APT, Pacman, DNF5 et DNF4, les applications Flatpak, les formules Homebrew, apk et Portage, après un aperçu et un oui en direct ou un --yes explicite. Sans interaction et sans --yes, c’est refusé.
xpac apply --plan preview.json --dry-run
L’audit et les simulations trient caches et paquets orphelins. Le nettoyage explicite des caches et la suppression relue des orphelins existent pour APT et Pacman ; xpac ne supprime jamais lui-même de configuration, de données personnelles ou de chemins qu’il ne gère pas.
xpac audit --provider apt
Deux panneaux comme atfq, des indices de confiance comme Omniscient. En lecture seule par défaut ; --allow-apply active des opérations APT expérimentales.
xpac tui --provider apt
Déclarez vos fichiers de configuration personnels à côté de vos paquets. Un fichier existant n’est jamais écrasé avant que vous l’adoptiez, avec une sauvegarde privée ; les modifications locales sont signalées comme des écarts et refusées. xpac ne les supprime jamais.
xpac file adopt ~/.tmux.conf --dry-run
D’UN MANIFESTE À UNE MACHINE
Aligner une machine sur un manifeste TOML, c’est une suite de vérifications, et chacune peut tout arrêter.
DANS LE TERMINAL
Les commandes telles que les donne le README. Le JSON va sur stdout avec schema_version 1 ; les aperçus et les questions vont sur stderr.
xpac · read-onlyLINUX$ xpac providers $ xpac list --provider apt --json $ xpac search curl --provider dnf --installed $ xpac info apt:curl $ xpac why apt:curl:amd64 $ xpac deps apt:curl:amd64
Inventaire, recherche, informations, provenance et dépendances — sans root, sans rafraîchir les dépôts.
Seules les commandes sont montrées : le README ne publie pas leur sortie, et cette page ne l’invente pas.
OÙ EN EST LE PROJET
xpac modifie des paquets : il dit donc clairement ce qui a été vérifié et ce qui ne l’a pas été.
L’exécution relue est prise en charge pour APT, Pacman, DNF5 et DNF4, les applications Flatpak, les formules Homebrew, apk et Portage. Les aperçus propres à chaque gestionnaire et la revérification restent explicites.
Des transactions APT, Pacman, DNF5 et DNF4 (Rocky 8 et 9) ont tourné dans des environnements jetables. Flatpak et Homebrew sous Linux ont aussi des preuves natives isolées. Les fichiers de configuration ne sont testés que dans des dossiers personnels temporaires. Les transactions sur la machine hôte restent non testées ; les exécutions en CI configurées et la validation native sous macOS sont à venir.
L’inspection ne demande jamais de droits. --sudo ne délègue que la transaction APT ou Pacman relue ; xpac ne lit jamais un mot de passe sur stdin, et les simulations ne s’authentifient jamais.
$ xpac install apt:hello --sudo --dry-run $ xpac install apt:hello --sudo
Un échec partiel n’implique jamais de retour en arrière. Le journal consigne ce qui était prévu et ce qui a été vérifié, pour voir exactement où ça s’est arrêté.
EN PRATIQUE / LES PREUVES
Choisissez une cible pour lire ce qui s’est passé : le problème, la découverte et le résultat. Chaque histoire cite ses preuves et l’étendue de sa validation.
OPEN SOURCE / LINUX ET MACOS
Téléchargez-le, puis commencez par la démo — pas besoin de gestionnaire de paquets natif.
v=v0.1.0 t=x86_64-unknown-linux-musl curl -fLO https://github.com/devutils-org/xpac/releases/download/$v/xpac-$v-$t.tar.gz gh attestation verify xpac-$v-$t.tar.gz --repo devutils-org/xpac tar xzf xpac-$v-$t.tar.gz && mkdir -p ~/.local/bin && install -m 755 xpac-$v-$t/xpac ~/.local/bin/ # then xpac demo xpac list --provider apt --json