1. Technology stack
| Area | Technology documented by project | Purpose |
|---|---|---|
| Desktop runtime | Electron 44.x | Windows desktop shell and main process. |
| User interface | React 19, React Router 7, Tailwind CSS and custom properties | Renderer UI and themes. |
| State | Zustand 5 | Application state management. |
| System information | systeminformation 5 | Hardware and operating system readings. |
| Persistence and logs | electron-store 8, electron-log 5 | Local preferences and diagnostic logs. |
| Updates and analytics | electron-updater 6, PostHog JS | Release checks and product analytics, as described by the privacy policy. |
| Packaging | electron-builder 26 | Windows NSIS installer and portable build targets. |
2. Application structure
The README describes the built output using three Electron process areas. Source directories may differ by branch or release:
out/
├── main/ # Electron main process and operating-system operations
├── renderer/ # React UI and bundled assets
└── preload/ # Context bridge between renderer and main process
tweaks/ # Tweak metadata and apply/unapply scripts
resources/ # App resources and bundled utilities
bucket/ # Package-manager manifest
docs/ # Project documentation
The renderer requests privileged operations through the preload bridge and main-process handlers. This boundary is important: system access should be narrowly exposed, validated, and surfaced with explicit success or error feedback.
3. Typical feature flow
- The React renderer presents a user-selected monitoring or system operation.
- For protected tasks, the renderer invokes an exposed preload API rather than directly accessing Node or Windows facilities.
- The Electron main process gathers system information or runs the corresponding operating-system operation.
- Results or errors return through IPC and update the UI; logs may be written locally.
Use the actual source to verify each step. Do not assume all operations share identical authorization, error, or persistence behavior.
4. Documented IPC feature areas
The README lists these channel groups for orientation. They are implementation details, not a public compatibility promise.
| Area | Examples listed in README |
|---|---|
| System and live metrics | get-system-info, system:get-live-metrics, network:get-stats |
| Tweaks | tweaks:fetch, tweak:apply, tweak:unapply, tweak:active |
| Recovery | create-corex-restore-point, get-restore-points, delete-old-corex-backups |
| DNS | dns:get-current, dns:get-adapters, dns:set-dns, dns:flush-cache, dns:reset |
| Apps and cleanup | handle-apps, package-manager checks, clear-corex-cache, optimize-memory |
| Settings and utilities | Startup controls, log-folder access, restart, and NVIDIA Inspector launch |
Search for the current channel definitions and corresponding preload exposure in source before modifying a feature. Keep the renderer/main boundary explicit and avoid adding broad, unrestricted IPC operations.
5. Build and signing
The repository package scripts document pnpm start, pnpm build for the Windows NSIS installer, and pnpm build:portable for the portable target. Follow the lockfile's package manager version for repeatable dependency installation. Signing hooks are configured in the package metadata; signing credentials must remain private and should never be committed.
Consult the dedicated Code Signing guide ↗ and the local Packages Guide.
6. Reviewing system-operation changes
- Trace the full path from UI action through preload to main handler and back; inspect the exact command, arguments, and error path.
- Limit permissions and input scope to the operation the user requested. Do not treat renderer-provided values as trusted.
- For tweaks, inspect metadata and both apply and unapply scripts. Confirm the undo behavior preserves or restores the expected prior value.
- Test on a disposable or virtual Windows environment when changing registry, services, cleanup, DNS, or restore behavior.
- Document user-visible side effects, required permissions, supported Windows versions, and recovery steps.
See the Contribution Guide for proposed changes and the Troubleshooting Guide for user-reported issues.