mirror of
https://github.com/tw93/Mole.git
synced 2026-02-05 05:39:42 +00:00
Add Go-based TUI tools for Windows: - cmd/analyze: Interactive disk space analyzer with Bubble Tea - cmd/status: Real-time system health monitor using gopsutil/WMI - bin/analyze.ps1: Wrapper script for analyze tool - bin/status.ps1: Wrapper script for status tool - Makefile: Build automation for Go tools - Updated README.md with Phase 3 documentation
170 lines
4.6 KiB
Markdown
170 lines
4.6 KiB
Markdown
# Mole for Windows
|
|
|
|
Windows support for [Mole](https://github.com/tw93/Mole) - A system maintenance toolkit.
|
|
|
|
## Requirements
|
|
|
|
- Windows 10/11
|
|
- PowerShell 5.1 or later (pre-installed on Windows 10/11)
|
|
- Go 1.24+ (for building TUI tools)
|
|
|
|
## Installation
|
|
|
|
### Quick Install
|
|
|
|
```powershell
|
|
# Clone the repository
|
|
git clone https://github.com/tw93/Mole.git
|
|
cd Mole/windows
|
|
|
|
# Run the installer
|
|
.\install.ps1 -AddToPath
|
|
```
|
|
|
|
### Manual Installation
|
|
|
|
```powershell
|
|
# Install to custom location
|
|
.\install.ps1 -InstallDir C:\Tools\Mole -AddToPath
|
|
|
|
# Create Start Menu shortcut
|
|
.\install.ps1 -AddToPath -CreateShortcut
|
|
```
|
|
|
|
### Uninstall
|
|
|
|
```powershell
|
|
.\install.ps1 -Uninstall
|
|
```
|
|
|
|
## Usage
|
|
|
|
```powershell
|
|
# Interactive menu
|
|
mole
|
|
|
|
# Show help
|
|
mole -ShowHelp
|
|
|
|
# Show version
|
|
mole -Version
|
|
|
|
# Commands
|
|
mole clean # Deep system cleanup
|
|
mole clean -DryRun # Preview cleanup without deleting
|
|
mole uninstall # Interactive app uninstaller
|
|
mole optimize # System optimization
|
|
mole purge # Clean developer artifacts
|
|
mole analyze # Disk space analyzer
|
|
mole status # System health monitor
|
|
```
|
|
|
|
## Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `clean` | Deep cleanup of temp files, caches, and logs |
|
|
| `uninstall` | Interactive application uninstaller |
|
|
| `optimize` | System optimization and health checks |
|
|
| `purge` | Clean project build artifacts (node_modules, etc.) |
|
|
| `analyze` | Interactive disk space analyzer (TUI) |
|
|
| `status` | Real-time system health monitor (TUI) |
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Description |
|
|
|----------|-------------|
|
|
| `MOLE_DRY_RUN=1` | Preview changes without making them |
|
|
| `MOLE_DEBUG=1` | Enable debug output |
|
|
| `MO_ANALYZE_PATH` | Starting path for analyze tool |
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
windows/
|
|
├── mole.ps1 # Main CLI entry point
|
|
├── install.ps1 # Windows installer
|
|
├── Makefile # Build automation for Go tools
|
|
├── go.mod # Go module definition
|
|
├── go.sum # Go dependencies
|
|
├── bin/
|
|
│ ├── clean.ps1 # Deep cleanup orchestrator
|
|
│ ├── uninstall.ps1 # Interactive app uninstaller
|
|
│ ├── optimize.ps1 # System optimization
|
|
│ ├── purge.ps1 # Project artifact cleanup
|
|
│ ├── analyze.ps1 # Disk analyzer wrapper
|
|
│ └── status.ps1 # Status monitor wrapper
|
|
├── cmd/
|
|
│ ├── analyze/ # Disk analyzer (Go TUI)
|
|
│ │ └── main.go
|
|
│ └── status/ # System status (Go TUI)
|
|
│ └── main.go
|
|
└── lib/
|
|
├── core/
|
|
│ ├── base.ps1 # Core definitions and utilities
|
|
│ ├── common.ps1 # Common functions loader
|
|
│ ├── file_ops.ps1 # Safe file operations
|
|
│ ├── log.ps1 # Logging functions
|
|
│ └── ui.ps1 # Interactive UI components
|
|
└── clean/
|
|
├── user.ps1 # User cleanup (temp, downloads, etc.)
|
|
├── caches.ps1 # Browser and app caches
|
|
├── dev.ps1 # Developer tool caches
|
|
├── apps.ps1 # Application leftovers
|
|
└── system.ps1 # System cleanup (requires admin)
|
|
```
|
|
|
|
## Building TUI Tools
|
|
|
|
The analyze and status commands require Go to be installed:
|
|
|
|
```powershell
|
|
cd windows
|
|
|
|
# Build both tools
|
|
make build
|
|
|
|
# Or build individually
|
|
go build -o bin/analyze.exe ./cmd/analyze/
|
|
go build -o bin/status.exe ./cmd/status/
|
|
|
|
# The wrapper scripts will auto-build if Go is available
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Mole stores its configuration in:
|
|
- Config: `~\.config\mole\`
|
|
- Cache: `~\.cache\mole\`
|
|
- Whitelist: `~\.config\mole\whitelist.txt`
|
|
- Purge paths: `~\.config\mole\purge_paths.txt`
|
|
|
|
## Development Phases
|
|
|
|
### Phase 1: Core Infrastructure ✅
|
|
- [x] `install.ps1` - Windows installer
|
|
- [x] `mole.ps1` - Main CLI entry point
|
|
- [x] `lib/core/*` - Core utility libraries
|
|
|
|
### Phase 2: Cleanup Features ✅
|
|
- [x] `bin/clean.ps1` - Deep cleanup orchestrator
|
|
- [x] `bin/uninstall.ps1` - App removal with leftover detection
|
|
- [x] `bin/optimize.ps1` - System optimization
|
|
- [x] `bin/purge.ps1` - Project artifact cleanup
|
|
- [x] `lib/clean/*` - Cleanup modules
|
|
|
|
### Phase 3: TUI Tools ✅
|
|
- [x] `cmd/analyze/` - Disk usage analyzer (Go)
|
|
- [x] `cmd/status/` - Real-time system monitor (Go)
|
|
- [x] `bin/analyze.ps1` - Analyzer wrapper
|
|
- [x] `bin/status.ps1` - Status wrapper
|
|
|
|
### Phase 4: Testing & CI (Planned)
|
|
- [ ] `tests/` - Pester tests
|
|
- [ ] GitHub Actions workflows
|
|
- [ ] `scripts/build.ps1` - Build automation
|
|
|
|
## License
|
|
|
|
Same license as the main Mole project.
|