File and Folder Organization
Labrat provides two distinct file workflows. Archiving copies a directory and creates a ZIP file. Organizing moves matching files out of the top level of Downloads and Documents.
Create an archive
Create the destination parent first, then archive a source directory:
mkdir -p ./archives
labrat archive \
--source ./my_project \
--destination ./archives \
--name my_projectLabrat creates a timestamped directory such as my_project_archive_20260905_143000 and a ZIP archive beside it. The original source remains in place.
Archive names include local time down to the second. Run archives sequentially when they share a project name and destination.
Organize scientific files
labrat organize --scienceThis command moves recognized scientific files from the top level of ~/Downloads and ~/Documents into ~/Documents/Research_Data. Recognized formats include common sequence, alignment, variant, annotation, phylogenetic, structure, astronomy, HDF5, and NetCDF extensions.
Choose a different destination with:
labrat organize --science --science-dir ./research-data--science-dir selects the destination. Labrat continues scanning the top level of ~/Downloads and ~/Documents.
Organize by filename or file category
labrat organize --keyword project_alpha
labrat organize --archives
labrat organize --pictures --videosKeyword matching is case-sensitive and moves matching files into ~/Documents/Organized_Files. Archive files are grouped by compression type under ~/Documents/Archive.
The current media implementation uses one shared organizer. Supplying either --pictures or --videos processes both recognized picture and video files.
Review before running
The organize commands move files immediately. Review the top level of ~/Downloads and ~/Documents before running them.
If a destination already contains a file with the same name, Labrat compares modification times. It deletes the older copy and keeps the newer copy. Equal timestamps cause the source file to be deleted. Review duplicate filenames before organizing irreplaceable data.
labrat organize --all runs every organizer, including a keyword-specific file move. For predictable behavior, use the narrowest explicit option for the files you intend to move.
File operations are recorded under ~/.labrat/.