PulseGuard is a lightweight Linux desktop monitor built with Tauri, Rust, React, TypeScript, Tailwind, Chart.js, and SQLite.
It records per-process CPU, memory, and disk I/O plus system-wide network deltas into ~/.config/pulseguard/pulseguard.db, then renders live tables and historical charts from that local archive.
- Per-process CPU, memory, and disk read/write deltas
- System-wide network receive/send deltas
- Configurable sampling interval and retention window
- SQLite-backed history with CSV and JSON export
- Searchable, sortable dashboard with live charts
- Tray icon with Open, Pause / Resume, and Quit controls
.deband.AppImagepackaging through Tauri
src/: React frontendsrc-tauri/: Rust backend, monitoring thread, SQLite access, tray setup, packaging configdocs/01.mvp.md: MVP specscripts/bump-version.sh: release version bump, tag, commit, and push helper.github/workflows/release.yml: GitHub Release bundle build workflow
Install Linux prerequisites:
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
curl \
libssl-dev \
patchelfInstall dependencies and run the desktop app:
npm install
npm run tauri devBuild release bundles:
npm run tauri build -- --bundles deb,appimageCut a new version:
./scripts/bump-version.sh 0.1.0That script updates the frontend version, the Rust package version, the Tauri bundle version, release notes under scripts/version/, creates a release commit, tags it as v<version>, and pushes the branch and tag unless you disable those steps with flags.