Blog
Development·7 min read

Construire vbcdr : un AIDE pour les développeurs qui vibent

Pourquoi j'ai créé un environnement de développement desktop où les terminaux et navigateurs passent en premier, et l'éditeur de code est volontairement secondaire.

Jo Vinkenroye·February 12, 2026
Construire vbcdr : un AIDE pour les développeurs qui vibent

J'en avais marre de me battre avec mon IDE

Tous les jours c'est la même chose. ouvrir VS Code. ouvrir un terminal. ouvrir un autre terminal. ouvrir le navigateur. arranger les fenêtres. perdre le fil de quel terminal exécute quoi. faire des allers-retours cent fois entre le code, l'IA et l'aperçu

Alors j'ai juste construit mon propre truc

vue éditeur vbcdr
vue éditeur vbcdr

L'IDE est mort, vive l'AIDE

AIDE signifie AI-Integrated Development Environment. les IDEs traditionnels ont été construits pour un monde où les humains écrivent chaque ligne de code. mais ce n'est plus comme ça que je travaille

Mon workflow maintenant : ouvrir un terminal, dire à Claude ce dont j'ai besoin, relire ce qu'il écrit, vérifier le résultat dans le navigateur. l'éditeur de code ? j'y jette un œil de temps en temps. peut-être pour comprendre un type ou tracer un bug

Alors vbcdr inverse la disposition traditionnelle. les terminaux et les aperçus navigateur occupent le devant de la scène. L'éditeur Monaco est toujours là quand tu en as besoin, mais il est volontairement secondaire

Le terminal d'abord, pour tout

Le panneau terminal est le cœur du système. xterm.js avec rendu WebGL pour que ce soit ultra fluide. chaque projet a plusieurs onglets de terminal - un pour ton agent IA, d'autres pour les serveurs de développement, les bases de données, tout ce dont tu as besoin

Le terminal IA se crée automatiquement quand tu changes de projet. parce que dans un workflow de vibe coding, l'agent tourne en permanence

Construit avec node-pty pour l'accès shell natif. ton vrai shell, ton vrai environnement, ton vrai PATH. pas un faux terminal sandboxé

Recherche dans le terminal avec surbrillance, boutons d'effacement/redémarrage et défilement vers le bas. Shift+Enter insère des retours à la ligne dans le champ de saisie du terminal LLM sans envoyer, ce qui semble anodin mais fait une énorme différence quand tu écris des prompts multi-lignes

Tu peux glisser des fichiers directement dans le terminal pour un contexte rapide. dépose une image et elle s'attache automatiquement au LLM via le presse-papiers. plus besoin de copier-coller des chemins de fichiers

┌──────────────────────────┬──────────────┐
│ │ Git Graph │
│ Navigateur ou Éditeur │ │
│ ├──────────────┤
│ │ LLM
│ Dev 1 │ Dev 2 │ Terminal │
└──────────────────────────┴──────────────┘

Chaque projet a son propre navigateur intégré avec isolation du stockage par projet. plus de cookies qui fuient entre les projets. chacun tourne dans sa propre partition webview Electron

J'ai branché le Chrome DevTools Protocol pour obtenir la surveillance réseau et la capture de la console sans construire d'instrumentation personnalisée. le panneau navigateur a trois onglets devtools : Console, Network et Passwords

L'inspecteur réseau affiche les détails des requêtes de manière dépliable avec les headers, le type et les tailles de réponse précises. les erreurs de console et les échecs réseau ont un bouton "envoyer au LLM" en un clic qui les transmet directement à ton terminal IA actif. tu vois une erreur 500 ? un clic et ton agent est déjà en train de déboguer

Le gestionnaire de mots de passe détecte automatiquement les formulaires de connexion. il injecte un script qui surveille les champs de mot de passe avec MutationObserver, intercepte les soumissions de formulaires et propose de sauvegarder les identifiants chiffrés avec l'API native safeStorage d'Electron

La prochaine fois que tu visites cette page, tout se remplit automatiquement

L'émulation d'appareil bascule entre les viewports desktop, iPad et mobile avec les user agents appropriés. Google OAuth est redirigé vers ton navigateur système parce que les webviews Electron et OAuth ne font tout simplement pas bon ménage

11 thèmes parce que pourquoi pas

Ok j'ai peut-être un peu exagéré ici. Dracula, Catppuccin, Nord, Tokyo Night, Gruvbox, One Dark, Solarized et d'autres. chacun avec des variantes claires et sombres

Je passe beaucoup de temps à fixer ce truc. autant que ce soit beau

Un état multi-projet qui marche vraiment

C'est la décision architecturale dont je suis le plus fier. chaque store Zustand utilise un pattern Record<projectId, StateType>. changer de projet affiche instantanément les terminaux, les onglets navigateur, l'arborescence des fichiers, l'état de l'éditeur et l'historique git de ce projet

Rien de partagé. Rien ne fuit. clique sur un onglet projet et tout ton contexte bascule

Les onglets navigateur sont persistés sur le disque avec un debounce de 500ms pour ne pas martyriser le système de fichiers. les processus de terminal restent vivants en arrière-plan. reviens et tout est exactement là où tu l'avais laissé

Le graphe git qui parle à ton IA

Le panneau git affiche un graphe de commits basé sur des voies en SVG. chaque branche a sa propre voie avec une couleur. les merge commits ont des nœuds plus grands. des courbes de Bézier connectent les relations parent-enfant entre les voies

Appuie sur "Commit" et ça envoie /commit à ton terminal IA actif. appuie sur "New Feature", tape une description et ça crée une branche feature/ta-description-en-kebab-case correctement formatée via ton agent

L'arbre git n'est pas qu'une visualisation. c'est une interface de commande qui communique via ton agent IA

Electron, Zustand et une couche IPC propre

Electron 34 pour le desktop multi-plateforme. React 18 + Tailwind CSS 4 pour l'interface. electron-vite pour les builds. Zustand pour l'état parce que Redux c'est trop quand tes stores sont aussi propres

La couche IPC est la colonne vertébrale. six modules de handlers (projects, terminal, filesystem, git, browser, passwords) gèrent chacun leur propre domaine. les services comme le gestionnaire PTY, le file watcher et le service git font le vrai travail. séparation nette entre ce que l'utilisateur voit et ce que l'OS fait

La surveillance des fichiers utilise chokidar avec filtrage compatible gitignore. l'arborescence des fichiers met en cache et fait du debounce sur les mises à jour. Monaco reçoit une synchronisation de fichiers en temps réel pour que les modifications externes de ton agent IA qui écrit des fichiers apparaissent instantanément

Piloter plutôt que taper

Construire des outils pour développeurs est addictif et humiliant. tu penses savoir ce que tu veux jusqu'à ce que tu l'utilises pendant une semaine et que tu réalises que la disposition doit changer, le terminal a besoin de recherche, le navigateur a besoin de gestion de mots de passe et le graphe git doit être interactif

Plus grand enseignement : dans un workflow AI-first, l'environnement de développement devrait être optimisé pour le pilotage, pas pour la frappe. un grand espace terminal. un accès navigateur facile. le contexte git en un coup d'œil. l'éditeur de code n'est plus qu'un visualiseur de référence

vbcdr n'essaie pas de remplacer VS Code. il est construit pour un workflow entièrement différent, un workflow où tu passes plus de temps à diriger une IA qu'à éditer des fichiers toi-même

C'est ça un AIDE. pas un IDE avec de l'IA collée dessus. un outil fondamentalement différent pour une façon fondamentalement différente de construire du logiciel

La suite

Encore sur la feuille de route :

  • Gestionnaire visuel de skills - parcourir, activer/désactiver et configurer les skills et commandes slash de l'agent LLM depuis un panneau UI au lieu de gérer des fichiers de configuration
  • Refonte des mots de passe & favoris navigateur - le système actuel a besoin d'un redesign pour une meilleure UX et fiabilité
  • Cliquer sur les fichiers et dossiers dans l'arborescence du projet pour les envoyer à ton agent comme contexte
  • Donner à l'IA accès au navigateur webview pour qu'elle puisse manipuler et tester l'aperçu
  • Builds Windows et Linux
  • Encore plein d'idées

Open source, licence MIT, et clairement un travail en cours. la première version est sortie pour macOS Apple Silicon. n'hésite pas à contribuer sur GitHub

Stay Updated

Get notified about new posts on automation, productivity tips, indie hacking, and web3.

No spam, ever. Unsubscribe anytime.

Comments

Related Posts