# DupePilot (CLI prototype) Exact-duplicate file finder with a safe quarantine mode. Working prototype of the DupePilot concept's core engine — see `../plan.md` for the full product plan (near-duplicate photo similarity and the WinUI 3 shell are still on the roadmap; this build is the hashing/scanning engine only). ## Build from source Requires Go 1.24+, no external dependencies. ``` go build -o dupepilot . ``` Cross-compile for another platform: ``` GOOS=windows GOARCH=amd64 go build -o dupepilot.exe . GOOS=darwin GOARCH=arm64 go build -o dupepilot . ``` ## Usage ``` dupepilot scan [ ...] [--json] [--min-size BYTES] dupepilot quarantine --to [--min-size BYTES] [--apply] ``` `scan` groups files by size, then hashes (SHA-256) only files that share a size with another file, and reports duplicate sets sorted by reclaimable space. `quarantine` moves every file in a duplicate set except the oldest one into a separate directory, preserving relative paths. Without `--apply` it's a dry run that only prints what it would do — nothing is deleted, ever; files are moved, so a mistaken match is always one `mv` away from undone. ## Prebuilt binaries See `../downloads/` for prebuilt binaries (Windows/macOS/Linux, amd64 + darwin/arm64) and `CHECKSUMS.txt` for their SHA-256 hashes. These are unsigned indie builds — Windows SmartScreen and macOS Gatekeeper will warn on first run, which is expected until a code-signing certificate is in place (see the build plan's risk section).