PS: a config file like .rmclean at the root of the project which specifies which directories and files should be deleted will ease this process. In this case, the script scans for all directories that have this config file .rmclean and uses the content of the.config file to delete those files. In the absence of this config file the script can be smart enough to guess the project type and use smart defaults to determine which directories to delete but it should prompt before executing unless explicitly executed with a flag like -f | --force . This can also be executed as part of CI/CD process.