Skip to main content

A CLI tool to clean up build files from all types of tech stacks. It’s like a Roomba for your project directory, but instead of dust, it sucks up those pesky `dist/`, `build/`, and `*.egg-info/` folders.

Project description

search-and-destroy

Build files be gone! search-and-destroy is a CLI tool to clean up build files from all types of tech stacks. It’s like a Roomba for your project directory, but instead of dust, it sucks up those pesky node_modules/, build/, and *.egg-info/ folders.

Requirements

  • Python 3.8+

Caution: It's strongly recommended to run sad with --dry-run first and add a .sadignore file to protect any files or folders you don't want removed.

Quick start

# Run search-and-destroy to remove build files
sad

# Examples
sad list
sad list node
sad --dry-run nuke node
sad --all --yes node
sad --dry-run python
sad --dry-run dotnet

Commands

  • list [type] — Show project and build artifact names that would be removed for type (default: all).
  • nuke [type1 type2 ...] — Recursively find and remove matching targets for the named project types (default: all). Use --dry-run to preview.
  • node, python, dotnet etc. — Run the cleaner for a single project type.

Options (common): --dry-run, --yes, --all, --force, --safe.

Aliases available: search-and-destroy

License

  • MIT

Ignoring paths with .sadignore

Create a file named .sadignore in the repository root to prevent sad from listing or removing paths that would otherwise match targets. The file follows gitignore-style patterns when the pathspec package is installed; otherwise a simple glob-based fallback is used.

Examples:

  • Ignore a directory anywhere in the tree:

    ignorethis/ somedir/ignorethis

  • Ignore a specific file:

    node_modules package-lock.json

  • Anchor to repository root (requires pathspec for gitwildmatch semantics):

    /ignorethis/

  • Negate a pattern (allow a subfolder):

    ignorethis/ !ignorethis/keep/

Run sad --dry-run to preview deletions; .sadignore entries are respected in the preview.

Changelog

All notable changes to this project will be documented in this file.

2026.0.0

  • Initial release as search-and-destroy.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

search_and_destroy-2026.0.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

search_and_destroy-2026.0.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file search_and_destroy-2026.0.0.tar.gz.

File metadata

  • Download URL: search_and_destroy-2026.0.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for search_and_destroy-2026.0.0.tar.gz
Algorithm Hash digest
SHA256 28c58651b353ef12c4003c377ed5a1b8562c73534bb913b55b3222140728167a
MD5 315b044a85d33240e8a6a78491136da5
BLAKE2b-256 95de7fcd2616544fb43ef3736b324791f86eb57f68bc6a409397574abd2d3f42

See more details on using hashes here.

File details

Details for the file search_and_destroy-2026.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for search_and_destroy-2026.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 acb1b52c60468a8c6a6e246cc85d1a55d14f52108c44a9f38a4e189ad3f4765a
MD5 70db5d70a3e422a9f3fa2ef9abe9e127
BLAKE2b-256 3d5ee9d9f83b4bf665a4ddedc257c55f779cac5583dd23cdffd1fd662d1b4b99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page