-
Notifications
You must be signed in to change notification settings - Fork 0
Building from Source
ClutterCutter ships as two implementations of the same app — the Rust build (the primary, winget-packaged one) and the original C# build. CI builds both on every push. Contributors should read AGENTS.md for the full dev workflow, architecture, and conventions.
Needs the Rust stable toolchain.
cd rust
cargo build --release # -> rust/target/release/cluttercutter.exeThere's also a console harness for testing the scanners without the GUI:
cargo run --bin cluttercutter-cli -- --top-n 20 C:\UsersKeep the tree cargo fmt-clean and cargo clippy --release-clean.
You only need a Windows machine — the .NET Framework 4 C# compiler ships with Windows; no Visual Studio or SDK install required.
& "$env:WINDIR\Microsoft.NET\Framework64\v4.0.30319\csc.exe" `
-nologo -target:winexe -optimize+ -platform:anycpu `
-reference:System.Windows.Forms.dll -reference:System.Drawing.dll `
-reference:System.dll -reference:System.Core.dll `
-reference:Microsoft.VisualBasic.dll `
-win32icon:ClutterCutter.ico -out:ClutterCutter.exe ClutterCutter.csGitHub Actions reproduces both builds on every push (.github/workflows/build.yml). Releases are managed by release-please under Semantic Versioning: conventional-commit messages on main keep an open release PR up to date; merging it tags the version and creates the GitHub Release. The winget manifest for each version is generated automatically and the winget folder is submitted to the community repository. See the README for the full procedure.