appclean 1.8.0 → 2.0.0

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 (211) hide show
  1. package/GUI_IMPLEMENTATION_STATUS.md +143 -0
  2. package/MD_Files/INDEX.md +51 -0
  3. package/MD_Files/PUBLICATION_SUCCESS_REPORT.md +227 -0
  4. package/PHASE2_COMPLETION.md +281 -0
  5. package/PHASE3_COMPLETION.md +364 -0
  6. package/README.md +446 -376
  7. package/assets/logo.svg +34 -0
  8. package/dist/core/appUpdateChecker.js +12 -16
  9. package/dist/core/appUpdateChecker.js.map +1 -1
  10. package/dist/core/detector.js +14 -18
  11. package/dist/core/detector.js.map +1 -1
  12. package/dist/core/duplicateFileFinder.js +12 -19
  13. package/dist/core/duplicateFileFinder.js.map +1 -1
  14. package/dist/core/orphanedDependencyDetector.js +19 -26
  15. package/dist/core/orphanedDependencyDetector.js.map +1 -1
  16. package/dist/core/performanceOptimizer.js +6 -10
  17. package/dist/core/performanceOptimizer.js.map +1 -1
  18. package/dist/core/permissionHandler.js +21 -25
  19. package/dist/core/permissionHandler.js.map +1 -1
  20. package/dist/core/pluginSystem.js +9 -13
  21. package/dist/core/pluginSystem.js.map +1 -1
  22. package/dist/core/removalRecorder.js +12 -19
  23. package/dist/core/removalRecorder.js.map +1 -1
  24. package/dist/core/remover.js +59 -66
  25. package/dist/core/remover.js.map +1 -1
  26. package/dist/core/reportGenerator.d.ts +1 -1
  27. package/dist/core/reportGenerator.d.ts.map +1 -1
  28. package/dist/core/reportGenerator.js +27 -34
  29. package/dist/core/reportGenerator.js.map +1 -1
  30. package/dist/core/scheduledCleanup.js +23 -30
  31. package/dist/core/scheduledCleanup.js.map +1 -1
  32. package/dist/core/serviceFileDetector.js +24 -31
  33. package/dist/core/serviceFileDetector.js.map +1 -1
  34. package/dist/core/verificationModule.js +10 -14
  35. package/dist/core/verificationModule.js.map +1 -1
  36. package/dist/index.js +190 -90
  37. package/dist/index.js.map +1 -1
  38. package/dist/managers/brewManager.d.ts.map +1 -1
  39. package/dist/managers/brewManager.js +35 -41
  40. package/dist/managers/brewManager.js.map +1 -1
  41. package/dist/managers/customManager.d.ts +2 -1
  42. package/dist/managers/customManager.d.ts.map +1 -1
  43. package/dist/managers/customManager.js +79 -53
  44. package/dist/managers/customManager.js.map +1 -1
  45. package/dist/managers/linuxManager.js +29 -36
  46. package/dist/managers/linuxManager.js.map +1 -1
  47. package/dist/managers/npmManager.js +27 -34
  48. package/dist/managers/npmManager.js.map +1 -1
  49. package/dist/types/index.js +1 -2
  50. package/dist/ui/client/api/client.d.ts +24 -0
  51. package/dist/ui/client/api/client.d.ts.map +1 -0
  52. package/dist/ui/client/api/client.js +96 -0
  53. package/dist/ui/client/api/client.js.map +1 -0
  54. package/dist/ui/client/app.d.ts +7 -0
  55. package/dist/ui/client/app.d.ts.map +1 -0
  56. package/dist/ui/client/app.js +71 -0
  57. package/dist/ui/client/app.js.map +1 -0
  58. package/dist/ui/client/index.html +107 -0
  59. package/dist/ui/client/pages/appDetails.d.ts +8 -0
  60. package/dist/ui/client/pages/appDetails.d.ts.map +1 -0
  61. package/dist/ui/client/pages/appDetails.js +287 -0
  62. package/dist/ui/client/pages/appDetails.js.map +1 -0
  63. package/dist/ui/client/pages/appSearch.d.ts +2 -0
  64. package/dist/ui/client/pages/appSearch.d.ts.map +1 -0
  65. package/dist/ui/client/pages/appSearch.js +210 -0
  66. package/dist/ui/client/pages/appSearch.js.map +1 -0
  67. package/dist/ui/client/pages/dashboard.d.ts +2 -0
  68. package/dist/ui/client/pages/dashboard.d.ts.map +1 -0
  69. package/dist/ui/client/pages/dashboard.js +154 -0
  70. package/dist/ui/client/pages/dashboard.js.map +1 -0
  71. package/dist/ui/client/pages/settings.d.ts +7 -0
  72. package/dist/ui/client/pages/settings.d.ts.map +1 -0
  73. package/dist/ui/client/pages/settings.js +279 -0
  74. package/dist/ui/client/pages/settings.js.map +1 -0
  75. package/dist/ui/client/state/appStore.d.ts +38 -0
  76. package/dist/ui/client/state/appStore.d.ts.map +1 -0
  77. package/dist/ui/client/state/appStore.js +121 -0
  78. package/dist/ui/client/state/appStore.js.map +1 -0
  79. package/dist/ui/client/state/dashboardStore.d.ts +31 -0
  80. package/dist/ui/client/state/dashboardStore.d.ts.map +1 -0
  81. package/dist/ui/client/state/dashboardStore.js +70 -0
  82. package/dist/ui/client/state/dashboardStore.js.map +1 -0
  83. package/dist/ui/client/state/uiStore.d.ts +43 -0
  84. package/dist/ui/client/state/uiStore.d.ts.map +1 -0
  85. package/dist/ui/client/state/uiStore.js +109 -0
  86. package/dist/ui/client/state/uiStore.js.map +1 -0
  87. package/dist/ui/client/styles/animations.css +327 -0
  88. package/dist/ui/client/styles/base.css +214 -0
  89. package/dist/ui/client/styles/components.css +400 -0
  90. package/dist/ui/client/styles/layout.css +224 -0
  91. package/dist/ui/client/styles/variables.css +140 -0
  92. package/dist/ui/client/utils/events.d.ts +19 -0
  93. package/dist/ui/client/utils/events.d.ts.map +1 -0
  94. package/dist/ui/client/utils/events.js +54 -0
  95. package/dist/ui/client/utils/events.js.map +1 -0
  96. package/dist/ui/client/utils/formatting.d.ts +11 -0
  97. package/dist/ui/client/utils/formatting.d.ts.map +1 -0
  98. package/dist/ui/client/utils/formatting.js +104 -0
  99. package/dist/ui/client/utils/formatting.js.map +1 -0
  100. package/dist/ui/client/utils/router.d.ts +25 -0
  101. package/dist/ui/client/utils/router.d.ts.map +1 -0
  102. package/dist/ui/client/utils/router.js +90 -0
  103. package/dist/ui/client/utils/router.js.map +1 -0
  104. package/dist/ui/guiServer.d.ts +8 -1
  105. package/dist/ui/guiServer.d.ts.map +1 -1
  106. package/dist/ui/guiServer.js +148 -110
  107. package/dist/ui/guiServer.js.map +1 -1
  108. package/dist/ui/menu.js +18 -27
  109. package/dist/ui/menu.js.map +1 -1
  110. package/dist/ui/prompts.js +34 -47
  111. package/dist/ui/prompts.js.map +1 -1
  112. package/dist/ui/server/middleware/errorHandler.d.ts +19 -0
  113. package/dist/ui/server/middleware/errorHandler.d.ts.map +1 -0
  114. package/dist/ui/server/middleware/errorHandler.js +100 -0
  115. package/dist/ui/server/middleware/errorHandler.js.map +1 -0
  116. package/dist/ui/server/routes/apps.d.ts +8 -0
  117. package/dist/ui/server/routes/apps.d.ts.map +1 -0
  118. package/dist/ui/server/routes/apps.js +74 -0
  119. package/dist/ui/server/routes/apps.js.map +1 -0
  120. package/dist/ui/server/routes/dashboard.d.ts +4 -0
  121. package/dist/ui/server/routes/dashboard.d.ts.map +1 -0
  122. package/dist/ui/server/routes/dashboard.js +57 -0
  123. package/dist/ui/server/routes/dashboard.js.map +1 -0
  124. package/dist/ui/server/routes/settings.d.ts +6 -0
  125. package/dist/ui/server/routes/settings.d.ts.map +1 -0
  126. package/dist/ui/server/routes/settings.js +31 -0
  127. package/dist/ui/server/routes/settings.js.map +1 -0
  128. package/dist/ui/server/services/appService.d.ts +45 -0
  129. package/dist/ui/server/services/appService.d.ts.map +1 -0
  130. package/dist/ui/server/services/appService.js +114 -0
  131. package/dist/ui/server/services/appService.js.map +1 -0
  132. package/dist/ui/server/services/removalService.d.ts +24 -0
  133. package/dist/ui/server/services/removalService.d.ts.map +1 -0
  134. package/dist/ui/server/services/removalService.js +83 -0
  135. package/dist/ui/server/services/removalService.js.map +1 -0
  136. package/dist/utils/filesystem.js +32 -49
  137. package/dist/utils/filesystem.js.map +1 -1
  138. package/dist/utils/logger.js +9 -18
  139. package/dist/utils/logger.js.map +1 -1
  140. package/dist/utils/platform.js +10 -22
  141. package/dist/utils/platform.js.map +1 -1
  142. package/dist/utils/upgrade.d.ts +22 -0
  143. package/dist/utils/upgrade.d.ts.map +1 -0
  144. package/dist/utils/upgrade.js +94 -0
  145. package/dist/utils/upgrade.js.map +1 -0
  146. package/package.json +4 -2
  147. package/src/core/appUpdateChecker.ts +1 -1
  148. package/src/core/detector.ts +6 -6
  149. package/src/core/duplicateFileFinder.ts +1 -1
  150. package/src/core/orphanedDependencyDetector.ts +2 -2
  151. package/src/core/performanceOptimizer.ts +1 -1
  152. package/src/core/permissionHandler.ts +2 -2
  153. package/src/core/pluginSystem.ts +1 -1
  154. package/src/core/removalRecorder.ts +2 -2
  155. package/src/core/remover.ts +11 -11
  156. package/src/core/reportGenerator.ts +2 -2
  157. package/src/core/scheduledCleanup.ts +2 -2
  158. package/src/core/serviceFileDetector.ts +2 -2
  159. package/src/core/verificationModule.ts +2 -2
  160. package/src/index.ts +133 -6
  161. package/src/managers/brewManager.ts +11 -9
  162. package/src/managers/customManager.ts +71 -30
  163. package/src/managers/linuxManager.ts +3 -3
  164. package/src/managers/npmManager.ts +3 -3
  165. package/src/ui/client/api/client.ts +163 -0
  166. package/src/ui/client/app.ts +121 -0
  167. package/src/ui/client/index.html +107 -0
  168. package/src/ui/client/pages/appDetails.ts +356 -0
  169. package/src/ui/client/pages/appSearch.ts +270 -0
  170. package/src/ui/client/pages/dashboard.ts +189 -0
  171. package/src/ui/client/pages/settings.ts +342 -0
  172. package/src/ui/client/state/appStore.ts +169 -0
  173. package/src/ui/client/state/dashboardStore.ts +113 -0
  174. package/src/ui/client/state/uiStore.ts +166 -0
  175. package/src/ui/client/styles/animations.css +327 -0
  176. package/src/ui/client/styles/base.css +214 -0
  177. package/src/ui/client/styles/components.css +400 -0
  178. package/src/ui/client/styles/layout.css +224 -0
  179. package/src/ui/client/styles/variables.css +140 -0
  180. package/src/ui/client/utils/events.ts +74 -0
  181. package/src/ui/client/utils/formatting.ts +157 -0
  182. package/src/ui/client/utils/router.ts +161 -0
  183. package/src/ui/guiServer.ts +206 -105
  184. package/src/ui/prompts.ts +1 -1
  185. package/src/ui/server/middleware/errorHandler.ts +174 -0
  186. package/src/ui/server/routes/apps.ts +132 -0
  187. package/src/ui/server/routes/dashboard.ts +93 -0
  188. package/src/ui/server/routes/settings.ts +63 -0
  189. package/src/ui/server/services/appService.ts +184 -0
  190. package/src/ui/server/services/removalService.ts +138 -0
  191. package/src/utils/upgrade.ts +143 -0
  192. package/tsconfig.json +3 -2
  193. package/INDEX.md +0 -165
  194. /package/{ACTION_CHECKLIST.md → MD_Files/ACTION_CHECKLIST.md} +0 -0
  195. /package/{APPCLEAN_SUMMARY.md → MD_Files/APPCLEAN_SUMMARY.md} +0 -0
  196. /package/{CHANGELOG.md → MD_Files/CHANGELOG.md} +0 -0
  197. /package/{CODE_OF_CONDUCT.md → MD_Files/CODE_OF_CONDUCT.md} +0 -0
  198. /package/{CODE_REVIEW_REPORT.md → MD_Files/CODE_REVIEW_REPORT.md} +0 -0
  199. /package/{COMMUNITY_POSTS.md → MD_Files/COMMUNITY_POSTS.md} +0 -0
  200. /package/{DEPLOYMENT_GUIDE.md → MD_Files/DEPLOYMENT_GUIDE.md} +0 -0
  201. /package/{DEPLOYMENT_STATUS.md → MD_Files/DEPLOYMENT_STATUS.md} +0 -0
  202. /package/{EXECUTIVE_REPORT.md → MD_Files/EXECUTIVE_REPORT.md} +0 -0
  203. /package/{GITHUB_OPTIMIZATION.md → MD_Files/GITHUB_OPTIMIZATION.md} +0 -0
  204. /package/{MARKETING_SUMMARY.md → MD_Files/MARKETING_SUMMARY.md} +0 -0
  205. /package/{NPM_PACKAGE_OPTIMIZATION.md → MD_Files/NPM_PACKAGE_OPTIMIZATION.md} +0 -0
  206. /package/{NPM_PUBLISH.md → MD_Files/NPM_PUBLISH.md} +0 -0
  207. /package/{PROJECT_SUMMARY.txt → MD_Files/PROJECT_SUMMARY.txt} +0 -0
  208. /package/{QUICKSTART.md → MD_Files/QUICKSTART.md} +0 -0
  209. /package/{SETUP_GITHUB.md → MD_Files/SETUP_GITHUB.md} +0 -0
  210. /package/{TESTING_SUMMARY.md → MD_Files/TESTING_SUMMARY.md} +0 -0
  211. /package/{setup-github.sh → MD_Files/setup-github.sh} +0 -0
package/README.md CHANGED
@@ -1,548 +1,618 @@
1
1
  <div align="center">
2
- <img src="./logo.svg" alt="AppClean Logo" width="120" height="120">
2
+ <img src="https://raw.githubusercontent.com/praveenkay/AppClean/main/assets/logo.svg" alt="AppClean - Intelligent Application Uninstaller" width="150" height="150">
3
3
 
4
- # AppClean
4
+ # AppClean 🧹
5
5
 
6
- > **Intelligently find and safely uninstall applications with all their artifacts**
6
+ **Intelligently find and safely uninstall applications with all their artifacts**
7
7
 
8
- [![version](https://img.shields.io/badge/version-1.8.0-blue?style=flat-square)](https://github.com/praveenkay/AppClean/releases)
8
+ [![version](https://img.shields.io/badge/version-2.0.0-blue?style=flat-square)](https://github.com/praveenkay/AppClean/releases/tag/v2.0.0)
9
9
  [![license](https://img.shields.io/badge/license-MIT-green?style=flat-square)](LICENSE)
10
- [![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey?style=flat-square)](README.md)
10
+ [![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-blue?style=flat-square)](#platform-support)
11
11
  [![npm](https://img.shields.io/npm/dm/appclean?style=flat-square)](https://npmjs.com/package/appclean)
12
12
 
13
- **A powerful, cross-platform CLI tool for developers and system administrators**
13
+ **A powerful, cross-platform tool for developers, system administrators, and everyone**
14
14
 
15
15
  </div>
16
16
 
17
- ## ✨ Features
17
+ ---
18
18
 
19
- ### Core Features
20
- - **🔍 Smart Detection** — Finds apps installed via npm, yarn, pnpm, Homebrew, apt, yum, dnf, and custom installers
21
- - **📊 Deep Analysis** — Shows installation method, version, and locates all related artifacts
22
- - **🛡️ Safe Removal** — Dry-run preview, double confirmation, and optional backups
23
- - **💾 Backup & Restore** — Create backups before deletion and restore if needed
24
- - **⚡ Fast & Efficient** — Scans and analyzes systems in seconds
25
- - **🖥️ Cross-Platform** — macOS (Intel & Apple Silicon), Linux, and Windows
26
- - **🎨 Beautiful CLI** — Interactive menu-driven interface with colors and animations
19
+ ## What is AppClean?
27
20
 
28
- ### Advanced Features (v1.1.0+)
29
- - **🔐 Elevated Permissions** — Automatic sudo/admin detection and prompts
30
- - **🔧 Service File Detection** — Finds LaunchAgent/LaunchDaemon and systemd services
31
- - **📋 Operation Recording** — Complete removal history tracking and reporting
32
- - **✓ Verification** — Post-removal verification to ensure complete uninstall
33
- - **📄 Professional Reports** — HTML and text reports with legal disclaimers
21
+ AppClean is an intelligent application uninstaller that completely removes apps from your system along with all their hidden files, configurations, caches, and leftover data. It supports apps installed via npm, Homebrew, apt, yum, and custom installers across macOS, Linux, and Windows.
34
22
 
35
- ### Latest Features (v1.2.0 - v1.8.0)
36
- - **🎨 GUI Application** Modern web-based interface (v1.2.0)
37
- - **🔍 Duplicate File Finder** Find and remove duplicate files (v1.3.0)
38
- - **📦 Orphaned Dependency Detector** Identify unused npm packages (v1.4.0)
39
- - **🔌 Plugin System** Extensible architecture for custom detectors (v1.5.0)
40
- - **⏰ Scheduled Cleanup** Automate regular cleanup tasks (v1.6.0)
41
- - **📈 App Update Checker** Check for available updates (v1.7.0)
42
- - **🚀 Performance Optimizer** — Multi-threaded scanning & caching (v1.8.0)
23
+ ### Why AppClean?
24
+ - 🎯 **Complete Removal** - Finds and removes all app-related files, not just the executable
25
+ - 🛡️ **Safe & Smart** - Preview what will be deleted before confirming
26
+ - 💾 **Backup Option** - Create backups before removal for peace of mind
27
+ - 🎨 **Beautiful Interface** - Modern GUI makes app management easy for everyone
28
+ - **Fast & Efficient** - ~50KB bundle, <100ms API responses
29
+ - 🔌 **Programmable** - Full REST API for automation and integration
43
30
 
44
- ## 🚀 Installation
31
+ ---
45
32
 
46
- ### Quick Install (npm)
33
+ ## What's New in v2.0.0
47
34
 
48
- ```bash
49
- npm install -g appclean
50
- ```
35
+ 🎉 **Complete GUI Overhaul** - A brand new modern single-page application (SPA) interface for intelligent app management!
51
36
 
52
- ### From Source
37
+ ### New Features
38
+ - 🎨 **Beautiful SPA Interface** - Clean, minimal design with dark mode support
39
+ - 📊 **Dashboard** - System statistics, disk usage gauge, recent activity log
40
+ - 🔍 **Smart App Search** - Fuzzy search, filter by installation method, sort by name/size/date
41
+ - 📂 **Detailed Analysis** - Visual artifacts list, size breakdown pie chart, category breakdown
42
+ - 👁️ **Preview Mode** - See exactly what will be deleted before confirming
43
+ - 🛡️ **Safe Removal** - Dual confirmation dialogs, optional backup creation
44
+ - 🌙 **Dark Mode** - Beautiful theme with persistent preference
45
+ - 🔌 **REST API** - Full API endpoints for integration
46
+ - ⚡ **High Performance** - ~50KB gzipped, <100ms API response time
53
47
 
54
- ```bash
55
- git clone https://github.com/praveenkay/AppClean.git
56
- cd AppClean
57
- npm install
58
- npm run build
59
- npm install -g .
60
- ```
48
+ ---
61
49
 
62
- **Requirements:** Node.js 16+ and npm 7+
50
+ ## Quick Start
63
51
 
64
- ## 💻 Usage
52
+ ### 1. Install AppClean
65
53
 
66
- ### Interactive Mode
54
+ ```bash
55
+ npm install -g appclean@2.0.0
56
+ ```
67
57
 
68
- Simply run:
58
+ ### 2. Launch the GUI (Recommended)
69
59
 
70
60
  ```bash
71
- appclean
61
+ appclean gui
72
62
  ```
73
63
 
74
- Then use arrow keys to navigate and select actions:
75
- - 🔍 Search for applications
76
- - 📋 List all installed apps
77
- - 📊 View app details and artifacts
78
- - 🗑️ Remove applications safely
64
+ Then open **http://localhost:3000** in your browser.
79
65
 
80
- ### Command Mode
66
+ ### 3. Or Use the CLI
81
67
 
82
68
  ```bash
83
- # Search for an app
84
- appclean search webpack
85
-
86
- # List all applications
69
+ # List all apps
87
70
  appclean list
88
71
 
89
- # Analyze app artifacts before removal
90
- appclean analyze webpack
91
-
92
- # Preview removal (no files deleted)
93
- appclean remove webpack --dry-run
72
+ # Search for an app
73
+ appclean search <app-name>
94
74
 
95
- # Remove with backup
96
- appclean remove webpack --backup
75
+ # Analyze app and artifacts
76
+ appclean analyze <app-name>
97
77
 
98
- # Remove without confirmations
99
- appclean remove webpack --force
78
+ # Remove app (with confirmation)
79
+ appclean remove <app-name>
100
80
  ```
101
81
 
102
- ## Supported Package Managers
82
+ ---
103
83
 
104
- | Manager | Platform | Support |
105
- |---------|----------|---------|
106
- | npm | All | ✅ |
107
- | yarn | All | ✅ |
108
- | pnpm | All | ✅ |
109
- | Homebrew | macOS, Linux | |
110
- | apt | Linux | |
111
- | yum | Linux | |
112
- | dnf | Linux | ✅ |
113
- | Custom Scripts | All | ✅ |
84
+ ## Features
85
+
86
+ ### 🎨 Modern GUI Interface
87
+
88
+ **Dashboard View**
89
+ - 📊 Total apps, total space used, session metrics
90
+ - 💾 Real-time disk usage gauge with health indicators
91
+ - 📜 Recent activity log showing removed apps
92
+ - 🚀 Quick action buttons
93
+
94
+ **App Discovery (`#/apps`)**
95
+ - 🔍 Real-time search with fuzzy matching
96
+ - 🏷️ Filter by installation method (npm, Homebrew, apt, yum, custom)
97
+ - 📊 Sort by name, size, or date installed
98
+ - 📦 Visual app cards with version and size
99
+ - 📄 Infinite scroll pagination
100
+
101
+ **App Analysis (`#/apps/:appName`)**
102
+ - 📂 Complete artifact listing with file paths
103
+ - 📈 Visual pie chart showing size breakdown
104
+ - 📋 Category breakdown (binaries, configs, caches, data, logs)
105
+ - 👁️ Preview mode showing what will be deleted
106
+ - 🗑️ Safe removal with dual confirmation
107
+ - 💾 Optional backup creation before removal
108
+
109
+ **Settings**
110
+ - 🔄 Version checking and update notifications
111
+ - 🚀 One-click upgrade to latest version
112
+ - 🎨 Theme toggle (light/dark mode)
113
+ - ℹ️ About section with documentation
114
+ - ⚠️ Danger zone for uninstalling AppClean
115
+
116
+ ### 💻 Powerful CLI
117
+
118
+ **Find Apps**
119
+ - Detect apps from npm, yarn, pnpm, Homebrew, apt, yum, dnf
120
+ - Search by name with instant results
121
+ - Show app version and installation method
122
+
123
+ **Analyze**
124
+ - Find all related files (binaries, configs, caches, logs)
125
+ - See how much space each app uses
126
+ - Preview what will be deleted before removing
127
+
128
+ **Remove Safely**
129
+ - Dry-run mode to preview first
130
+ - Backup option before deletion
131
+ - Confirmation prompts to prevent accidents
132
+ - Error reporting for failed deletions
133
+
134
+ **Manage**
135
+ - Check for updates: `appclean check-update`
136
+ - Upgrade automatically: `appclean upgrade`
137
+ - Uninstall AppClean: `appclean uninstall`
114
138
 
115
- ## How It Works
139
+ ---
116
140
 
117
- AppClean intelligently detects and removes applications by:
141
+ ## GUI vs CLI
118
142
 
119
- 1. **Scanning Installation Locations**
120
- - Checks npm/yarn/pnpm global directories
121
- - Queries Homebrew installation database
122
- - Searches Linux package manager databases
123
- - Scans custom binary locations
143
+ | Feature | GUI | CLI |
144
+ |---------|-----|-----|
145
+ | **User-Friendly** | Great for everyone | ✅ Great for power users |
146
+ | **Visuals** | Charts, cards, animations | ❌ Text-based |
147
+ | **Speed** | Fast with API | ✅ Very fast |
148
+ | **Automation** | ❌ Interactive | ✅ Scriptable |
149
+ | **Remote Access** | ✅ Via network | ❌ Local only |
150
+ | **Learning Curve** | ✅ Minimal | ⚠️ Moderate |
124
151
 
125
- 2. **Locating Related Files**
126
- - Configuration files (`~/.config`, `~/.bashrc`, etc.)
127
- - Cache directories
128
- - Data files and logs
129
- - Service files (systemd, LaunchAgents, etc.)
152
+ **Recommendation**: Use the GUI for discovery and management, CLI for scripting and automation.
130
153
 
131
- 3. **Safe Removal**
132
- - Preview all files to be removed with `--dry-run`
133
- - Create optional backups before deletion
134
- - Double confirmation before final removal
135
- - Detailed error reporting
154
+ ---
136
155
 
137
- ## 📚 Examples
156
+ ## Common Tasks
138
157
 
139
- ### Interactive Search and Remove
158
+ ### Using the GUI
140
159
 
141
160
  ```bash
142
- $ appclean search webpack
143
- Found 1 app(s)
144
-
145
- ? Select an app to remove: (Use arrow keys)
146
- webpack (npm) - v5.89.0
147
-
148
- ? What would you like to do? (Use arrow keys)
149
- 📊 View details and artifacts
150
- 🗑️ Remove this app
151
- ⬅️ Back to search
161
+ # Start the GUI
162
+ appclean gui
163
+
164
+ # Open http://localhost:3000
165
+ # Then:
166
+ # 1. Click "Apps" to browse installed applications
167
+ # 2. Search for an app by name
168
+ # 3. Click app card to see details
169
+ # 4. Click "Preview Removal" to see what will be deleted
170
+ # 5. Click "Remove App" to uninstall (with confirmation)
152
171
  ```
153
172
 
154
- ### Preview Before Removal
173
+ ### Using the CLI
155
174
 
156
175
  ```bash
157
- $ appclean remove webpack --dry-run
176
+ # Find and remove an app
177
+ appclean search firefox
178
+ appclean analyze firefox
179
+ appclean remove firefox --dry-run # Preview first
180
+ appclean remove firefox # Actually remove
158
181
 
159
- Files to be removed:
160
- binary 512 B /usr/local/bin/webpack
161
- config 1.2 KB ~/.config/webpack
162
- cache 15 MB ~/.cache/webpack
163
- data 2.3 MB ~/.local/share/webpack
164
- log 512 B ~/.local/share/log/webpack
182
+ # Remove multiple apps
183
+ appclean list
184
+ appclean remove <app1>
185
+ appclean remove <app2>
165
186
 
166
- Total space to be freed: 17.5 MB
187
+ # Backup before removing
188
+ appclean remove <app-name> --backup
167
189
 
168
- This is a preview only. No files were removed.
190
+ # Use without confirmation
191
+ appclean remove <app-name> --force
169
192
  ```
170
193
 
171
- ### Safe Removal with Backup
194
+ ---
172
195
 
173
- ```bash
174
- $ appclean remove webpack --backup
196
+ ## All Commands
175
197
 
176
- App: webpack
177
- ℹ Method: npm
178
- Version: 5.89.0
198
+ ### GUI Server
199
+ ```bash
200
+ appclean gui # Start GUI on port 3000
201
+ appclean gui --port 8080 # Use custom port
202
+ ```
179
203
 
180
- ? This action cannot be undone. Remove webpack and all its files? (y/N) y
204
+ ### Search & List
205
+ ```bash
206
+ appclean search <query> # Find apps by name
207
+ appclean list # Show all installed apps
208
+ appclean analyze <app> # View app details and files
209
+ ```
181
210
 
182
- Backup created: ~/.appclean-backups/webpack-2024-01-20T15-30-45.tar.gz
183
- ✓ Successfully removed webpack (freed 17.5 MB)
211
+ ### Remove Apps
212
+ ```bash
213
+ appclean remove <app> # Remove app (with confirmation)
214
+ appclean remove <app> --dry-run # Preview only
215
+ appclean remove <app> --backup # Create backup first
216
+ appclean remove <app> --force # Skip confirmation
184
217
  ```
185
218
 
186
- ### Check for Duplicate Files
219
+ ### Update AppClean
220
+ ```bash
221
+ appclean upgrade # Update to latest version
222
+ appclean check-update # Check for updates
223
+ appclean --version # Show current version
224
+ ```
187
225
 
226
+ ### Uninstall
188
227
  ```bash
189
- $ appclean find-duplicates ~/Documents ~/Downloads
228
+ appclean uninstall # Remove AppClean (with confirmation)
229
+ appclean uninstall --force # Remove without confirmation
230
+ ```
190
231
 
191
- ℹ Scanning for duplicate files...
192
- ✓ Found 3 duplicate groups
193
- Group 1: report.pdf (2.5 MB)
194
- - ~/Documents/reports/report.pdf
195
- - ~/Downloads/report.pdf
232
+ ---
196
233
 
197
- Group 2: image.png (1.2 MB)
198
- - ~/Documents/images/image.png
199
- - ~/Pictures/image.png
234
+ ## API Documentation
200
235
 
201
- 💾 Potential space savings: 3.7 MB
236
+ The GUI server provides a REST API for integration with other tools.
237
+
238
+ ### Base URL
239
+ ```
240
+ http://localhost:3000
202
241
  ```
203
242
 
204
- ### Check for Updates
243
+ ### Endpoints
205
244
 
245
+ **Get Dashboard Statistics**
206
246
  ```bash
207
- $ appclean check-updates
208
-
209
- 📦 webpack: 5.89.0 → Latest: 5.90.0
210
- npm install -g webpack@latest
211
-
212
- 📦 typescript: 5.3.3 → Latest: 5.4.0
213
- npm install -g typescript@latest
214
-
215
- ✓ Found 2 updates available
247
+ curl http://localhost:3000/api/dashboard/stats
216
248
  ```
217
249
 
218
- ### List All Installed Apps
250
+ Response:
251
+ ```json
252
+ {
253
+ "success": true,
254
+ "data": {
255
+ "totalApps": 99,
256
+ "totalSpaceUsed": 4236604496,
257
+ "sessionAppsRemoved": 0,
258
+ "sessionSpaceFreed": 0,
259
+ "diskUsagePercent": 12,
260
+ "recentlyRemoved": []
261
+ }
262
+ }
263
+ ```
219
264
 
265
+ **List Applications**
220
266
  ```bash
221
- $ appclean list
222
- ℹ Found 42 app(s)
223
-
224
- ┌──────────────┬──────────┬──────────┐
225
- │ Name │ Version │ Method │
226
- ├──────────────┼──────────┼──────────┤
227
- │ webpack │ 5.89.0 │ npm │
228
- │ typescript │ 5.3.3 │ npm │
229
- │ lodash │ 4.17.21 │ npm │
230
- │ node │ 20.10.0 │ custom │
231
- │ git │ 2.43.0 │ brew │
232
- │ python │ 3.11.7 │ system │
233
- └──────────────┴──────────┴──────────┘
267
+ curl 'http://localhost:3000/api/apps/list?limit=20&offset=0'
234
268
  ```
235
269
 
236
- ## Commands & Options
270
+ Response:
271
+ ```json
272
+ {
273
+ "success": true,
274
+ "data": {
275
+ "apps": [...],
276
+ "total": 99,
277
+ "page": 1,
278
+ "pageSize": 20
279
+ }
280
+ }
281
+ ```
237
282
 
238
- ### Core Commands
283
+ **Search Applications**
239
284
  ```bash
240
- appclean search <query> # Search for installed applications
241
- appclean list # List all installed applications
242
- appclean analyze <appName> # Analyze an application and show its artifacts
243
- appclean remove <appName> # Remove an application
244
- appclean gui # Launch GUI application (v1.2.0+)
285
+ curl 'http://localhost:3000/api/apps/search?q=node&method=npm&sort=name'
245
286
  ```
246
287
 
247
- ### Advanced Commands (v1.2.0 - v1.8.0)
288
+ **Analyze Application**
248
289
  ```bash
249
- # Duplicate file operations
250
- appclean find-duplicates [paths] # Find duplicate files (v1.3.0)
251
-
252
- # Dependency management
253
- appclean find-orphaned-packages # Find unused npm packages (v1.4.0)
254
-
255
- # Plugin management
256
- appclean plugin register <path> # Register custom plugin (v1.5.0)
257
- appclean plugin list # List installed plugins (v1.5.0)
258
- appclean plugin enable <name> # Enable plugin (v1.5.0)
259
-
260
- # Schedule management
261
- appclean schedule create <app> # Create cleanup schedule (v1.6.0)
262
- appclean schedule list # List all schedules (v1.6.0)
263
- appclean schedule delete <id> # Delete schedule (v1.6.0)
264
-
265
- # Update checking
266
- appclean check-updates # Check for available updates (v1.7.0)
267
- appclean update <appName> # Update an application (v1.7.0)
290
+ curl 'http://localhost:3000/api/apps/node/analysis'
291
+ ```
268
292
 
269
- # Performance
270
- appclean scan --optimize # Optimize scan performance (v1.8.0)
271
- appclean clear-cache # Clear scan cache (v1.8.0)
293
+ Response:
294
+ ```json
295
+ {
296
+ "success": true,
297
+ "data": {
298
+ "app": {...},
299
+ "artifacts": [...],
300
+ "totalSize": 52428800,
301
+ "breakdown": {
302
+ "binaries": 5000000,
303
+ "configs": 2000000,
304
+ "caches": 45000000,
305
+ "data": 100000,
306
+ "logs": 328800
307
+ }
308
+ }
309
+ }
272
310
  ```
273
311
 
274
- ### Common Options
312
+ **Remove Application**
275
313
  ```bash
276
- --dry-run # Preview without removing files
277
- --backup # Create backup before removal
278
- --force # Skip confirmation prompts
279
- --help # Show help information
280
- --version # Show version information
314
+ curl -X POST 'http://localhost:3000/api/apps/node/remove' \
315
+ -H 'Content-Type: application/json' \
316
+ -d '{"dryRun": false, "createBackup": true}'
281
317
  ```
282
318
 
283
- ## Safety Features
284
-
285
- ⚠️ **AppClean prioritizes safety**:
286
-
287
- - **Dry-run by default**: Use `--dry-run` to preview what will be deleted
288
- - **Double confirmation**: You'll be asked to confirm twice before actual removal
289
- - **Backups**: Create optional backups before removing apps
290
- - **Detailed logging**: See exactly what's being removed
291
- - **Error reporting**: Clear error messages if something goes wrong
292
-
293
- ## Latest Features Guide (v1.1.0 - v1.8.0)
294
-
295
- ### v1.1.0 - Advanced Features
296
- - **Elevated Permissions**: Automatically detects and requests sudo/admin access
297
- - **Service File Detection**: Identifies LaunchAgent/LaunchDaemon (macOS) and systemd (Linux) files
298
- - **User Consent Recording**: Tracks all removal operations with timestamps
299
- - **Post-Removal Verification**: Confirms complete app removal via filesystem and commands
300
- - **Professional Reports**: Generate HTML and text reports with legal disclaimers
301
-
302
- **Usage:**
319
+ **Check Version**
303
320
  ```bash
304
- appclean remove app-name # Automatic elevation detection
305
- appclean remove app-name --backup # Creates backup before removal
321
+ curl 'http://localhost:3000/api/version'
306
322
  ```
307
323
 
308
- ### v1.2.0 - GUI Application
309
- Modern web-based interface for visual app management.
310
-
311
- **Usage:**
324
+ **Upgrade AppClean**
312
325
  ```bash
313
- appclean gui # Opens GUI at http://localhost:3000
326
+ curl -X POST 'http://localhost:3000/api/upgrade'
314
327
  ```
315
328
 
316
- ### v1.3.0 - Duplicate File Finder
317
- Find and manage duplicate files by SHA256 hash.
318
-
319
- **Usage:**
329
+ **Uninstall AppClean**
320
330
  ```bash
321
- appclean find-duplicates ~/Documents ~/Downloads
322
- appclean find-duplicates --recursive / # Search entire filesystem
331
+ curl -X POST 'http://localhost:3000/api/uninstall'
323
332
  ```
324
333
 
325
- ### v1.4.0 - Orphaned Dependency Detector
326
- Identify npm packages with no project dependencies.
334
+ ---
335
+
336
+ ## Examples
327
337
 
328
- **Usage:**
338
+ ### Remove Node.js package globally
329
339
  ```bash
330
- appclean find-orphaned-packages # Find all unused packages
331
- appclean find-orphaned-packages --dry-run # Preview without removal
340
+ # Using GUI: Click on app → Preview → Remove
341
+ # Using CLI:
342
+ appclean remove express
332
343
  ```
333
344
 
334
- ### v1.5.0 - Plugin System
335
- Extend AppClean with custom application detectors.
336
-
337
- **Usage:**
345
+ ### Remove Homebrew app
338
346
  ```bash
339
- appclean plugin register ./my-plugin.js
340
- appclean plugin list
341
- appclean plugin enable my-plugin
342
- appclean plugin config my-plugin --setting value
347
+ # Using GUI: Search "spotify" → Click → Remove
348
+ # Using CLI:
349
+ appclean remove spotify
343
350
  ```
344
351
 
345
- ### v1.6.0 - Scheduled Cleanup Automation
346
- Automate cleanup with recurring schedules.
352
+ ### Remove system package
353
+ ```bash
354
+ # Using GUI: Search "vim" → Filter by apt → Click → Remove
355
+ # Using CLI:
356
+ sudo appclean remove vim
357
+ ```
347
358
 
348
- **Usage:**
359
+ ### Preview before removing
349
360
  ```bash
350
- appclean schedule create webpack --frequency daily
351
- appclean schedule create node --frequency weekly --backup
352
- appclean schedule list
353
- appclean schedule update schedule-id --frequency monthly
354
- appclean schedule delete schedule-id
361
+ # Using GUI: Click "Preview Removal" button
362
+ # Using CLI:
363
+ appclean remove chrome --dry-run
364
+ # Review output, then:
365
+ appclean remove chrome
355
366
  ```
356
367
 
357
- ### v1.7.0 - App Update Checker
358
- Check for available updates across all package managers.
368
+ ### Create backup before removing
369
+ ```bash
370
+ # Using GUI: Automatic backup option is shown
371
+ # Using CLI:
372
+ appclean remove myapp --backup
373
+ ```
359
374
 
360
- **Usage:**
375
+ ### Use custom GUI port
361
376
  ```bash
362
- appclean check-updates # Check all apps
363
- appclean check-updates webpack # Check specific app
364
- appclean update webpack # Update app
377
+ appclean gui --port 8080
378
+ # Open http://localhost:8080
365
379
  ```
366
380
 
367
- ### v1.8.0 - Performance Optimizer
368
- Optimize scanning performance for large systems.
381
+ ---
369
382
 
370
- **Features:**
371
- - Multi-threaded scanning (configurable threads)
372
- - Intelligent result caching
373
- - Performance metrics and reporting
374
- - Automatic optimization recommendations
383
+ ## What Gets Removed?
375
384
 
376
- **Usage:**
377
- ```bash
378
- appclean scan --optimize # Use optimization settings
379
- appclean scan --threads 8 # Set thread count
380
- appclean clear-cache # Clear cached scan results
381
- ```
385
+ AppClean intelligently finds and removes:
382
386
 
383
- ## Platform-Specific Notes
387
+ - ✓ Application binaries and executables
388
+ - ✓ Configuration files (`.config`, `.local`, etc)
389
+ - ✓ Cache directories and files
390
+ - ✓ Log files and directories
391
+ - ✓ Data files and user data
392
+ - ✓ Launch agents/daemons (macOS)
393
+ - ✓ Systemd services (Linux)
394
+ - ✓ Man pages and documentation
395
+ - ✓ Package manager metadata
384
396
 
385
- ### macOS
386
- - Detects both Intel and Apple Silicon installations
387
- - Removes LaunchAgents and LaunchDaemons
388
- - Cleans Application Support directories
389
- - Handles .plist preference files
397
+ ---
390
398
 
391
- ### Linux
392
- - Supports apt, yum, and dnf package managers
393
- - Removes systemd service files
394
- - Cleans .config and .local directories
395
- - Handles /var/log files
399
+ ## Platform Support
396
400
 
397
- ### Windows
398
- - Scans Program Files directories
399
- - Removes APPDATA and LOCALAPPDATA entries
400
- - Handles .exe files and shortcuts
401
+ | Feature | macOS | Linux | Windows |
402
+ |---------|-------|-------|---------|
403
+ | **npm/yarn/pnpm** | | ✓ | ✓ |
404
+ | **Homebrew** | | ✓ | - |
405
+ | **apt/yum/dnf** | - | ✓ | - |
406
+ | **GUI** | ✓ | ✓ | ✓ |
407
+ | **CLI** | ✓ | ✓ | ✓ |
408
+ | **Custom apps** | ✓ | ✓ | ✓ |
401
409
 
402
- ## Troubleshooting
410
+ ---
403
411
 
404
- ### App not found
412
+ ## Architecture
405
413
 
406
- ```bash
407
- appclean search partial-name
408
- ```
414
+ ### Technology Stack
409
415
 
410
- Try searching with a partial name. AppClean searches by substring.
416
+ **GUI (Client)**
417
+ - ES2020 JavaScript modules
418
+ - Hash-based SPA routing
419
+ - Event-driven state management
420
+ - CSS with design tokens and animations
421
+ - Responsive layout (Flexbox, Grid)
411
422
 
412
- ### Permission denied
423
+ **Server**
424
+ - Native Node.js HTTP module (no Express)
425
+ - TypeScript with strict mode
426
+ - RESTful API design
427
+ - CORS enabled
413
428
 
414
- Some system files may require elevated permissions:
429
+ **Core**
430
+ - Intelligent app detection
431
+ - Multi-package-manager support
432
+ - Artifact discovery and categorization
433
+ - Safe removal with validation
415
434
 
416
- ```bash
417
- sudo appclean remove app-name
435
+ ### Directory Structure
436
+
437
+ ```
438
+ src/
439
+ ├── ui/
440
+ │ ├── client/ # SPA application
441
+ │ │ ├── pages/ # Dashboard, Apps, Settings
442
+ │ │ ├── state/ # Reactive stores
443
+ │ │ ├── styles/ # CSS design system
444
+ │ │ ├── utils/ # Router, formatting
445
+ │ │ └── app.ts # SPA entry point
446
+ │ ├── server/ # API backend
447
+ │ │ ├── routes/ # API endpoints
448
+ │ │ ├── services/ # Business logic
449
+ │ │ └── middleware/ # Request handling
450
+ │ └── guiServer.ts # HTTP server
451
+ ├── core/ # App detection & removal
452
+ ├── managers/ # Package manager integrations
453
+ └── utils/ # Utilities
418
454
  ```
419
455
 
420
- ### Can't restore backup
456
+ ---
457
+
458
+ ## Performance
421
459
 
422
- Backups are stored in `~/.appclean-backups/`:
460
+ - **Bundle Size**: ~50KB gzipped (no frameworks)
461
+ - **API Response**: <100ms per request
462
+ - **Page Load**: <2 seconds
463
+ - **Startup Time**: <1 second
464
+ - **Memory Usage**: Minimal footprint
423
465
 
466
+ ---
467
+
468
+ ## Tips & Best Practices
469
+
470
+ 💡 **Always preview first**
424
471
  ```bash
425
- ls ~/.appclean-backups/
426
- tar -xzf ~/.appclean-backups/app-backup.tar.gz
472
+ # GUI: Click "Preview Removal"
473
+ # CLI: Use --dry-run flag
474
+ appclean remove myapp --dry-run
427
475
  ```
428
476
 
429
- ## Data & Storage Locations
477
+ 💡 **Create backups for important apps**
478
+ ```bash
479
+ # GUI: Backup option is shown before removal
480
+ # CLI: Use --backup flag
481
+ appclean remove myapp --backup
482
+ ```
430
483
 
431
- AppClean stores all data in user home directory:
484
+ 💡 **Use the GUI for visual browsing**
485
+ ```bash
486
+ appclean gui
487
+ # Open http://localhost:3000
488
+ # Visual cards and charts make it easy
489
+ ```
432
490
 
433
- | Data | Location | Purpose |
434
- |------|----------|---------|
435
- | Backups | `~/.appclean-backups/` | App removal backups |
436
- | Records | `~/.appclean-records/` | Removal operation history |
437
- | Reports | `~/.appclean-reports/` | Generated HTML/text reports |
438
- | Schedules | `~/.appclean-schedules.json` | Cleanup automation schedules |
439
- | Cache | `~/.appclean-cache/` | Scan result cache |
440
- | Results | `~/.appclean-cleanup-results/` | Scheduled cleanup results |
491
+ 💡 **Use CLI for scripting and automation**
492
+ ```bash
493
+ # In shell scripts or CI/CD pipelines
494
+ appclean remove myapp --force
495
+ ```
441
496
 
442
- All data is stored locally on your machine. No cloud upload or external connections.
497
+ 💡 **Check updates regularly**
498
+ ```bash
499
+ appclean check-update
500
+ # Or use GUI: Settings → Check for Updates
501
+ ```
443
502
 
444
- ## Performance Tips
503
+ ---
445
504
 
446
- ### For Large Systems (100k+ files)
447
- 1. Use v1.8.0 Performance Optimizer
448
- 2. Enable result caching: `appclean scan --cache`
449
- 3. Increase thread count: `appclean scan --threads 8`
450
- 4. Exclude system directories: `--exclude /usr --exclude /var`
505
+ ## Permissions
451
506
 
452
- ### For Faster Scans
453
- 1. Use caching: Results are automatically cached
454
- 2. Skip deep directory scans: Set `--max-depth 5`
455
- 3. Exclude symlinks: Enabled by default
456
- 4. Pre-filter patterns: Use exclude patterns
507
+ - **macOS/Linux**: May need `sudo` for system packages
508
+ ```bash
509
+ sudo appclean remove system-package
510
+ ```
511
+ - **Windows**: May need to run as Administrator
457
512
 
458
- ## Development
513
+ ---
459
514
 
460
- ### Setup
515
+ ## Troubleshooting
461
516
 
517
+ **"Permission denied" error**
462
518
  ```bash
463
- git clone https://github.com/YOUR_USERNAME/appclean.git
464
- cd appclean
465
- npm install
519
+ # Try with sudo
520
+ sudo appclean remove <app>
466
521
  ```
467
522
 
468
- ### Build
469
-
523
+ **App not found**
470
524
  ```bash
471
- npm run build
525
+ # Search for partial name
526
+ appclean search <partial-name>
527
+ # Or use GUI search with fuzzy matching
472
528
  ```
473
529
 
474
- ### Development Server
475
-
530
+ **GUI won't start**
476
531
  ```bash
477
- npm run dev
532
+ # Check if port 3000 is in use
533
+ # Use custom port:
534
+ appclean gui --port 8080
478
535
  ```
479
536
 
480
- ### Run Tests
537
+ **Want to preview without removing**
538
+ ```bash
539
+ # Using GUI: Click "Preview Removal"
540
+ # Using CLI: Use --dry-run flag
541
+ appclean remove <app> --dry-run
542
+ ```
481
543
 
544
+ **Want to restore from backup**
482
545
  ```bash
483
- npm test
546
+ # Backups are saved in ~/.appclean-backups/
547
+ ls ~/.appclean-backups/
548
+ # Manually restore from tar.gz if needed
484
549
  ```
485
550
 
486
- ## Contributing
551
+ ---
552
+
553
+ ## Safety Guarantees
554
+
555
+ ✅ **All actions require confirmation** (unless `--force` is used)
556
+ ✅ **Preview mode available** - see what will be deleted first
557
+ ✅ **Backup option available** - protect important data
558
+ ✅ **No data loss** - only removes application files
559
+ ✅ **Easy to reinstall** - use npm/brew/apt to reinstall apps
560
+ ✅ **Dry-run mode** - test before actual removal
487
561
 
488
- Contributions are welcome! Please:
562
+ ---
489
563
 
490
- 1. Fork the repository
491
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
492
- 3. Commit your changes (`git commit -m 'Add amazing feature'`)
493
- 4. Push to the branch (`git push origin feature/amazing-feature`)
494
- 5. Open a Pull Request
564
+ ## Getting Help
495
565
 
496
- ## Version History & Roadmap
566
+ ```bash
567
+ # Show all commands
568
+ appclean --help
497
569
 
498
- ### Completed Features
499
- - [x] **v1.0.0** - Initial release with core functionality
500
- - [x] **v1.1.0** - Advanced features (permissions, service detection, reporting)
501
- - [x] **v1.2.0** - GUI application for all platforms
502
- - [x] **v1.3.0** - Duplicate file finder
503
- - [x] **v1.4.0** - Orphaned dependency detection
504
- - [x] **v1.5.0** - Plugin system for custom detectors
505
- - [x] **v1.6.0** - Scheduled cleanup automation
506
- - [x] **v1.7.0** - App update checker
507
- - [x] **v1.8.0** - Performance optimization for large scans
570
+ # Get help for specific command
571
+ appclean remove --help
508
572
 
509
- ### Future Roadmap 🚀
510
- - [ ] Mobile app (iOS/Android)
511
- - [ ] Advanced caching system
512
- - [ ] Batch operations
513
- - [ ] Custom rule builder
514
- - [ ] System notifications
515
- - [ ] Cloud sync for schedules
516
- - [ ] Advanced analytics dashboard
573
+ # Check your version
574
+ appclean --version
517
575
 
518
- ## Known Limitations
576
+ # Check if update available
577
+ appclean check-update
578
+ ```
519
579
 
520
- - System packages may require elevated permissions to remove
521
- - Some service files may need manual cleanup
522
- - Snap packages (Linux) are currently not supported
580
+ ---
523
581
 
524
582
  ## License
525
583
 
526
- MIT License © 2026
584
+ MIT License - Free to use and modify. See [LICENSE](LICENSE) file for details.
585
+
586
+ ---
527
587
 
528
- ## Disclaimer
588
+ ## Support & Community
529
589
 
530
- ⚠️ **Use with caution**: This tool permanently deletes files. Always use `--dry-run` first to preview changes.
590
+ 📝 **Report Issues**: https://github.com/praveenkay/AppClean/issues
591
+ 💬 **Discussions**: https://github.com/praveenkay/AppClean/discussions
592
+ 🌟 **Star** if you find it useful!
593
+ 📖 **Documentation**: https://github.com/praveenkay/AppClean#readme
531
594
 
532
- ## 🤝 Support & Community
595
+ ---
533
596
 
534
- - **🐛 [Report Issues](https://github.com/praveenkay/AppClean/issues)** — Found a bug? Let us know
535
- - **💬 [Discussions](https://github.com/praveenkay/AppClean/discussions)** — Share ideas and feedback
536
- - **⭐ [Star on GitHub](https://github.com/praveenkay/AppClean)** — Show your support
597
+ ## Changelog
537
598
 
538
- ## 📄 License
599
+ ### v2.0.0 (Current)
600
+ - 🎉 Complete GUI overhaul with modern SPA interface
601
+ - 📊 Dashboard with statistics and activity log
602
+ - 🔍 Advanced search with filtering and sorting
603
+ - 📂 Detailed artifact analysis with charts
604
+ - 🛡️ Safe removal with preview and backup
605
+ - 🌙 Dark mode support
606
+ - 🔌 REST API endpoints
607
+ - 📱 Responsive design (mobile, tablet, desktop)
539
608
 
540
- MIT License © 2026 [Praveen Kothapally](https://github.com/praveenkay)
609
+ ### v1.9.0
610
+ - Version management and upgrade system
611
+ - Basic web interface
612
+ - Enhanced CLI functionality
541
613
 
542
614
  ---
543
615
 
544
- **Built with care for developers and system administrators who value clean systems**
616
+ **Made with ❤️ by Praveen Kothapally**
545
617
 
546
- <div align="center">
547
- Made with ❤️ by <a href="https://github.com/praveenkay">Praveen Kothapally</a>
548
- </div>
618
+ *AppClean - Making app removal intelligent, safe, and beautiful.* ✨