Qu'est-ce que workmux ?
workmux transforme une branche en un espace de travail. Un seul workmux add crée un worktree git, ouvre la fenêtre tmux correspondante, copie les fichiers qui manquent à une copie fraîche (.env, identifiants), crée les liens vers ceux que vous ne voulez pas réinstaller (node_modules), lance vos commandes de préparation et met en place la disposition de panneaux demandée. workmux merge défait tout d'un coup : fusion de la branche, suppression du worktree, fermeture de la fenêtre, effacement de la branche locale. Pas de stash, pas de changement de branche, pas de copie à moitié faite qui bloque la tâche suivante.
⚡ Fonctionnalités clés de workmux
🌿 Une fenêtre par branche
workmux add crée le worktree et la fenêtre tmux ensemble : changer de tâche revient à changer d'onglet, avec son propre shell, son éditeur et son serveur de développement.
🧰 Des worktrees réellement utilisables
Un worktree neuf démarre cassé. workmux copie les fichiers de configuration, lie les dépendances et exécute vos commandes post_create pour que la nouvelle copie soit utilisable tout de suite.
🤖 Des agents en parallèle
Faites tourner plusieurs agents de code à la fois, un par worktree, et suivez leur état dans le nom de la fenêtre tmux, dans un tableau de bord TUI ou dans une barre latérale en direct.
🧹 Nettoyage en une commande
workmux merge fusionne la branche puis supprime le worktree, la fenêtre tmux et la branche locale ; workmux remove fait le ménage sans fusionner.
📄 Configuré en YAML
Un config.yaml global pour vos valeurs par défaut et un .workmux.yaml par projet pour les dispositions de panneaux, les hooks et les opérations de fichiers, avec une imbrication pensée pour les monorepos.
🖥️ Pas seulement tmux
tmux est le backend par défaut, et kitty, WezTerm et Zellij sont des alternatives prises en charge : le flux suit le terminal que vous utilisez déjà.
apt upgrade vous garde sur la dernière version.
📦 Installation depuis deb.griffo.io
Étape 1 : ajouter le dépôt
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Il existe un miroir gratuit pour toujours. deb-free.griffo.io distribue des paquets gratuitement pour toujours — sans compte, sans abonnement, au plus 2 mois derrière l'upstream, correctifs de sécurité immédiats. Il contient aujourd'hui cliamp, Ghostty, lazydocker, Oh My Posh et Zed ; workmux n'en fait pas partie, le dépôt ci-dessus reste donc le seul moyen de l'installer — demandez-le et il pourra y être ajouté.
Étape 2 : installer workmux
# Installer le dernier workmux
sudo apt install workmux
# tmux est le backend par défaut et n'est que recommandé,
# car kitty, WezTerm et Zellij fonctionnent aussi
sudo apt install tmux
# Vérifier l'installation
workmux --version# Installer le dernier workmux
apt install workmux
# tmux est le backend par défaut et n'est que recommandé,
# car kitty, WezTerm et Zellij fonctionnent aussi
apt install tmux
# Vérifier l'installation
workmux --versionÉtape 3 : le premier worktree
# Facultatif : écrire un .workmux.yaml pour ce projet
cd ~/src/mon-projet
workmux init
# Depuis tmux : branche, worktree, fenêtre et panneaux en une commande
workmux add nouvelle-fonction
# Quand le travail est terminé : fusionner et tout nettoyer
workmux merge
# Les complétions bash, zsh et fish sont fournies avec le paquet
workmux --help🎯 Exemples d'utilisation de base
La boucle du quotidien :
# Créer une branche, un worktree et une fenêtre tmux
workmux add fix-login
# Une branche existante est reconnue par son nom
workmux add travail-existant
# Partir d'une base autre que celle par défaut
workmux add hotfix --base production
# Sortir une pull request dans son propre worktree
workmux add --pr 123
# Voir tout ce qui est en cours
workmux list
# Fusionner et tout démonter
workmux merge
# Ou jeter le travail sans fusionner
workmux remove fix-loginFenêtres, panneaux et récupération :
# Créer la fenêtre sans y basculer
workmux add relecture-docs --background
# Fermer une fenêtre en gardant le worktree et la branche
workmux close relecture-docs
# La rouvrir plus tard
workmux open relecture-docs
# Reconstruire toutes les fenêtres après un plantage de tmux ou de la machine
workmux resurrect
# Entrer dans un worktree depuis n'importe où
cd "$(workmux path fix-login)"Faire tourner des agents en parallèle :
# Installer les hooks d'état et les skills de votre agent
workmux setup
# Démarrer un worktree avec un prompt pour l'agent
workmux add add-tests --prompt "Ajoute des tests unitaires pour le parseur"
# Surveiller tous les agents dans une TUI
workmux dashboard
# Ou garder une barre latérale d'état dans tmux
workmux sidebar
# Envoyer une instruction à un agent en cours
workmux send add-tests "Couvre aussi les chemins d'erreur"
# Attendre que cet agent ait fini
workmux wait add-tests🔧 Intégrations
workmux s'appuie volontairement sur les outils que vous utilisez déjà :
- git: les worktrees sont de simples checkouts
git worktree:git, vos hooks et votre CI ne voient rien d'inhabituel - tmux: une fenêtre par worktree, nommée d'après la branche, avec votre disposition de panneaux appliquée automatiquement
- kitty, WezTerm et Zellij : backends alternatifs pris en charge si tmux n'est pas votre multiplexeur
- Agents de code : suivi d'état, injection de prompts et skills pour Claude Code et les autres agents pris en charge par upstream
- Votre shell : les complétions bash, zsh et fish sont fournies avec ce paquet, et
alias wm='workmux'est le raccourci recommandé par upstream
🚀 Pourquoi choisir deb.griffo.io ?
- Ubuntu officiel : n'empaquette pas workmux :
apt install workmuxéchoue sur un système standard - cargo install workmux: à jour, mais c'est une compilation Rust sur chaque machine, hors d'apt et sans les complétions du shell
- Le script d'installation upstream : pratique, mais il écrit dans votre système dans le dos du gestionnaire de paquets et se met à jour selon son propre calendrier
- deb.griffo.io: dernière version avec mises à jour automatiques
- ✅ La seule source apt : workmux n'est ni dans les dépôts Debian ni dans ceux d'Ubuntu ; ce dépôt empaquette la version officielle upstream
- ✅ Le support des agents bouge chaque semaine : les agents que workmux sait suivre et piloter changent de version en version : être à jour fait la différence entre une fonctionnalité qui marche et une qui n'existe pas
- ✅ Mises à jour automatiques : les paquets sont mis à jour quelques heures après chaque version upstream
- ✅ Paquet complet : le binaire upstream dans
/usr/bin/workmux, plus les complétions bash, zsh et fish - ✅ Dépendances honnêtes : le paquet dépend de
gitet recommandetmux, car kitty, WezTerm et Zellij sont aussi des backends pris en charge - ✅ Deux architectures : amd64 et arm64, toutes deux liées statiquement : le même paquet tourne sur toutes les suites
- ✅ Multi-distribution : fonctionne sur Ubuntu 22.04, 24.04, 25.10 et 26.04
- ✅ Maintenance simple : des mises à jour avec les commandes apt habituelles
📦 Dépôt de construction du paquet
Les paquets Ubuntu sont construits et maintenus automatiquement dans ce dépôt GitHub :
- 🧩 workmux-debian - Constructions des dernières versions
🔗 Paquets associés
Également disponibles sur deb.griffo.io :
- lazygit - Interface git en terminal pour le travail git dans chaque worktree
- GitUI - Un autre client git de terminal rapide, si vous préférez son modèle
- Zellij - Alternative prise en charge à tmux comme backend multiplexeur
- Serie - Graphe de commits pour relire ce qu'une branche a réellement fait