broom icon indicating copy to clipboard operation
broom copied to clipboard

A disk cleaning utility for developers.

=encoding utf8

=head1 NAME

broom - a disk cleaning utility for developers

=begin html

=end html

=head1 SYNOPSIS

I [option...] [directory]

=head1 DESCRIPTION

broom recursively looks for projects inside a directory and cleans them by removing build artifacts (eg: by invoking "make clean"), optimizing version control system files (eg: by invoking "git gc"), etc.

=head1 OPTIONS

=over

=item B<-n, --dry-run>

Only show commands that would be executed instead of actually performing them.

=item B<-t> I<TOOLS>B<, --tools=>I<TOOLS>

Comma-separated list of tools to run the cleanup for. The available tools are: I, I, I, I, I, I, I, I, I, I, I, I, I, I, I , I and I. By default, all tools are used.

=item B<-v, --verbose>

Be more verbose. Pass this option several times to see debug info.

=item B<-s, --stats>

Print disk space gained.

=item B<--noconfirm>

Do not ask for confirmation before performing actions that may result in potential data loss (eg: destroying Vagrant boxes).

=item B<-q, --quiet>

Be less verbose. Pass this option several times to remove all output.

=item B<-h, --help>

Show usage information and exit.

=item B<--version>

Show version information and exit.

=back

=head1 EXAMPLES

To perform cleanup in the current working directory:

broom

To perform cleanup in your projects folder:

broom ~/projects

To perform cleanup in your projects folder, with all logging on:

broom -vvv ~/projects

To show what commands would be performed, without running them:

broom -n ~/projects

To perform cleanup only for git and make projects:

broom -t git,make ~/projects

=head1 FILES

broom allows to define default execution parameters in the F<~/.broomrc> file. Here is an example of F<~/.broomrc> file:

Use dry run mode by default.

DRY_RUN=true

Only show warnings and errors.

LOG_LEVEL=0

Show statistics.

STATS=true

Run in projects directory.

DIRECTORY=~/projects

Only look for some specific kind of projects.

TOOLS=(make python ant git)

=begin html

=head1 INSTALLING

=head2 Using packages

System Installation instructions
Debian / Ubuntu broom repository
Fedora / CentOS / RHEL / Scientific Linux broom repository
OpenSUSE / SLE broom repository
Arch Linux AUR

=head2 Building from sources

git clone https://github.com/nicoulaj/broom.git
cd broom
make
sudo make install

=end html

=begin man

=head1 ISSUES

Please report issues at https://github.com/nicoulaj/broom/issues.

=head1 AUTHOR

Julien Nicoulaud [email protected]

=end man