#cargo #node #command-line-tool #cli

app polykill

Lightweight command line utility for removing dependencies and build artifacts from unused projects

27 releases (15 stable)

new 1.5.0 Mar 26, 2025
1.4.0 Dec 14, 2024
1.3.1 Mar 9, 2024
1.2.6 Dec 5, 2023
0.5.3 May 24, 2023

#515 in Filesystem

Download history 1/week @ 2024-12-06 140/week @ 2024-12-13 5/week @ 2024-12-20 1/week @ 2025-01-03 64/week @ 2025-03-21

64 downloads per month

MIT license

27KB
598 lines

Polykill

Like polyfill - but more violent

Lightweight utility for removing unwanted dependencies and build artifacts from local projects. Inspired by npkill.

Supported project types:

  • Node
  • Cargo
  • .NET
  • Go
  • Gradle
  • Mix
  • Composer
  • Misc. (see "Addional Information")

Installation

cargo install polykill

Usage

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.

Options

Argument Description
-v, --verbose Verbose output
-s, --skip-empty Hide projects with zero possible disk savings
      --no-vcs Include projects without version control (will slow down search)
-u, --unsorted Don't sort projects
-h, --help Print help
-V, --version Print version

*supported version control systems are: git, svn, and mercurial

Additional Information

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

Dependencies

~3–10MB
~90K SLoC