Les compilations, les dépendances et les caches s’accumulent projet après projet. Delest trouve ce qui se reconstruit tout seul, explique chaque verdict, et rien ne part sans votre accord.
Une exécution réelle sur un dossier de démonstration : une API Rust, un site Next.js, un projet Python avec son .env, et une application Flutter dont git ne connaît pas le build/. Rien ne bouge avant votre accord.
$ delest scan ~/projects
supprimable — 330 Mo (3)
256 Mo ~/projects/api/target
ignoré par git ; à côté de Cargo.toml ; dernier commit aujourd'hui
73 Mo ~/projects/web/.next
ignoré par git ; à côté de package.json ; dernier commit aujourd'hui
1 Mo ~/projects/ml/__pycache__
ignoré par git ; bytecode Python, régénéré à la prochaine exécution ; dernier commit aujourd'hui
supprimable avec réseau — 100 Mo (1)
100 Mo ~/projects/web/node_modules
ignoré par git ; lockfile package-lock.json ; projet travaillé aujourd'hui (dernier commit)
à juger — 126 Mo (1)
126 Mo ~/projects/ml/.venv
ignoré par git ; seulement requirements.txt : une réinstallation peut donner d'autres versions ; projet travaillé aujourd'hui (dernier commit)
Supprimable : 330 Mo, plus 100 Mo avec le réseau ; 126 Mo à juger. Rien n'a été modifié.
$ delest explain ~/projects/mobile/build
~/projects/mobile/build — protégé (compilation)
- ni suivi ni ignoré par git
Taille sur le disque : 42 Mo
$ delest clean ~/projects --dry-run
À mettre en quarantaine — 330 Mo :
256 Mo ~/projects/api/target
ignoré par git ; à côté de Cargo.toml ; dernier commit aujourd'hui
73 Mo ~/projects/web/.next
ignoré par git ; à côté de package.json ; dernier commit aujourd'hui
1 Mo ~/projects/ml/__pycache__
ignoré par git ; bytecode Python, régénéré à la prochaine exécution ; dernier commit aujourd'hui
Gardé : 1 élément (100 Mo) de projets travaillés ces 30 derniers jours.
À juger : 1 élément (126 Mo), laissé de côté ; --review demande pour chacun.
Aperçu seulement : rien n'a été déplacé.
Un nettoyeur classique supprime ce qui ressemble à un cache. Delest fait l’inverse : il ne propose que ce qu’il peut prouver reconstructible, et il vous montre sa preuve.
target, node_modules, build, .gradle, .venv, Pods, .next : reconnus à leur manifeste et à leur lockfile, jamais à leur seul nom.
Ignoré par git, à côté de son manifeste, dernier commit il y a trois jours : chaque proposition vient avec ses raisons.
Le travail non suivi par git, les fichiers suivis, les secrets (.env, .pem), le code source et les volumes Docker ne sont jamais proposés.
Un aperçu, votre accord, puis la quarantaine : sept jours pour tout restaurer, avant la suppression définitive.
Un dossier n’est proposé que si le fichier qui le reconstruit est à côté. Les règles en ombre reconnaissent déjà leurs dossiers et ne proposent rien tant que le corpus ne les a pas acceptées.
target à côté de Cargo.tomltarget à côté de pom.xmlnode_modules avec son lockfile : npm, pnpm, Yarn, Bun ; .next, .turbo.venv, venv avec uv.lock, poetry.lock, Pipfile.lock ou pdm.lock ; __pycache__build, .gradle à côté de build.gradle(.kts)build, .dart_tool à côté de pubspec.yamlPods avec Podfile.lock ; le DerivedData de Xcode.env et les clés, le code source, les volumes Docker, les modèles d’IALe Brain de Delest pèse les règles, le contexte de vos projets et vos décisions passées. Le modèle local est une voix qu’il écoute sur les dossiers inconnus, jamais celle qui décide.
À chaque session, Delest regarde l’espace libre et ne dit rien, sauf quand le disque se remplit. Par MCP, vos agents peuvent aussi le lui demander.
Un contrôle au début de chaque session dans Claude Code, Codex, Cursor, Gemini CLI, VS Code (Copilot) et OpenCode ; dans Kiro par Vario. Dans l’application : Réglages › Contrôle à chaque session des agents, un bouton par agent. Dans un terminal : delest install, et delest remove les retire. Chaque fichier est sauvegardé.
delest_status (le disque et ce qui peut être libéré), delest_explain (les raisons pour un dossier), delest_scan (ce qui peut être libéré dans les dossiers donnés).
Pour un dossier qui vous fait hésiter, l’application peut poser votre question à Claude Code : le chemin du dossier et les noms de ce qu’il contient, jamais les fichiers.
# les hooks, depuis un terminal
delest install
# Delest comme serveur MCP pour Claude Code
# Linux (.deb) ou Cargo
claude mcp add delest -- delest mcp
# macOS
claude mcp add delest -- /Applications/Delest.app/Contents/MacOS/delest mcp
# Windows (PowerShell)
claude mcp add delest -- "$env:LOCALAPPDATA\Delest\delest.exe" mcp
Avec l’application macOS ou Windows, delest reste dans l’application : donnez son chemin complet, comme ci-dessus, ou installez la commande avec Cargo.
Delest lit des noms de dossiers et des faits (taille, état git, manifestes voisins). Il n’ouvre pas vos fichiers pour les envoyer ailleurs.
Chaque règle est rejouée sur un corpus de vrais dossiers dont le verdict a été fixé à la main. Critère bloquant : aucun dossier protégé classé supprimable.
d’accord avec la référence sur 188 dossiers réels, et aucun protégé classé supprimable.
d’espace libre après un nettoyage complet du poste du développeur, mené depuis l’application.
macOS, Linux et Windows : un corpus de 34 situations y donne le verdict attendu à chaque version.
Le corpus et ses vérifications sont dans le code : corpus/synthetique.toml, testé à chaque changement par la CI sur macOS, Linux et Windows.
L’application, avec la commande delest à l’intérieur. Les paquets ne sont pas encore signés : votre système demande de confirmer la première ouverture.
Intel et Apple Silicon, macOS 12 ou plus récent. La première fois : clic droit sur Delest, puis Ouvrir. La commande : /Applications/Delest.app/Contents/MacOS/delest.
Windows 10 ou 11, 64 bits, installé pour votre seul compte. SmartScreen : Informations complémentaires, puis Exécuter quand même. La commande : %LOCALAPPDATA%\Delest\delest.exe.
64 bits, avec WebKitGTK. Le paquet .deb installe aussi la commande delest.
Pas d’installeur de paquets sur votre système ? Depuis le dossier où vous l’avez téléchargé :
sudo apt install ./Delest_0.1.6_amd64.debL’AppImage ne s’installe pas : chmod +x Delest_0.1.6_amd64.AppImage, puis ouvrez-la.
La commande seule, compilée depuis le code source :
cargo install --git https://github.com/kdev1966/Delest delestDelest supprime des fichiers : vous devez pouvoir lire comment il décide. Tout est sur GitHub, sous licence MIT.
Non. Il propose, vous choisissez, puis les dossiers vont en quarantaine pour sept jours. Rien n’est supprimé sans votre accord.
Restaurez-le depuis la Quarantaine, ou avec delest restore, pendant sept jours. Au-delà, il est supprimé.
Non. L’application et la commande fonctionnent seules ; les agents ajoutent seulement un contrôle à chaque session.
Il ne le propose pas. Le modèle local peut donner un avis, toujours vers la prudence, et la décision vous revient.
Non. Delest fonctionne sans eux. Dans Réglages › IA, « Installer l’IA locale » montre ce qu’il téléchargerait (environ 3,2 Go), et ne le fait qu’après votre accord ; chaque fichier est vérifié par son empreinte publiée. Le moteur demande macOS 13.3 ou plus récent, et sous Windows un runtime Visual C++ récent.
Rien. Delest est gratuit et open source, sous licence MIT : son code est sur GitHub.