Terminal Info CLI v1.0
I’ve been working on Terminal Info (tinfo), a CLI written in Rust.
It started as a simple system info tool, but grew into a modular terminal toolbox with a plugin-based design.
What you get out of the box
Run tinfo and you get a clean dashboard (location/weather/time/network/CPU/memory). There are commands for:
- weather + time
- ping/latency/network
- system + disk/storage
- diagnostics groups
- server mode for VPS environments
-
--json,--plain,--compactoutput modes - shell completions (
bash,zsh,fish) - profiles + theming via
~/.tinfo/config.toml
The “one CLI, many tools” plugin model
Terminal Info routes subcommands to executables:
Instead of building a one use CLI, the goal is to keep the core small and let functionality grow through plugins.
tinfo <plugin-name> # resolves to tinfo-<plugin-name>
Managed plugins live under:
~/.terminal-info/plugins/<plugin-name>/
There’s a “self-hosted” style registry in the repo: a small plugins/index.json and one JSON per plugin. The registry pins exact versions—Terminal Info won’t automatically install “latest”. Installs verify:
- the author’s Minisign signature
-
trusta plugin before it executes
Discovery & management:
tinfo plugin search <query>
tinfo plugin install <name>
tinfo plugin trust <name>
tinfo plugin update <name>
tinfo plugin list
Writing a plugin in ~5 minutes (with the SDK)
The project includes a Rust plugin SDK crate, tinfo-plugin. A typical workflow:
tinfo plugin init weather
cd tinfo-weather
cargo run -- --metadata
cargo test
tinfo plugin keygen --output-dir ./keys
tinfo plugin pack
tinfo plugin publish-check
The template ships a release workflow, a manifest (plugin.toml), a smoke test harness, and it automatically supports:
--metadata--help
Plugin metadata declares plugin_api = 1.
Security expectations
Plugins are third-party executables. They run as your user (no automatic elevation), and if a plugin asks for sudo, treat that as a big red flag.
Repo: https://github.com/T-1234567890/terminal-info
If you’re building plugins or thinking about extending tinfo, jump in, open a PR, share your ideas, or just start experimenting. If you have any questions or any problems, please let me know in the GitHub Discussions or open an Issue!
Top comments (0)