← All Project Ideas

File Organizer CLI Tool

beginner

A command-line tool that organizes files in a directory by type, date, or custom rules. Supports dry-run mode, recursive scanning, conflict resolution, and undo functionality with configurable orga...

Target user

Developers and power users who manage large download directories

Problem

Download and working directories accumulate hundreds of unorganized files, making it hard to find anything without a tool that can automatically sort files by type, date, or custom rules.

Requirements

  • Organize files by extension, type, or date modified
  • Support custom organization rules via config file
  • Dry-run mode to preview changes before applying
  • Recursive directory scanning option
  • Undo last organization operation

Core technologies

Node.js, TypeScript, Commander

Completion criteria

Users can organize files by various criteria with dry-run preview, custom rules, and undo capability from the command line.

Optional extensions

  • Add watch mode for auto-organization
  • Implement file deduplication
  • Add progress bar for large directories
  • Support glob pattern rules

Project phases

Phase 1: Phase 1: Core Organization

Tasks: Set up CLI with Commander.js, Implement file scanning and classification, Build organization by extension and type, Add dry-run preview mode

Phase 2: Phase 2: Rules and Conflicts

Tasks: Implement custom rules from config file, Add conflict resolution for duplicate names, Support date-based organization, Build recursive scanning

Phase 3: Phase 3: Undo and Polish

Tasks: Implement undo via operation log, Add progress output for large directories, Create help and usage documentation, Add verbose logging option