skStats is a lightweight, elegant, and native macOS menu bar application designed to monitor your real-time system hardware and performance resources. Built cleanly with Swift and SwiftUI, it acts as your personal system supervisor without ever getting in your way.
Note: This project is completely built by Google Gemini.
- Resource Leaderboards: Instantly see the Top 3 CPU and Top 3 Memory consuming processes with relative visual load indicators.
- Per-Core CPU Load: Real-time load monitoring for each individual core with high-fidelity circular gauges.
- Memory Usage: Real-time RAM footprints with pressure monitoring and swap tracking.
- GPU & Disk I/O: Live GPU utilization tracking via
IOAcceleratorand exact Drive Read/Write rates. - Network Speed: Instant Upload/Download network throughput.
- Launch at Login [NEW]: Seamlessly integrates with macOS Login Items for 24/7 monitoring.
- Activity Monitor Integration [NEW]: Quick-access shortcut to the system Activity Monitor.
- Pure Native UX: Modern SwiftUI interface with glassmorphism and smooth transitions. Operates exclusively in the menu bar (
LSUIElement).
- Native System Integration: skStats uses high-performance Mach and IOKit APIs (
host_processor_info,proc_pidinfo,sysctlbyname) rather than shell-bridging. This guarantees minimal resource footprint and zero overhead from external processes. - Zero-Leak Engineering: All Mach memory allocations (e.g.,
processor_info_array_t) are strictly deallocated withvm_deallocate, and IOKit objects are correctly released, ensuring it can run flawlessly 24/7. - Cloud CI/CD Enabled: Features built-in GitHub Actions for automatic verification and compilation on macOS cloud runners.
- macOS 13.0 or later
- Xcode / Xcode Command Line Tools
- Clone the repository.
- Open
skStats.xcodeprojin Xcode. - Select your Mac as the destination.
- Press
Cmd + Rto Build and Run!
Run the packaging script to compile an optimized Universal binary (Apple Silicon + Intel), generate release ZIP archives, and copy skStats.app directly into /Applications:
./package.shAdditional options:
./package.sh --no-install: Skips copying to/Applications../package.sh --open: Opens thebuild/Releasefolder in Finder when complete../package.sh --run: Automatically launches the freshly built app.
The compiled binary (skStats.app) and distribution archives (skStats.app.zip) will appear in build/Release/, and the app will be installed to /Applications/skStats.app.
This project is licensed under the MIT License - see the LICENSE file for details.
