The workshop · Edition No. 37 · 1 Oct 2026

tbillington/kondo

Finds the rebuildable dependency and build folders that old projects leave behind across twenty-odd ecosystems, and shows the list before deleting anything.

← The workshopRead the whole edition →
09

tbillington/kondo

💎 hidden gem

2,351 stars · MIT · v0.9 on GitHub, 0.9.0 on crates.io (2026-01-23) · Track this in Scout

Finds the rebuildable dependency and build folders that old projects leave behind across twenty-odd ecosystems, and shows the list before deleting anything.

▶Repo detailsthe review · specs · pros & cons · install

What it is

kondo is a small command-line program, with an optional window, that recognises more than twenty kinds of project — Rust, Java with Maven or Gradle, JavaScript, Python, .NET, Swift, Unity, Unreal Engine, Godot, Terraform and others — and knows which folder in each is safe to throw away.

What it is good for. Anyone whose disk filled up and who does not know where it went. A general disk-usage tool will tell you that fifty gigabytes sits in a hundred different node_modules folders; it will not tell you that all hundred are safe to delete. That is the difference here: it understands what kind of project it is looking at, so the list it shows you is a list of things you can lose without consequence. The payoff is usually tens of gigabytes on a machine that has been used for a few years.

Stars2,351
LicenceMIT
Latestv0.9 on GitHub, 0.9.0 on crates.io (2026-01-23)
Good
  • It knows more than one ecosystem. The single-language tools in this field each handle one; this handles over twenty, which is what makes it useful on a machine with a mixed pile of old work.
  • It reports before it acts. There is a dry-run mode and a single-key mode, added in the current release, so the normal way to use it is to look at the list first.
  • A plain MIT licence read from /blob/master/LICENSE, unmodified, "Copyright (c) 2020 Trent Billington", and packages in Homebrew, winget, Arch Linux's pacman and MacPorts so there is no need to build it.
Watch for
  • It deletes, and there is no undo. The files are rebuildable, which is the point, but rebuilding means downloading everything again. On a slow connection, or for a project you need to work on this afternoon, that is a real cost. Run it with a dry run first, every time.
  • The project is quiet. Release v0.9 is dated 23 January 2026 — the yearless GitHub date was confirmed against the Rust package index, which timestamps 0.9.0 at 2026-01-23 — and the newest code landed on 24 April 2026, about five months before this edition. That is well inside the eighteen-month line and it is not being called dead, but nothing has shipped since the spring. 32 open issues against 10 pull requests.
  • Because it works from a list of known project types, a language it has not been taught is simply invisible to it. It will quietly skip what it does not recognise rather than warn you.
Similar repositories
  • voidcosmos/npkill

    Does the same job for JavaScript alone, listing every node_modules folder with its size, which is tidier for a machine that only holds JavaScript work and useless for anything else.

    Track this in Scout
  • holmgr/cargo-sweep

    The Rust-only equivalent, and more precise there because it can delete only build output older than a given date, but its own page states that the project is currently unmaintained and looking for a maintainer.

    Track this in Scout
  • Byron/dua-cli

    Edition 36 covered this: it shows what filled a disk and can delete anything at all, which is more powerful and much less safe, because it has no idea which folders are rebuildable.

    Track this in Scout
Install
brew install kondo             # macOS or Linux with Homebrew
winget install kondo           # Windows
sudo pacman -S kondo           # Arch Linux
# then, from the folder that holds your projects
kondo --dry-run ~/code
kondo ~/code                   # shows each folder and its size, and asks
Screenshots
tbillington/kondo: Screenshot 1tbillington/kondo: Screenshot 2

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.