We define the contract for the File Organizer console utility: which parameters the configuration accepts (
sourceDir,
targetDir,
allowedExt,
dryRun), which modes are specified type-safely via
enum (
Mode,
ConflictPolicy), how to normalize user input (
trim(),
lowercase()), and how to do fail-fast validation via
require() before any bulk disk operations. At the end, we outline the result model (
OpResult) and a
main skeleton.