rScoop is a native Windows desktop GUI for Scoop. It searches, installs, updates, cleans, and manages packages without making the user keep a terminal open.

It is built with Rust, SolidJS, TypeScript, Vite, and Tauri 2. The Rust side exposes the package/search/doctor/bucket/profile operations as native commands, but the actual package logic still goes through Scoop. rScoop wraps the CLI; it does not try to become a second package manager.

The project is around the 1.8 line and has enough real users that the pressure is now mostly usability: clear output, visible background work, safe cleanup, and not making people guess what Scoop is doing.

Problem

Scoop is effective, but a lot of day-to-day package management still leaks command-line behavior into places where a desktop tool should preserve state, explain failures, and keep running work visible.

Design Notes

Package operations are background jobs, not button callbacks. Installs, updates, uninstalls, holds, and version switches need visible progress and useful failure output while the rest of the UI stays usable.

Windows behavior is handled directly. The tray is not decorative; it is where running operations, notifications, and pinned Scoop apps live when the main window is closed.

The search, installed package grid, bucket browser, System Doctor, cache manager, shim manager, VirusTotal checks, profile export/import, and auto-update scheduler all go through Rust commands that still delegate package truth to Scoop. The app can organize and explain the workflow, but Scoop remains the package manager.

Profile exports are plain JSON with a versioned schema. That matters because the file should be inspectable, checkable into dotfiles, and portable to another machine without becoming a hidden app database.

Translations are handled through Crowdin. English, German, and Simplified Chinese are complete right now.

Known Problems

Bucket update errors are still harder to explain than they should be. Some Windows permission failures look identical until the child process exits. Scoop output is useful, but still not an API.