# vmux ## What This Is Cockpit central pour le vibe coding. vmux donne une vue unifiée de toutes les sessions Claude Code qui tournent sur le poste, détecte leur état (travaille / attend input), affiche un aperçu de ce que chaque session fait ou demande, et permet de switcher vers le bon workspace i3. ## Core Value Savoir instantanément quelle session Claude Code a besoin de moi, sans scanner manuellement mes workspaces. ## Requirements ### Validated - ✓ Détecter les sessions Claude Code actives sur le poste — Phase 1 - ✓ Identifier l'état de chaque session (travaille / attend input / idle) — Phase 1 - ✓ Afficher un aperçu des dernières lignes de sortie de chaque session — Phase 1 ### Active - [ ] Associer chaque session à son workspace i3 / worktree git - [ ] Switcher vers le workspace i3 d'une session en un geste - [ ] Notifier quand une session passe de "travaille" à "attend input" ### Out of Scope - Terminal intégré / répondre depuis vmux — complexité trop élevée pour la v1, réévaluer après usage - Gestion du timetracking — déjà couvert par piaire - Lancement de nouvelles sessions Claude Code — vmux observe, ne crée pas ## Context - Pierre travaille avec plusieurs sessions Claude Code en parallèle (3+), chacune dans un worktree git dédié - Chaque sujet occupe un workspace i3 (bureau virtuel) avec Claude Code + outils satellites (serveur, Zed, Chrome) - Les worktrees sont créés par les skills /start-feature et /review-gitlab-mr - Aujourd'hui, la détection se fait manuellement : scan visuel des workspaces, écran 2 pour les sessions actives, écran 1 pour celles qui attendent - piaire existe déjà comme outil d'orchestration workflow (timetracking, features, MRs) — vmux pourrait s'y intégrer ou rester standalone - Environnement : NixOS, i3 WM, 2 écrans ## Constraints - **OS**: NixOS avec i3 — doit s'intégrer nativement (i3-msg, IPC i3) - **Stack existante**: piaire est en Go stdlib + HTMX — cohérence souhaitable si intégration - **Détection non-intrusive**: vmux observe les sessions sans les modifier ni les ralentir ## Key Decisions | Decision | Rationale | Outcome | |----------|-----------|---------| | Dispatcher + aperçu (pas terminal intégré) | 80% de la valeur pour 20% de la complexité | — Pending | | Standalone vs intégration piaire | À décider après la recherche | — Pending | ## Evolution This document evolves at phase transitions and milestone boundaries. **After each phase transition** (via `/gsd:transition`): 1. Requirements invalidated? → Move to Out of Scope with reason 2. Requirements validated? → Move to Validated with phase reference 3. New requirements emerged? → Add to Active 4. Decisions to log? → Add to Key Decisions 5. "What This Is" still accurate? → Update if drifted **After each milestone** (via `/gsd:complete-milestone`): 1. Full review of all sections 2. Core Value check — still the right priority? 3. Audit Out of Scope — reasons still valid? 4. Update Context with current state --- *Last updated: 2026-03-23 after Phase 1 completion*