Фіксуємо контракт консольної утиліти File Organizer: які параметри приймає конфігурація (
sourceDir,
targetDir,
allowedExt,
dryRun), які режими типобезпечно задаються через
enum (
Mode,
ConflictPolicy), як нормалізувати користувацьке введення (
trim(),
lowercase()) і як виконувати fail-fast-валідацію через
require() до будь-яких масових операцій із диском. Наприкінці окреслюємо модель результату (
OpResult) і каркас
main.