I recently built a project called terminal-info, a Rust CLI toolbox designed to display useful system and environment information directly in the terminal.
GitHub: https://github.com/T-1234567890/terminal-info
The project originally started as a small terminal weather CLI, but over time, it developed into something closer to a CLI toolbox with plugins.
Instead of being a single-purpose tool, the goal is to make it extensible so developers can add their own tools and diagnostics.
What terminal-info does
Running the CLI shows a simple dashboard with useful information:
┌──────────────────────────────────┐
│ Terminal Info │
├──────────────────────────────────┤
│ Location: Shenzhen │
│ Weather: Clear sky, 20.3°C │
│ Time: 2026-03-16 xx:xx:xx │
│ Network: xxx.xxx.x.xx │
│ CPU: 19.3% │
│ Memory: 16.2 GiB / 24.0 GiB used │
└──────────────────────────────────┘
The dashboard is only the default overview.
Terminal Info provides many additional commands and plugins
for diagnostics, networking, system information, and developer tools.
Why I added a plugin system
While building the CLI, I realized that many terminal tools are limited by being fixed-feature applications.
For example:
- system info tools
- monitoring tools
- diagnostics utilities
They are useful, but extending them often requires modifying the core codebase.
So I developed terminal-info CLI with a plugin system.
The idea is simple:
core CLI
+ plugin SDK
+ plugin registry
Developers can write plugins that extend the CLI without modifying the main repository.
Security considerations
One challenge with plugin systems is security.
To address this, the project includes:
- signed plugin releases
- integrity verification
- registry review
- local trust controls
Users must explicitly trust a plugin before it can run.
Project goals
The long-term goal is to turn terminal-info into a general-purpose CLI toolbox where new functionality can live as plugins.
Instead of replacing existing tools, the idea is to provide a platform where small terminal utilities can coexist and evolve.
Feedback welcome
The project is still early and I would really appreciate feedback from the community, especially on the plugin architecture and developer experience.
GitHub: https://github.com/T-1234567890/terminal-info
Docs: https://github.com/T-1234567890/terminal-info/tree/main/docs
The project is open source and licensed under Apache 2.0.
Top comments (0)