commit 7bedb083014bae0f3919c7ffe7bf9d3a35521cb5 Author: Pierre Martin Date: Mon Mar 23 10:57:35 2026 +0100 docs: initialize project diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md new file mode 100644 index 0000000..50565c0 --- /dev/null +++ b/.planning/PROJECT.md @@ -0,0 +1,72 @@ +# 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 + +(None yet — ship to validate) + +### Active + +- [ ] Détecter les sessions Claude Code actives sur le poste +- [ ] Identifier l'état de chaque session (travaille / attend input / idle) +- [ ] Afficher un aperçu des dernières lignes de sortie de chaque session +- [ ] 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 initialization*