filemayor 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +47 -144
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,188 +1,91 @@
1
- <![CDATA[<div align="center">
1
+ <div align="center">
2
2
 
3
- # FileMayor
3
+ # FileMayor
4
4
 
5
- ### Your Digital Life Organizer
5
+ **Organize, scan, clean, and watch your filesystem — from any terminal.**
6
6
 
7
- **Organize, scan, clean, and watch your filesystem from any terminal, desktop, or browser.**
7
+ `v2.0.1` · Windows · macOS · Linux · Node ≥18
8
8
 
9
- [![npm version](https://img.shields.io/npm/v/filemayor?color=d4af37&label=npm)](https://www.npmjs.com/package/filemayor)
10
- [![License: Proprietary](https://img.shields.io/badge/license-Proprietary-red.svg)](LICENSE)
11
- [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-brightgreen)]()
12
- [![Node](https://img.shields.io/badge/node-%3E%3D18-green)]()
9
+ </div>
13
10
 
14
11
  ---
15
12
 
16
- **CLI** · **Desktop App** · **PWA** · **Data Center Ready**
17
-
18
- </div>
19
-
20
- ## 🚀 Install
13
+ ## Install
21
14
 
22
15
  ```bash
23
- # npm (recommended)
24
16
  npm install -g filemayor
25
-
26
- # Or one-liner
27
- curl -fsSL https://raw.githubusercontent.com/filemayor/filemayor/main/install.sh | bash
28
17
  ```
29
18
 
30
- ## 📦 What It Does
31
-
32
- | Feature | Description |
33
- |---------|-------------|
34
- | **Scan** | Recursively scan directories with size, category, and date filtering |
35
- | **Organize** | Auto-categorize files into 12 categories with configurable naming |
36
- | **Clean** | Detect and remove junk files (temp, cache, logs, system junk) |
37
- | **Watch** | Real-time file watcher with rules engine and auto-organize |
38
- | **Undo** | Full rollback journal — undo any organization safely |
39
- | **Config** | `.filemayor.yml` config with hierarchical merge and env vars |
40
-
41
- ## 🖥 CLI Usage
19
+ ## Commands
42
20
 
43
21
  ```bash
44
- # Scan a directory
45
- filemayor scan ~/Downloads
46
-
47
- # Organize files (preview first)
48
- filemayor organize ~/Downloads --dry-run
22
+ filemayor scan ~/Downloads # See what's in a folder
23
+ filemayor organize ~/Downloads # Sort files into categories
24
+ filemayor organize ~/Downloads --dry-run # Preview without moving
25
+ filemayor clean /var/tmp --yes # Delete junk files
26
+ filemayor watch ~/Downloads # Auto-organize in real-time
27
+ filemayor undo ~/Downloads # Undo last organization
28
+ filemayor init # Create config file
29
+ filemayor info # System info + version
30
+ ```
49
31
 
50
- # Organize with naming convention
51
- filemayor organize ~/Downloads --naming category_prefix
32
+ ## What It Does
52
33
 
53
- # Clean junk files
54
- filemayor clean /var/tmp --yes
34
+ | Command | Description |
35
+ |---------|-------------|
36
+ | `scan` | Recursively scan directories — size, type, date filtering |
37
+ | `organize` | Auto-sort files into 12 categories with undo journal |
38
+ | `clean` | Detect and remove temp, cache, logs, system junk |
39
+ | `watch` | Monitor folders in real-time with rules engine |
40
+ | `undo` | Rollback any organization safely |
55
41
 
56
- # Watch for new files and auto-organize
57
- filemayor watch ~/Downloads
42
+ ## 12 File Categories · 180+ Extensions
58
43
 
59
- # Create config file
60
- filemayor init
44
+ Documents · Images · Audio · Video · Archives · Code · Config · Fonts · Data · Executables · Design · Books
61
45
 
62
- # Undo last organization
63
- filemayor undo ~/Downloads
46
+ ## Output Formats
64
47
 
65
- # Machine-readable output
66
- filemayor scan ~/Downloads --json | jq '.files | length'
67
- filemayor scan . --csv > report.csv
48
+ ```bash
49
+ filemayor scan . --json # Machine-readable JSON
50
+ filemayor scan . --csv > out.csv # Spreadsheet export
51
+ filemayor scan . --minimal # Paths only
68
52
  ```
69
53
 
70
- ## ⚙️ Configuration
54
+ ## Configuration
71
55
 
72
- Create a `.filemayor.yml` in your project or home directory:
56
+ Create `.filemayor.yml` in any directory:
73
57
 
74
58
  ```yaml
75
- version: 1
76
-
77
59
  organize:
78
- naming: category_prefix # original | category_prefix | date_prefix | clean
79
- duplicates: rename # rename | skip | overwrite
80
- maxDepth: 20
81
- ignore: [node_modules, .git, __pycache__, dist, build]
82
-
83
- clean:
84
- categories: [temp, cache, system, logs]
85
- maxDepth: 10
60
+ naming: category_prefix # original | category_prefix | date_prefix
61
+ duplicates: rename # rename | skip | overwrite
62
+ ignore: [node_modules, .git, dist]
86
63
 
87
64
  watch:
88
65
  directories: [~/Downloads]
89
- autoOrganize: false
90
66
  rules:
91
67
  - match: "*.pdf"
92
68
  action: move
93
69
  dest: ~/Documents/PDFs
94
- - match: "*.{jpg,png,gif}"
95
- action: move
96
- dest: ~/Pictures
97
-
98
- output:
99
- format: table # table | json | csv | minimal
100
- colors: true
101
70
  ```
102
71
 
103
- ## 📂 Categories
104
-
105
- FileMayor recognizes **12 file categories** with **180+ extensions**:
106
-
107
- | Category | Extensions |
108
- |----------|-----------|
109
- | Documents | pdf, doc, docx, txt, md, epub... |
110
- | Images | jpg, png, gif, svg, webp, psd... |
111
- | Audio | mp3, wav, flac, aac, ogg... |
112
- | Video | mp4, mkv, avi, mov, webm... |
113
- | Archives | zip, rar, 7z, tar, gz... |
114
- | Code | js, ts, py, java, cpp, go, rs... |
115
- | Config | json, yaml, yml, toml, ini, env... |
116
- | Fonts | ttf, otf, woff, woff2... |
117
- | Data | db, sqlite, parquet, hdf5... |
118
- | Executables | exe, msi, app, apk, deb... |
119
- | Design | fig, sketch, blend, stl, dwg... |
120
- | Books | epub, mobi, azw, djvu, cbz... |
72
+ ## Security
121
73
 
122
- Custom categories can be added via `.filemayor.yml`.
74
+ - All processing is **100% local** — no data leaves your machine
75
+ - Path traversal protection on all operations
76
+ - System directory safeguards (won't touch OS files)
77
+ - Zero runtime dependencies
123
78
 
124
- ## 🔒 Security
79
+ ## License
125
80
 
126
- - **Path traversal protection** blocks operations on system directories
127
- - **System file guards** — won't touch OS-critical files
128
- - **Rate limiting** — prevents runaway operations
129
- - **Rollback journal** — every move is logged for safe undo
130
- - **Content Security Policy** — hardened Electron with CSP headers
131
- - **No remote code execution** — fully local, no external API calls
132
-
133
- ## 🏗 Architecture
134
-
135
- ```
136
- filemayor/
137
- ├── cli/ # CLI + Core Engine
138
- │ ├── index.js # CLI entry point (7 subcommands)
139
- │ └── core/ # Platform-agnostic engine
140
- │ ├── scanner.js # Recursive directory scanner
141
- │ ├── organizer.js # File organization + rollback
142
- │ ├── cleaner.js # Junk detection + deletion
143
- │ ├── watcher.js # Real-time file watcher
144
- │ ├── config.js # YAML config parser
145
- │ ├── reporter.js # Multi-format output
146
- │ ├── categories.js # Extension → category mapping
147
- │ └── security.js # Path guards + sanitization
148
- ├── electron/ # Desktop app (Electron)
149
- │ ├── main.js # Main process
150
- │ └── preload.js # IPC bridge
151
- ├── src/ # React frontend
152
- │ ├── App.tsx # Main app
153
- │ ├── views/ # UI views
154
- │ └── locales/ # i18n (10 languages)
155
- └── public/ # Static assets + PWA
156
- ```
81
+ Proprietarysee [LICENSE](LICENSE) for details.
157
82
 
158
- ## 🌍 Platforms
159
-
160
- | Platform | Method |
161
- |----------|--------|
162
- | **Terminal** | `npm install -g filemayor` |
163
- | **Windows** | Download from GitHub Releases |
164
- | **macOS** | Download .dmg from Releases |
165
- | **Linux** | AppImage or .deb from Releases |
166
- | **Browser** | PWA at filemayor.app |
167
- | **Servers** | `npm install -g filemayor` + cron/systemd |
168
-
169
- ## 🤝 Contributing
170
-
171
- 1. Fork the repository
172
- 2. Create a feature branch: `git checkout -b feature/amazing-feature`
173
- 3. Commit changes: `git commit -m 'Add amazing feature'`
174
- 4. Push: `git push origin feature/amazing-feature`
175
- 5. Open a Pull Request
83
+ ---
176
84
 
177
- ## 📄 License
85
+ <div align="center">
178
86
 
179
- Proprietary License see [LICENSE](LICENSE) for details.
87
+ Created by **Lehlohonolo Goodwill Nchefu (Chevza)**
180
88
 
181
- ---
89
+ [GitHub](https://github.com/Hrypopo) · [npm](https://www.npmjs.com/package/filemayor)
182
90
 
183
- <div align="center">
184
- <strong>Created by Lehlohonolo Goodwill Nchefu (Chevza)</strong>
185
- <br>
186
- <a href="https://github.com/Hrypopo">github.com/Hrypopo</a> · <a href="https://filemayor.app">filemayor.app</a>
187
91
  </div>
188
- ]]>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "filemayor",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Enterprise file management engine — scan, organize, clean, and watch your filesystem from any terminal",
5
5
  "main": "index.js",
6
6
  "bin": {