Clean disks, hunt duplicates, tame startup, unlock files, tweak Windows, did a mistake? undo all of it with just a click.
Every finding comes with a reason. Every removal goes to quarantine first.
Status: twenty tools; current release v0.5.0. Interface in English and Turkish.
| Tool | What works |
|---|---|
| Disk Cleaner | Read-only scans, reasons and risk buckets, selected cleanup through quarantine, previous scan summary. |
| Duplicate Finder | Byte-identical files, folders with the same contents and similar images; review before quarantining selected copies. |
| Disk map | Folder sizes, drill-down and a treemap to investigate disk usage. |
| Startup | Review login entries, disable and restore supported entries. Impact is estimated, not a measured boot time. |
| Shutdown Timer | Schedule shutdown, restart or sleep; countdown, warnings and cancellation. |
| Empty Folders | Folders with no file at any depth; selected ones move to quarantine. |
| File Unlocker | Shows which program holds a file open; can ask it to close. |
| Keep Awake | Keeps the PC (optionally the screen) awake for up to 24 hours. Nothing is persisted. |
| Restore Point | Shows System Protection status and creates a restore point (UAC prompt). |
| Legacy Panels | Opens 22 classic Windows tools from one page; unavailable ones are disabled. |
| Tweaks | 27 reversible current-user Windows settings; the old value is saved and Undo restores it. |
| Context menu | Lists right-click menu entries with owner and publisher; disables an entry for the current user, reversibly. |
| Hosts File | View and edit the hosts file with a backup and diff before every save (UAC prompt). |
| Installed Apps | Read-only list of Win32 and Store apps with publisher and signer; opens Windows' own Apps settings. |
| Uninstall leftovers | App-data folders no installed program claims; selected ones move to quarantine. |
| Big-File Archiver | Large files untouched for a long time; moves them to a folder or drive you pick. |
| Scheduled Scan | Runs the read-only cleaner scan on a schedule while the app is open; auto-quarantine is off by default. |
| Environment Variables | Lists user and system variables; edits user ones with a diff preview and Undo. |
| Network | Which process listens on or talks to which port; DNS cache flush. Read-only otherwise. |
| Repair Kit | Windows' own SFC and DISM checks, one click each; the exact command is shown first. |
- Scans inspect first; file cleanup requires confirmation. Each recommendation explains its reason.
- Ordinary cleaned files go to quarantine and can be restored while retained. Retention age and size limits can permanently purge them, including at app startup.
- Emptying the Windows recycle bin is permanent and has its own confirmation. It cannot be restored through WinKnife.
- Protected system locations cannot receive a cleanup action. Uncertain items require review or are informational only.
- The current app uses local rules. The optional LLM layer is planned and not implemented in this release preparation.
- WinKnife is not a registry cleaner, driver updater, antivirus or a promise of more FPS. See module backlog.
Releases are currently unsigned, so Windows SmartScreen may warn on first run and a few antivirus engines may flag the installer heuristically. Check the download against SHA256SUMS.txt on the release page. If signing is added later, only the installer built from this repository by .github/workflows/release.yml on GitHub-hosted runners will be submitted, and every signing request will be approved manually. Details: signing notes.
| Role | Members |
|---|---|
| Authors (may change source without further review) | @armadavalor |
| Reviewers (review every change from non-committers) | @armadavalor |
| Approvers (approve each signing request) | @armadavalor |
Flagged anyway? See the antivirus false-positive note.
Get WinKnife only from the GitHub releases page (armadavalor/WinKnife). A winget package (armadavalor.WinKnife) is submitted to the winget community repository and may not be available yet; there is no Scoop package. Copies from anywhere else are not ours.
Check the SHA-256 against SHA256SUMS.txt from the same release:
Get-FileHash .\WinKnife_<version>_x64-setup.exe -Algorithm SHA256
Get-Content .\SHA256SUMS.txtThe two hashes for that file name must be identical. Release files also carry a GitHub build attestation, which proves they were built from this repository by release.yml (not that the code is safe). With the GitHub CLI:
gh attestation verify .\WinKnife_<version>_x64-setup.exe --repo armadavalor/WinKnifeAttestations start with the first release built after they were added; older releases only have SHA256SUMS.txt. The installer is unsigned, so Windows will still show SmartScreen.
Privacy: WinKnife does not transfer any information to other networked systems.
Windows development requires Rust stable with the MSVC toolchain, Visual Studio C++ Build Tools, Node.js 24, and the WebView2 runtime.
From the repository root:
git clone https://github.com/armadavalor/WinKnife.git
cd WinKnife
npm ci
npm run tauri devChecks and production build:
npm run check
npm run test:ui
npm run build
cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml
npm run tauri build -- --bundles nsisLink safety tests require Windows Developer Mode or an elevated test session. CI must run them without opt-outs. The local opt-out and its limitations are recorded in release instructions.
The executable is built at src-tauri/target/release/winknife.exe; it needs
its rules/ resources beside it. Use the portable ZIP when distributing it.
Application data remains in Windows roaming app data under com.winknife.app;
“portable” means no installer, not that user data travels with the executable.
npm run tauri dev -- -- --dry-runThe flag only disables real power actions. It does not disable cleaner, startup edits, recycle-bin emptying or quarantine retention. Use an isolated VM or the separate QA identity described in QA notes.
Small, reproducible fixes, tests, documentation and reviewed rule-pack changes are welcome. Describe the problem, expected behavior and your verification. Read conventions and the relevant module specification before changing behavior.
For rule packs, read the format, edit rules/*.json,
and run the Rust tests. Protected paths and quarantine guarantees remain
mandatory. Prefer a focused change over unrelated cleanup in the same PR.
| Location | Contents |
|---|---|
src-tauri/src/core/ |
Safety gates, quarantine, database, scanner and platform wrappers |
src-tauri/src/modules/ |
Tool implementations |
src/routes/ |
Svelte screens |
rules/ |
Local rule packs and schemas |
| Architecture | Module contract and design |
| Development log | Completed work and deferrals |
| Release checklist | Packaging and acceptance |
MIT — see LICENSE.
