xnos is a C++17 hardware monitor with a platform-neutral core and native OS backends.
It currently reports CPU, memory, GPU basics, and battery where supported. Missing values are represented as N/A in terminal output and null in JSON output.
- Cross-platform monitor interface with Linux, Windows, and macOS backends
- Dashboard, compact, detailed, and JSON terminal modes
- INI-style configuration support
- Threshold alerts for CPU and memory
- Optional JSON-lines logging
- CMake build, unit tests, and GitHub Actions CI
cmake -B build -DBUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failureOn Windows with a multi-config generator, add --config Release or --config Debug to the build and test commands.
./build/iso-kernos --mode dashboard
./build/iso-kernos --compact
./build/iso-kernos --json --duration 5
./build/iso-kernos --test-mode --mode compactUsage: iso-kernos [OPTIONS]
-h, --help Show help
-v, --version Show version
-r, --refresh <ms> Refresh rate in milliseconds
-m, --mode <mode> dashboard|compact|detailed|json
-c, --config <file> Read an INI-style config file
-l, --log <file> Append JSON metrics to a log file
--duration <sec> Stop after a fixed duration
--test-mode Collect once and exit
--no-color Disable ANSI color output
src/core/ Interfaces, metric types, config, factory, collector
src/platform/ Linux, Windows, and macOS native monitor implementations
src/display/ Terminal renderers and formatters
src/alerts/ Threshold evaluation and JSON logging
src/utils/ Small shared utilities
tests/ Unit and integration tests
docs/ Architecture, API, platform notes, contributing guide
See docs/ARCHITECTURE.md and docs/API.md for implementation details.