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

app polykill

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

25 releases (13 stable)

1.3.1 Mar 9, 2024
1.2.6 Dec 5, 2023
1.2.5 Nov 16, 2023
1.2.4 Jul 19, 2023
0.5.3 May 24, 2023

#420 in Command line utilities

Download history 9/week @ 2023-12-04 234/week @ 2024-02-19 8/week @ 2024-02-26 215/week @ 2024-03-04 212/week @ 2024-03-11 31/week @ 2024-03-18

644 downloads per month

MIT license

25KB
574 lines

Polykill

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

Supported project types:

  • Cargo
  • Node
  • Mix
  • .NET Core
  • Gradle
  • 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

Removing artifacts involves removing the build/dependency directories associated with a project type.

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 directories are used for dependencies and build artifacts:

Type Identifier(s) Directories
Node package.json node_modules
Cargo cargo.toml target
Mix mix.exs _build, deps
.NET Core .csproj bin, obj
Gradle build.gradle(.kts) build
Composer composer.json vendor
Misc. bin, build, dist bin, build, dist

Dependencies

~2–11MB
~87K SLoC