{"id":50561896,"url":"https://github.com/hsr88/mouzi","last_synced_at":"2026-06-04T12:01:23.706Z","repository":{"id":356775764,"uuid":"1234008446","full_name":"hsr88/mouzi","owner":"hsr88","description":"A free, privacy-first automatic file organizer that quietly sorts your Downloads folder from the system tray.","archived":false,"fork":false,"pushed_at":"2026-06-04T08:18:59.000Z","size":335807,"stargazers_count":273,"open_issues_count":3,"forks_count":13,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-04T10:08:18.576Z","etag":null,"topics":["automation","desktop-app","downloads-organizer","file-management","file-organizer","local-first","open-source","privacy-first","productivity","rust","tauri","windows"],"latest_commit_sha":null,"homepage":"https://mouzi.cc/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hsr88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hsr88","ko_fi":"hsr"}},"created_at":"2026-05-09T16:22:54.000Z","updated_at":"2026-06-04T08:19:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hsr88/mouzi","commit_stats":null,"previous_names":["hsr88/mouzi"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hsr88/mouzi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsr88%2Fmouzi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsr88%2Fmouzi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsr88%2Fmouzi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsr88%2Fmouzi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsr88","download_url":"https://codeload.github.com/hsr88/mouzi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsr88%2Fmouzi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33903134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","desktop-app","downloads-organizer","file-management","file-organizer","local-first","open-source","privacy-first","productivity","rust","tauri","windows"],"created_at":"2026-06-04T12:01:22.844Z","updated_at":"2026-06-04T12:01:23.678Z","avatar_url":"https://github.com/hsr88.png","language":"Rust","funding_links":["https://github.com/sponsors/hsr88","https://ko-fi.com/hsr"],"categories":[],"sub_categories":[],"readme":"# Mouzi 🧹🐁\n\n\u003e **Your downloads, tamed.**\n\nMouzi is a silent, elegant file organizer that lives in your system tray and keeps your Downloads folder (and any other folder) automatically tidy. It runs quietly in the background, monitors selected folders, and moves, renames, or sorts files based on customizable rules.\n\n[![Windows](https://img.shields.io/badge/Windows-10%2F11-blue?logo=windows)](https://mouzi.cc)\n[![Tauri](https://img.shields.io/badge/Built%20with-Tauri-FFC131?logo=tauri)](https://tauri.app)\n[![Rust](https://img.shields.io/badge/Backend-Rust-000000?logo=rust)](https://www.rust-lang.org)\n[![React](https://img.shields.io/badge/Frontend-React-61DAFB?logo=react)](https://react.dev)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n---\n\n## 📸 Screenshots\n\u003cimg width=\"640\" height=\"257\" alt=\"ezgif-39399e26ded336f6\" src=\"https://github.com/user-attachments/assets/950b065d-ed29-4e55-9dd2-eaac188fba5d\" /\u003e\n\u003cimg width=\"490\" height=\"372\" alt=\"Zrzut ekranu 2026-05-09 184947\" src=\"https://github.com/user-attachments/assets/c969b726-69fc-41da-9d2c-55051a107274\" /\u003e\n\n\n---\n\n## ✨ Features\n\n### 🔇 Silent by Default\n- Runs 24/7 in the background with minimal resource usage (~5 MB RAM)\n- Automatically organizes new files as they arrive\n- Shows a subtle Windows toast notification with the count of organized files\n- Silent autostart with Windows\n\n### 📁 Smart Rules Engine\n- **Images** (`.jpg`, `.png`, `.gif`, `.webp`...) → `Downloads/Images/`\n- **Documents** (`.pdf`, `.docx`, `.xlsx`...) → `Downloads/Documents/`\n- **Archives** (`.zip`, `.rar`, `.7z`...) → `Downloads/Archives/`\n- **Installers** (`.exe`, `.msi`...) → `Downloads/Installers/`\n- **Music** / **Video** → dedicated folders\n- **Catch-all** rule for everything else\n\n### 🛠️ Fully Customizable\n- Create your own rules with extensions, regex patterns, and destination folders\n- Use dynamic placeholders in paths: `{year}`, `{month}`, `{day}`, `{extension}`, `{filename}`\n- Reorder rules by priority - first match wins\n\n### 🚫 Ignore Rules (.mouziignore)\n- Per-folder ignore patterns — like `.gitignore` for your files\n- Set up via Settings UI or write a `.mouziignore` file manually\n- Supports wildcards (`*.tmp`), exact names (`.DS_Store`), and folders (`node_modules/`)\n\n### 📜 History \u0026 Undo\n- Every action is logged locally in SQLite\n- Undo any single move with one click\n- Clear history anytime\n\n### 🌍 Multi-language\nAuto-detects your Windows system language. Supported:\n- 🇬🇧 English\n- 🇵🇱 Polish\n- 🇮🇹 Italian\n- 🇩🇪 German\n- 🇫🇷 French\n- 🇷🇺 Russian\n- 🇯🇵 Japanese\n\n*(Falls back to English if system language is not supported)*\n\n### 🕶️ Dark Mode\n- Follows system theme, or force Light / Dark mode from settings\n\n### 🔒 Privacy First\n- **100% offline** - zero cloud, zero file name uploads\n- **No telemetry** by default\n- **System files ignored** - `desktop.ini`, `Thumbs.db`, `.DS_Store`, and other OS hidden files are never touched\n- **Portable version available** - run without installing, leaves no trace in the registry\n- All data stored locally in your user profile folder\n\n---\n\n## 📥 Download\n\n| Installer | Size | Best For |\n|-----------|------|----------|\n| [`Mouzi_0.1.0_x64-setup.exe`](https://mouzi.cc/download) | ~3.3 MB | Regular users (auto-installer) |\n| [`Mouzi_0.1.0_x64_en-US.msi`](https://mouzi.cc/download) | ~4.7 MB | Enterprise / Active Directory |\n| [`Mouzi_0.1.0_x64-portable.exe`](https://mouzi.cc/download) | ~14 MB | Power users (no install) |\n\n**SHA-256 Checksums**\n\n```\nMouzi_0.1.0_x64-setup.exe: 97e76364811b02e40d6d1443399c93823df3e3f68db2c27d55188b9659605beb\nMouzi_0.1.0_x64_en-US.msi: 4d140319df71b35c80ae323fb1bc3f5cd3940d4243438d4a132e146fd7780f46\nMouzi_0.1.0_x64-portable.exe: b3a1f234610275e3248dce8b6deafcd06b7b99f254ff5f5d9a7c1aa4fb8f019b\n```\n\n\u003e ⚠️ **Windows 10/11 only.** Requires the [Microsoft Edge WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) (pre-installed on most systems).\n\n---\n\n## 🚀 Quick Start\n\n1. **Download \u0026 install** Mouzi using the installer above.\n2. Mouzi starts automatically and places an icon in your system tray (📂).\n3. **Left-click** the tray icon to open the popup - see recent actions, stats, and clean manually.\n4. **Right-click** the tray icon for the menu: `Clean Now`, `Settings`, `Quit`.\n5. Drop a file into your `Downloads` folder and watch it disappear into the right subfolder within 2 seconds.\n\n---\n\n## ⚙️ How Rules Work\n\nRules are evaluated top-to-bottom. The first rule that matches a file wins.\n\n| Condition | Example Match |\n|-----------|---------------|\n| Extensions | `jpg`, `png`, `gif` |\n| Regex pattern | `.*faktura.*` matches `faktura_2025.pdf` |\n\n**Destination path placeholders:**\n```\nDownloads/Documents/{year}/{month}/\n→ Downloads/Documents/2026/05/\n```\n\n---\n\n## 📐 Architecture\n\n```\n+---------------------------------------------+\n|  Frontend (React 19 + TypeScript + Tailwind) |\n|  +- Popup window (300x420, frameless)        |\n|  +- Settings window (900x650)                |\n+---------------------------------------------+\n|  Tauri 2.x Bridge                            |\n+---------------------------------------------+\n|  Backend (Rust)                              |\n|  +- File Watcher (notify crate)              |\n|  +- Rules Engine                             |\n|  +- SQLite Database (rusqlite)               |\n|  +- System Tray \u0026 Notifications              |\n+---------------------------------------------+\n```\n\n---\n\n## 🛠️ Development\n\n### Prerequisites\n- [Rust](https://rustup.rs/) (latest stable)\n- [Node.js](https://nodejs.org/) 20+\n- Windows SDK / MSVC (Visual Studio Build Tools)\n\n### Setup\n\n```bash\n# Clone the repo\ngit clone https://github.com/yourusername/mouzi.git\ncd mouzi\n\n# Install frontend dependencies\nnpm install\n\n# Run in development mode (hot-reload for both frontend \u0026 Rust)\nnpm run tauri dev\n```\n\n### Build from Source\n\n```bash\n# Production build (MSI + NSIS installer)\nnpm run tauri build\n```\n\nOutput will be in `src-tauri/target/release/bundle/`.\n\n---\n\n## 📋 Roadmap\n\n- [x] MVP with default rules\n- [x] Multi-language support\n- [x] Dark mode\n- [x] History \u0026 undo\n- [x] Start with Windows (registry Run key)\n- [x] Custom folders with local rules\n- [x] System files ignored (desktop.ini, Thumbs.db, etc.)\n- [x] Check for updates button\n- [x] `.mouziignore` - per-folder ignore patterns (like `.gitignore`)\n- [x] Portable version (single .exe, no installer)\n- [x] Browser temp files ignored (`.crdownload`, `.part`, `.tmp`)\n- [x] Grace period option - delay moving files by X minutes (so browser download links stay valid)\n- [x] File lock check - skip files currently in use by another process\n- [x] Single-instance guard - prevent duplicate processes \u0026 tray icons\n- [x] First-run popup visibility - show window on initial launch\n- [x] Clickable toast - open destination folder from popup notification\n- [x] Skip 0KB placeholder files during download\n- [ ] Per-folder manual/paused mode - collect files but don't move until user clicks Clean Now\n- [ ] Scheduled clean mode - run once/2/3/4 times per day instead of real-time\n- [ ] Batch group selected files - select multiple files, one click to group into a folder\n- [ ] Export/import rules as JSON (backup + sharing)\n- [ ] Suggest mode (modal confirmation per file)\n- [ ] Local AI tagging (ONNX runtime for content classification)\n- [ ] Rule learning from user manual moves\n- [ ] macOS \u0026 Linux ports\n\n---\n\n## ☕ Support\n\nIf Mouzi saves you time and keeps your Downloads folder sane, consider supporting its development:\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/hsr)\n\nOr visit the project homepage: **[mouzi.cc](https://mouzi.cc)**\n\n---\n## See Also\n\n### [Ordir](https://github.com/landnthrn/ordir)\n\nOrder folders any way you want inside Windows File Explorer, and add custom thumbnails.\n\n---\n## 📄 License\n\nMouzi is released under the [MIT License](LICENSE).\n\n---\n\n## 🙏 Acknowledgements\n\nBuilt with [Tauri](https://tauri.app), [React](https://react.dev), [Tailwind CSS](https://tailwindcss.com), and [Rust](https://www.rust-lang.org).\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eMade with ❤️ for people who download too much stuff.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsr88%2Fmouzi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsr88%2Fmouzi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsr88%2Fmouzi/lists"}