1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 14:26:46 +00:00
Bhadra 017a1311b8 fix: address Copilot review feedback for dev cleanup
- Use age-based cleanup (90 days) for Cabal packages instead of clearing all
- Skip Mix archives cleanup to preserve globally installed tools
- Use age-based cleanup for Hex packages instead of clearing all
- Use age-based cleanup for Stack programs (GHC installations)
- Remove workspaceStorage from VS Code cleanup to preserve workspace settings
- Add missing cache paths for VS Code Insiders (CachedExtensions, etc.)

These changes make cleanup less aggressive and prevent accidental removal
of user-installed tools and workspace preferences.
2026-01-12 10:59:29 +05:30
2025-10-12 20:49:10 +08:00
2026-01-08 10:20:42 +02:00
2025-12-06 00:18:57 +08:00
2025-09-23 14:35:26 +08:00

Mole for Windows

Windows support for 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

# Clone the repository
git clone https://github.com/tw93/Mole.git
cd Mole/windows

# Run the installer
.\install.ps1 -AddToPath

Manual Installation

# Install to custom location
.\install.ps1 -InstallDir C:\Tools\Mole -AddToPath

# Create Start Menu shortcut
.\install.ps1 -AddToPath -CreateShortcut

Uninstall

.\install.ps1 -Uninstall

Usage

# 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:

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

  • install.ps1 - Windows installer
  • mole.ps1 - Main CLI entry point
  • lib/core/* - Core utility libraries

Phase 2: Cleanup Features

  • bin/clean.ps1 - Deep cleanup orchestrator
  • bin/uninstall.ps1 - App removal with leftover detection
  • bin/optimize.ps1 - System optimization
  • bin/purge.ps1 - Project artifact cleanup
  • lib/clean/* - Cleanup modules

Phase 3: TUI Tools

  • cmd/analyze/ - Disk usage analyzer (Go)
  • cmd/status/ - Real-time system monitor (Go)
  • bin/analyze.ps1 - Analyzer wrapper
  • 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.

Languages
Shell 80.2%
Go 19.7%
Makefile 0.1%