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.

2026.1.0

  • Added animation to menu.

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.1.0.tar.gz (14.6 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.1.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: search_and_destroy-2026.1.0.tar.gz
  • Upload date:
  • Size: 14.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 f66a53911d782ee8cb766edc1579179317e7199ef0ef3b67799321419622bfba
MD5 7990b7c19b768c6b0b8c4820b14fc97b
BLAKE2b-256 3579d3dc403d9cc892c236bb35acd267176106d54675933558910d27d8c47d9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for search_and_destroy-2026.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4899bb02e19b0a9459508439b169a460d794c5a2a366605dcb19518d2c41755
MD5 2aeddf4ad14e5e1dc2760af9aca5cf42
BLAKE2b-256 172cc5aa5546b436c0933f8c5e1b4a82211c904e8d14ba54ec2d0bc6eb10db34

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