DRUK : un éditeur de code terminal avec arbre de fichiers, onglets, PDF et git
https://github.com/letstri/druk
📌 DRUK est un éditeur de code pour le terminal — un seul exécutable, aucune dépendance — avec arbre de fichiers, onglets, recherche projet, visualisation PDF, marquage git et coloration syntaxique pour plus de 30 langages.
L’approche est pragmatique : druk est un binaire unique de quelques mégaoctets, sans Node ni Bun requis au runtime. Il s’installe via curl, Homebrew, npm ou bun, et se met à jour avec druk update qui détecte automatiquement la méthode d’installation. L’interface suit les conventions de VS Code — arbre à gauche, onglets en haut, éditeur au centre, barre d’état avec branche git et position du curseur. La palette de commandes (F1), la recherche fuzzy de fichiers (Ctrl+P), la recherche dans le projet avec remplacement, et le mode vim intégré rendent la transition depuis un éditeur GUI immédiate. Je trouve notable qu’il gère les copier/coller via OSC52 pour les sessions SSH distantes.
Le git est profondément intégré : marquage des lignes modifiées dans la gouttière et dans la scrollbar, panneau de source control (Ctrl+Opt+G) avec diff et commit, et statut en temps réel (commits à pousser/puller, fichiers modifiés). Les opérations lourdes comme la suppression d’un node_modules tournent en arrière-plan sans geler l’éditeur. Le support des PDF permet d’ouvrir et naviguer un document directement dans le terminal. Les plugins sont de simples fichiers JSON — themes, icônes de fichiers, et language servers — qu’on dépose dans ~/.config/druk/plugins/. 26 thèmes sont inclus (catppuccin, gruvbox, kanagawa, tokyo-night, etc.), et le mode transparent laisse transparaître le fond du terminal.
Druk fonctionne sur macOS, Linux et Windows, sous licence MIT.
- 📁 Arbre de fichiers, onglets, drag du sidebar, recherche fuzzy
- 🔍 Recherche projet avec regex, casse, mot entier et remplacement
- 📄 Visualisation PDF native dans le terminal
- 🌿 Git intégré : gutter, scrollbar, diff, commit, push
- 🧩 Plugins JSON : thèmes, icônes, language servers
