This project is a cross-platform file organizer application built using React and Tauri. It allows users to organize their files efficiently with the help of AI classification.
file-organizer-desktop
├── src
│ ├── App.tsx # Main React component managing the application state and UI
│ ├── main.tsx # Entry point for the React application
│ ├── components # Directory for reusable components
│ │ └── index.ts # Exports various components for modularity
│ └── types # Directory for TypeScript types and interfaces
│ └── index.ts # Type definitions for the application
├── index.html # Main HTML file for the application
├── package.json # npm configuration file with dependencies and scripts
├── tsconfig.json # TypeScript configuration file
├── vite.config.ts # Vite configuration for development and production builds
├── src-tauri # Directory for Tauri backend
│ ├── src
│ │ └── main.rs # Main Rust file for Tauri application
│ ├── Cargo.toml # Rust project configuration file
│ └── tauri.conf.json # Tauri application configuration
└── README.md # Documentation for the project
Clone the repository:
git clone <repository-url>
cd file-organizer-desktop
Install dependencies:
npm install
Run the application:
npm run dev
Before building the Tauri application, ensure you have the following installed:
Node.js (v16 or higher)
Rust and Cargo (latest stable version)
To install Rust and Cargo:
Visit https://rustup.rs/ or run the appropriate command for your platform:
Windows:
# Download and run rustup-init.exe from https://rustup.rs/
# Or use winget:
winget install Rustlang.Rustup
macOS/Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Follow the on-screen instructions (typically just press Enter to accept defaults)
IMPORTANT: After installation, you must restart your terminal (close and reopen) for the changes to take effect.
Alternatively, on Windows PowerShell, you can manually add Cargo to your current session:
$env:PATH += ";$env:USERPROFILE\.cargo\bin"
On macOS/Linux, run:
source $HOME/.cargo/env # macOS/Linux
Verify installation:
rustc --version
cargo --version
Platform-specific dependencies:
To run the application in development mode with hot-reloading:
npm run tauri dev
To create an optimized production build:
npm run tauri build
This will create platform-specific installers in the src-tauri/target/release/bundle/ directory:
.app bundle and .dmg installer in bundle/macos/.msi installer in bundle/msi/ and .exe in bundle/nsis/.deb, .AppImage, or other formats in bundle/deb/, bundle/appimage/, etc.After building, you can find the compiled application at:
src-tauri/target/debug/src-tauri/target/release/src-tauri/target/release/bundle/You can customize the build configuration by editing:
src-tauri/tauri.conf.json - Tauri app configuration (app name, version, window settings, etc.)src-tauri/Cargo.toml - Rust dependencies and metadatavite.config.ts - Frontend build configurationFor distribution, you'll need to sign your application:
tauri.conf.json under tauri.bundle.macOStauri.conf.json under tauri.bundle.windowsRefer to the Tauri documentation for detailed signing instructions.
The application supports multiple AI providers for file classification:
The application now supports advanced scan control:
http://localhost:1234/v1)Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for more details.
183 commits
TypeScript
57.2%
Rust
16.9%
CSS
12.2%
Python
10.0%
JavaScript
2.1%
Shell
1.6%
This project is a cross-platform file organizer application built using React and Tauri. It allows users to organize their files efficiently with the help of AI classification.
file-organizer-desktop
├── src
│ ├── App.tsx # Main React component managing the application state and UI
│ ├── main.tsx # Entry point for the React application
│ ├── components # Directory for reusable components
│ │ └── index.ts # Exports various components for modularity
│ └── types # Directory for TypeScript types and interfaces
│ └── index.ts # Type definitions for the application
├── index.html # Main HTML file for the application
├── package.json # npm configuration file with dependencies and scripts
├── tsconfig.json # TypeScript configuration file
├── vite.config.ts # Vite configuration for development and production builds
├── src-tauri # Directory for Tauri backend
│ ├── src
│ │ └── main.rs # Main Rust file for Tauri application
│ ├── Cargo.toml # Rust project configuration file
│ └── tauri.conf.json # Tauri application configuration
└── README.md # Documentation for the project
Clone the repository:
git clone <repository-url>
cd file-organizer-desktop
Install dependencies:
npm install
Run the application:
npm run dev
Before building the Tauri application, ensure you have the following installed:
Node.js (v16 or higher)
Rust and Cargo (latest stable version)
To install Rust and Cargo:
Visit https://rustup.rs/ or run the appropriate command for your platform:
Windows:
# Download and run rustup-init.exe from https://rustup.rs/
# Or use winget:
winget install Rustlang.Rustup
macOS/Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Follow the on-screen instructions (typically just press Enter to accept defaults)
IMPORTANT: After installation, you must restart your terminal (close and reopen) for the changes to take effect.
Alternatively, on Windows PowerShell, you can manually add Cargo to your current session:
$env:PATH += ";$env:USERPROFILE\.cargo\bin"
On macOS/Linux, run:
source $HOME/.cargo/env # macOS/Linux
Verify installation:
rustc --version
cargo --version
Platform-specific dependencies:
To run the application in development mode with hot-reloading:
npm run tauri dev
To create an optimized production build:
npm run tauri build
This will create platform-specific installers in the src-tauri/target/release/bundle/ directory:
.app bundle and .dmg installer in bundle/macos/.msi installer in bundle/msi/ and .exe in bundle/nsis/.deb, .AppImage, or other formats in bundle/deb/, bundle/appimage/, etc.After building, you can find the compiled application at:
src-tauri/target/debug/src-tauri/target/release/src-tauri/target/release/bundle/You can customize the build configuration by editing:
src-tauri/tauri.conf.json - Tauri app configuration (app name, version, window settings, etc.)src-tauri/Cargo.toml - Rust dependencies and metadatavite.config.ts - Frontend build configurationFor distribution, you'll need to sign your application:
tauri.conf.json under tauri.bundle.macOStauri.conf.json under tauri.bundle.windowsRefer to the Tauri documentation for detailed signing instructions.
The application supports multiple AI providers for file classification:
The application now supports advanced scan control:
http://localhost:1234/v1)Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for more details.
183 commits
TypeScript
57.2%
Rust
16.9%
CSS
12.2%
Python
10.0%
JavaScript
2.1%
Shell
1.6%