SupraSpace
Un poste de commande pour tous vos outils CLI.
Un poste de commande local pour plusieurs outils CLI de code : vrais terminaux PTY via node-pty et xterm.js, grille 1/2/4/6, Kanban, mémoire Markdown persistante dans .supraspace/, swarms, MCP et intégrations, profils CLI pour Claude Code, Codex, OpenCode et Kiro. Pré-lancement, liste d’attente.
- Rôle
- Créateur
- Stack
- React
- TypeScript
- Fastify
- SQLite
- WebSocket
- node-pty
- xterm.js
- Vite
- Tailwind

Contexte
Les développeurs font tourner plusieurs agents et CLI en parallèle, souvent dans des fenêtres séparées. SupraSpace rassemble ces sessions dans une grille unique, avec un contexte de projet partagé.
Le produit est en pré-lancement. La page publique permet de s’inscrire sur liste d’attente ; le travail porte sur le poste de commande local et la mémoire de projet.
Contraintes
- Les terminaux devaient être de vrais PTY, pas une simulation de console.
- La grille devait rester utile de 1 à 6 panneaux sans casser la lisibilité.
- La mémoire de projet devait rester sur disque, dans un format lisible et versionnable.
Décisions
node-pty et xterm.js pour les terminaux
Chaque panneau ouvre un vrai processus via node-pty et rend la session avec xterm.js. Les CLI gardent leur comportement natif.
CompromisLe produit reste dépendant des capacités du système d’exploitation et demande une gestion sérieuse des processus.
Fastify et WebSocket pour le temps réel
Le serveur local expose les sessions et les événements en WebSocket. L’interface reste réactive sans polling.
CompromisLe temps réel ajoute de la complexité de reconnexion et d’état à surveiller.
Une mémoire Markdown dans .supraspace/
Le contexte du projet est écrit en Markdown dans un dossier dédié. Il reste lisible par un humain, un agent ou un outil comme Git.
CompromisLe format texte limite les requêtes structurées, mais garde la mémoire portable et inspectable.
Méthode
Spécifier
Contraintes PTY, grille et format de mémoire Markdown décrits avant l’ouverture du chantier.
Orchestrer
Agents sur des périmètres distincts (serveur, terminal, interface), coordonnés par une mémoire de projet dans .supracortex/.
Vérifier
Chaque étape relue, avec validation manuelle des sessions réelles avant d’ajouter une vue.
Architecture
Interface
- React
- TypeScript
- Vite
- Tailwind
Application
- Grille 1/2/4/6
- Kanban
- Swarms
- Profils CLI
Runtime & données
- Fastify
- WebSocket
- node-pty
- xterm.js
- SQLite
Un serveur local, des terminaux réels, une mémoire de projet partagée.
Construit à ce jour (bêta privée)
- La grille de terminaux 1/2/4/6 avec de vrais PTY.
- Le Kanban, les swarms et les profils pour Claude Code, Codex, OpenCode et Kiro.
- La mémoire Markdown persistante dans .supraspace/.
- Les intégrations MCP et la page de liste d’attente.
Ce que je ferais différemment
Je validerais plus tôt la charge réelle de six terminaux ouverts en même temps, avant d’ajouter de nouvelles vues.