Delest

Free up disk space. Without touching your work.

Builds, dependencies and caches pile up, project after project. Delest finds what rebuilds itself, explains every verdict, and nothing leaves without your say-so.

In your terminal

What Delest sees in your projects

A real run on a demo folder: a Rust API, a Next.js site, a Python project with its .env, and a Flutter app whose build/ git does not know. Nothing is moved until you confirm.

$ delest scan ~/projects

freeable — 330 MB (3)
    256 MB  ~/projects/api/target
            ignored by git; next to Cargo.toml; last commit today
     73 MB  ~/projects/web/.next
            ignored by git; next to package.json; last commit today
      1 MB  ~/projects/ml/__pycache__
            ignored by git; Python bytecode, regenerated on the next run; last commit today

freeable online — 100 MB (1)
    100 MB  ~/projects/web/node_modules
            ignored by git; lockfile package-lock.json; project worked on today (last commit)

to review — 126 MB (1)
    126 MB  ~/projects/ml/.venv
            ignored by git; only requirements.txt: a reinstall may bring other versions; project worked on today (last commit)

Freeable: 330 MB, plus 100 MB with the network; 126 MB to review. Nothing was changed.

$ delest explain ~/projects/mobile/build
~/projects/mobile/build — protected (build)
  - neither tracked nor ignored by git
  Size on disk: 42 MB

$ delest clean ~/projects --dry-run
To move into the quarantine — 330 MB:
    256 MB  ~/projects/api/target
            ignored by git; next to Cargo.toml; last commit today
     73 MB  ~/projects/web/.next
            ignored by git; next to package.json; last commit today
      1 MB  ~/projects/ml/__pycache__
            ignored by git; Python bytecode, regenerated on the next run; last commit today

Kept: 1 item (100 MB) of projects worked on in the last 30 days.

To review: 1 item (126 MB), left out; --review asks about each one.

Preview only: nothing was moved.
The core

The Arbiter, at the heart of Delest

A typical cleaner deletes whatever looks like a cache. Delest does the opposite: it only proposes what it can prove rebuilds, and it shows you the proof.

Only what rebuilds

target, node_modules, build, .gradle, .venv, Pods, .next: recognised by their manifest and lockfile, never by their name alone.

Every verdict explained

Ignored by git, next to its manifest, last commit three days ago: every proposal comes with its reasons.

Absolute bans

Work git does not track, tracked files, secrets (.env, .pem), source code and Docker volumes are never proposed.

Nothing leaves without you

A preview, your consent, then the quarantine: seven days to restore anything, before the final deletion.

Your stack

Recognised by its manifest, not by its name

A folder is proposed only when the file that rebuilds it sits next to it. The rules in shadow already recognise their folders and propose nothing until the corpus accepts them.

Rusttarget next to Cargo.toml
Java (Maven)target next to pom.xml
Nodenode_modules with its lockfile: npm, pnpm, Yarn, Bun; .next, .turbo
Python.venv, venv with uv.lock, poetry.lock, Pipfile.lock or pdm.lock; __pycache__
Android, Gradlebuild, .gradle next to build.gradle(.kts)
Flutter, Dartbuild, .dart_tool next to pubspec.yaml
iOSPods with Podfile.lock; Xcode's DerivedData
Global cachesnpm, Cargo registry, Gradle, Maven, pip, Yarn; Windows' AppData caches too
In shadowpytest, mypy, ruff, Parcel, SvelteKit, Nuxt, Angular, Unity's Library, ESP-IDF components
Never proposeduntracked work, files tracked by git, .env and keys, source code, Docker volumes, AI models
The Brain

A Brain that learns from you, only towards caution

Delest's Brain weighs the rules, your project's context and your past decisions. The local model is a voice it listens to on unknown folders, never the one that decides.

Scansizes, manifestsContextgit, activity, HandoffLocal modelunknown folders onlyMemoryyour decisionsRulesbans, known artefactsArbiterProposalswith their reasonsYour decision✓ / ✗more careful only
Your agents

One command, and your agents watch the disk

At each session, Delest checks the free space and stays quiet unless the disk is filling up. Through MCP, your agents can ask it themselves.

Hooks in your agents

A check at session start in Claude Code, Codex, Cursor, Gemini CLI, VS Code (Copilot) and OpenCode; Kiro through Vario. In the app: Settings › A check at each agent session, one button per agent. In a terminal: delest install, and delest remove takes them out. Each file is backed up.

Three MCP tools, read-only

delest_status (the disk and what can be freed), delest_explain (the reasons for one folder), delest_scan (what can be freed in folders you name).

Ask your agent, on a click

For a folder you are unsure of, the app can put your question to Claude Code: the folder's path and the names of what it holds, never the files.

# the hooks, from a terminal
delest install

# Delest as an MCP server for Claude Code
# Linux (.deb) or 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

With the macOS or Windows app, delest stays inside the app: give its full path, as above, or install the command with Cargo.

Privacy

Your code stays with you

Delest reads folder names and facts (size, git state, nearby manifests). It does not open your files to send them anywhere.

Proof

Measured, not promised

Every rule is replayed on a corpus of real folders whose verdict was set by hand. Blocking criterion: no protected folder classed deletable.

96%

agreement with the reference on 188 real folders, and no protected folder classed deletable.

68 → 99 GB

of free space after a full clean of the developer's machine, done from the app.

3 systems

macOS, Linux and Windows: a corpus of 34 situations gives the expected verdict there with every version.

The corpus and its checks are in the code: corpus/synthetique.toml, tested on every change by the CI on macOS, Linux and Windows.

Version 0.1.6

Download Delest 0.1.6

The app with the delest command inside. The packages are not signed yet: your system asks to confirm the first opening.

macOS

Intel and Apple Silicon, macOS 12 or later. The first time: right-click Delest, then Open. The command: /Applications/Delest.app/Contents/MacOS/delest.

Download the DMG

Windows

Windows 10 or 11, 64-bit, installed for your account only. SmartScreen: More info, then Run anyway. The command: %LOCALAPPDATA%\Delest\delest.exe.

Download the installer

Linux

64-bit, with WebKitGTK. The .deb package also installs the delest command.

No package installer on your system? From the folder where you downloaded it:

sudo apt install ./Delest_0.1.6_amd64.deb

The AppImage needs no installation: chmod +x Delest_0.1.6_amd64.AppImage, then open it.

With Cargo

The command alone, built from the source:

cargo install --git https://github.com/kdev1966/Delest delest
Open source

Read it, check it, improve it

Delest deletes files: you should be able to read how it decides. Everything is on GitHub, under the MIT licence.

FAQ

Questions

Does Delest delete anything on its own?

No. It proposes, you choose, then the folders go into the quarantine for seven days. Nothing is deleted without your consent.

What if I need a quarantined folder back?

Restore it from the Quarantine page, or with delest restore, within seven days. After that, it is deleted.

Do I need an AI agent to use Delest?

No. The app and the command work on their own; agents only add a check at each session.

What does Delest do with a folder it does not recognise?

It does not propose it. The local model can give an opinion, always towards caution, and the decision is yours.

Does Delest download AI models on its own?

No. Delest works without them. In Settings › AI, “Install the local AI” shows what it would download (about 3.2 GB), and fetches it only after you confirm; each file is checked against its published fingerprint. The engine needs macOS 13.3 or later, and on Windows a recent Visual C++ runtime.

How much does Delest cost?

Nothing. Delest is free and open source, under the MIT licence: its code is on GitHub.