| Crates.io | polykill |
| lib.rs | polykill |
| version | 1.6.0 |
| created_at | 2023-05-03 00:48:16.179953+00 |
| updated_at | 2025-12-05 20:09:19.657751+00 |
| description | Lightweight command line utility for removing dependencies and build artifacts from unused projects. |
| homepage | https://github.com/Bdeering1/polykill#readme |
| repository | https://github.com/Bdeering1/polykill |
| max_upload_size | |
| id | 855037 |
| size | 76,758 |
Like polyfill - but more violent
Lightweight command line utility for removing unwanted dependencies and build artifacts from local projects. Inspired by npkill.
Supported project types:
Cargo
cargo install polykill
Homebrew
brew tap bdeering1/polykill
brew install polykill
Nix (Flake)
nix shell github:Bdeering1/polykill
# OR
nix run github:Bdeering1/polykill
polykill [OPTIONS] [DIR]
Polykill will recursively search for projects in the provided directory and output a list of all projects found. If no directory is provided, the current directory will be searched.
When the search has completed, navigate the menu using the following controls:
| Key Bind | Action |
|---|---|
| ↓, ↑, ←, →, h, j, k, l | select project |
| enter, del | remove artifacts |
| esc, q | exit |
Warning for Node projects: Some Node applications need their node_modules directory to work and deleting it may break them.
| Argument | Description |
|---|---|
| -v, --verbose | Verbose output |
| -a, --auto | Automatically clean up older project artifacts (no menu) |
| -t, --threshold | Minimum threshold for automatic artifact cleanup (days since last modified) |
| --register | Register system service to run polykill automatically |
| --unregister | Remove registered system service |
| -i, --interval | Interval (in days) to run system service on |
| --status | Check if a polykill service exists, print info if found |
| -s, --skip-empty | Hide projects with zero possible disk savings |
| -u, --unsorted | Don't sort projects |
| --no-vcs | Include projects without version control (this will slow down search) |
| -h, --help | Print help |
| -V, --version | Print version |
*supported version control systems are: git, svn, and mercurial
How projects are identified and which files or directories will be removed:
| Type | Identifier(s) | Artifacts |
|---|---|---|
| Node | package.json | node_modules |
| Cargo | cargo.toml | target |
| .NET | .csproj | bin, obj |
| Go | go.mod | dir(.exe), dir.test(.exe) |
| Gradle | build.gradle(.kts) | build |
| Mix | mix.exs | _build, deps |
| Composer | composer.json | vendor |
| Misc. | bin, build, dist | bin, build, dist |
*dir for go projects is the name of the project directory