Skip to content

Bdeering1/polykill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polykill

Crates.io Crates.io (Downloads) Crates.io Size

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:

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

Installation

Cargo

cargo install polykill

Homebrew

brew tap bdeering1/polykill
brew install polykill

Nix flake

# Run directly
nix run github:Bdeering1/polykill

# Add to ephemeral shell
nix shell github:Bdeering1/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