A comprehensive CLI and TUI tool for displaying system information, written in Rust.
- 🖥️ Interactive Terminal User Interface (TUI) with multiple views
- 🔧 Command Line Interface (CLI) for quick information retrieval
- 💾 Memory and swap usage monitoring
- 💿 Disk space and filesystem information
- 🌐 Network interface statistics
- ⚙️ CPU and system details
- 🧪 Comprehensive test suite
- 🚀 CI/CD with GitHub Actions
- 📦 Cross-platform releases (Linux, macOS, Windows)
- 🔒 Security auditing
git clone https://github.com/npsg02/system-index.git
cd system-index
cargo build --releaseDownload the latest binary from the Releases page.
# Show help
./system-index --help
# Display system overview (default)
./system-index overview
# Display CPU information
./system-index cpu
# Display memory information
./system-index memory
# Display disk information
./system-index disks
# Display network information
./system-index network
# Display all system information
./system-index all
# Start interactive TUI
./system-index tuiStart the interactive mode:
./system-index tui
# or simply
./system-indexh- Show helpr- Refresh system information1- Show system overview2- Show memory details3- Show disk information4- Show network informationq- Quit application
- Overview Tab: Displays hostname, OS, kernel, uptime, CPU, memory, and summary statistics
- Memory Tab: Shows detailed RAM and swap usage with visual bars
- Disks Tab: Lists all mounted disks with capacity and usage information
- Network Tab: Displays network interfaces with data transfer statistics
- Auto-refresh: System information automatically updates every 2 seconds
system-index/
├── .github/workflows/ # CI/CD workflows
├── src/
│ ├── models/ # Data models (SystemInfo)
│ ├── tui/ # Terminal UI implementation
│ ├── lib.rs # Library root
│ └── main.rs # CLI application
├── tests/ # Integration tests
├── docs/ # Documentation
└── examples/ # Usage examples
- Rust 1.70 or later
cargo buildcargo testcargo clippy -- -D warningscargo fmtThe tool collects and displays:
- Operating System: Name, version, kernel version, hostname
- CPU: Brand, number of cores
- Memory: Total RAM, used RAM, free RAM, swap usage
- Disks: All mounted filesystems with capacity and usage
- Network: All network interfaces with received/transmitted data
- Processes: Count of running processes
- Uptime: System uptime in human-readable format
The project includes comprehensive GitHub Actions workflows:
- CI: Build, test, lint, and format checks on multiple platforms
- Security: Weekly security audits with
cargo audit - Release: Automated binary releases for Linux, macOS, and Windows
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.