Repository navigation
Releases: tsudev-tsudev/tsudev-cwico
Release list
tsudev-cwico-v26.8.19
Read this before installing. This build compiles, passes 136 tests and
packages cleanly on a Windows CI runner, but it has never been run on a live
Windows machine. Every Win32 and WinRT call is exercised only by unit tests
of its pure logic — no code path has yet touched a real registry, service
control manager or task scheduler.Start with the commands that change nothing:
cwico info # what it detects about your machine cwico scan # the inventory, classified cwico plan --safe-only # what removal would do — a dry runThe desktop app's Dry run button does the same thing. Only
--apply,
or the Remove button after the plan dialog, changes anything — and even then
a System Restore Point is taken first, or the run is cancelled.The installer is unsigned, so Windows SmartScreen will warn on first run.
First release. The project was previously a single 640-line PowerShell script
(legacy/Optimize_Win11_For_Dev.ps1) that applied twelve fixed groups of
changes with no inspection, no selection and no way back.
Added — scanning
- Registry uninstall keys across
HKLM,HKCUand both the 64-bit and
WOW6432Nodeviews, readingDisplayName,DisplayVersion,Publisher,
UninstallString,QuietUninstallString,InstallLocation,
EstimatedSizeandInstallDate. - UWP/MSIX packages via the WinRT
PackageManager, including framework and
system-signature flags. - Provisioned packages — the ones that reinstall themselves for every new user
account, which is why removed bloatware "comes back". - Windows services via
EnumServicesStatusExW/QueryServiceConfigW. - Scheduled tasks via the
ITaskServiceCOM interfaces. - Autostart entries:
RunandRunOncein both hives and views, plus the
per-user and all-users Startup folders, with detection of entries pointing
at programs that no longer exist.
Added — safety
- Safety database (
data/safety-db.json): 58 rules classifying software
as Safe (29), Caution (11) or Critical (18), each with a bilingual
explanation. Unmatched items areUnknown, neverSafe. - Hard block on Critical items.
RemovalPlan::buildrefuses to plan them;
no flag, confirmation or CLI switch overrides it, and the engine re-asserts
the invariant before executing. - Per-item confirmation for Caution and Unknown items. Bulk selection
cannot supply it. - Deletion guard (
cwico_core::guard): validates every filesystem path
and registry key immediately before deletion. Rejects drive roots, system
directories, parents of protected directories, user profile roots and
personal folders, shared containers, every registry hive root, the service
control database, and any path with an unexpanded%VARIABLE%, a..
traversal or a wildcard. - Process deny-list: shared hosts (
svchost.exe), boot-critical
processes and Defender are never terminated.
Added — rollback
- System Restore Point via
SRSetRestorePointWbefore the first destructive
step. If it cannot be created the run is cancelled rather than proceeding
unprotected, and Windows' 24-hour throttle is detected rather than mistaken
for success. .regexport of every registry key a run will touch, in both views, plus a
generatedrestore-registry.cmdthat re-imports them without this tool.- JSON transaction log per run.
Added — removal
Four-step flow: terminate the software's processes, run the vendor's own
uninstaller silently, remove and deprovision the package, then sweep residue.
A failed step stops that item without stopping the run, and deep clean never
follows a failed uninstall.
Added — interfaces
- Desktop application (Tauri v2, React 19, TypeScript, Tailwind 4) in
Vietnamese and English, with light and dark themes. - Headless CLI (
cwico) with JSON output for auditing and scripting.
Everything is a dry run until--apply. - System tweaks catalogue (
data/tweaks.json): 36 individually selectable
changes ported from the legacy script, each with a safety class and — where
possible — a revert path.
Packaging
- MSI and NSIS installers via the Tauri bundler.
- MSIX manifest and Microsoft Store submission notes.
wingetmanifests in English and Vietnamese.- GitHub Actions for CI (engine tests on Linux, Windows type-checking from
Linux, front-end build, Windows build) and releases.
Notes
Behaviour deliberately not carried over from the legacy script:
$ErrorActionPreference = "SilentlyContinue" swallowing every failure;
unconditional removal of Edge, Media Player and Cortana; silently disabling
Windows Search, SysMain and the Program Compatibility Assistant; deleting the
TEMP directory rather than its contents; and restarting Explorer without
asking. See legacy/README.md.