A modern, cross-platform desktop application for the organize file management automation tool. Build powerful file organization rules with an intuitive visual editor or direct YAML editing.
- Drag-and-drop interface for building rules
- Intuitive filter and action configuration
- Real-time validation and preview
- Full Monaco editor with syntax highlighting
- Auto-completion and error detection
- Seamless sync with visual editor
- Simulate rules before execution (dry run)
- Real-time output display
- Tag-based rule selection
- 16 filters: extension, size, name, regex, duplicate, exif, and more
- 13 actions: move, copy, delete, trash, rename, shell, python, and more
- Template placeholders for dynamic paths
- Recursive folder scanning
- Windows, macOS, and Linux support
- Native look and feel
- Dark/Light theme modes
-
Python 3.9 or higher
Download from python.org or use your package manager.
-
organize-tool
pip install organize-tool
Download the latest release for your platform:
- Windows:
Organize-Desktop-Setup-x.x.x.exe - macOS:
Organize-Desktop-x.x.x.dmg - Linux:
Organize-Desktop-x.x.x.AppImage
# Clone the repository
git clone <repository-url>
cd organize-desktop
# Install dependencies
npm install
# Start the application
npm start# Build for your current platform
npm run build:electron
# Build for specific platforms
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # Linuxpip install organize-toolStart the app and go to Settings to verify organize is detected.
- Go to Visual Editor
- Click Add Rule
- Add a location (e.g.,
~/Downloads) - Add a filter (e.g.,
extension: pdf) - Add an action (e.g.,
move: ~/Documents/PDFs/)
- Click Simulate to preview changes
- Review the output
- Click Run to execute
The visual editor provides an intuitive interface for building rules:
- Rules Panel: List of all rules with quick status
- Rule Editor: Configure locations, filters, and actions
- Accordion Sections: Organized by component type
For advanced users who prefer direct YAML editing:
- Full Monaco editor with YAML support
- Real-time validation
- Sync button to update from visual editor
Settings available:
- Python Path: Path to Python executable
- Theme: Light / Dark / System
- Font Size: Editor font size
- Auto-save: Automatically save changes
rules:
- name: "Sort by extension"
locations: ~/Downloads
filters:
- extension
actions:
- move: "~/Downloads/{extension.upper()}/"rules:
- name: "Archive old files"
locations: ~/Downloads
filters:
- lastmodified:
days: 30
actions:
- move: ~/Archive/rules:
- name: "Remove duplicates"
locations:
- ~/Downloads
- ~/Documents
subfolders: true
filters:
- duplicate
actions:
- trashrules:
- name: "Sort photos by date"
locations: ~/Pictures
subfolders: true
filters:
- extension:
- jpg
- png
- created
actions:
- move: "~/Pictures/{created.strftime('%Y/%m')}/"organize-desktop/
├── electron/ # Electron main process
│ ├── main.js # Main entry point
│ └── preload.js # Preload script for IPC
├── public/ # Static assets
├── src/ # React application
│ ├── components/ # Reusable components
│ ├── context/ # React context providers
│ ├── pages/ # Page components
│ ├── types/ # TypeScript types
│ └── utils/ # Utility functions
├── docs/ # Documentation
└── assets/ # Build assets (icons)
- Node.js 18+
- npm or yarn
npm installnpm startThis starts both the React development server and Electron.
# Build React app
npm run build
# Build Electron distributables
npm run build:electronnpm test- Electron: Cross-platform desktop framework
- React 18: UI framework
- TypeScript: Type safety
- Material UI: Component library
- Monaco Editor: Code editing
- js-yaml: YAML parsing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
MIT License - see LICENSE for details.
- organize by Thomas Feldmann - The amazing CLI tool this app is built upon
- Electron
- React
- Material UI
- Documentation: See the docs folder
- Issues: Report bugs on GitHub
- organize docs: https://organize.readthedocs.io/
