Terminal Info CLI
The extensible terminal information CLI. A fast Rust-powered toolbox for system information, diagnostics, and developer utilities.
[!IMPORTANT] Commit history was rewritten to remove local file paths and sensitive info.
Demo
→ Experience the demo
Running tinfo:
┌──────────────────────────────────┐
│ 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 just the starting point. Terminal Info provides many additional commands and plugins for diagnostics, networking, system information, and developer tools.
Example commands:
v1.0
terminal-info has reached its first stable release.
The core toolbox, plugin system, and registry are now in place, forming the foundation of a modular terminal environment. This release focuses on stability and structure. Future updates will expand the plugin ecosystem, improve developer experience, and refine the overall workflow.
This is the beginning of terminal-info as a platform, not just a tool.
Installation
Install script
Recommended
Downloads and verifies the release archive with SHA-256 and Minisign before installation:
&&
Supported release assets include:
- macOS Intel
x86_64 - macOS Apple Silicon
arm64/aarch64 - Linux
x86_64 - Windows
x86_64
Build from source
Contributors and plugin developers
Cargo install
Rust users
🧭 Roadmap
The public roadmap tracks what is already shipped in the dashboard, widget, and plugin platform, plus the next planned improvements.
👉 See the full roadmap here: ROADMAP.md
💡 Why terminal-info?
Unlike traditional CLI tools that focus on doing one thing well,
terminal-info is designed as a modular, extensible terminal toolbox.
Instead of switching between multiple utilities, you get a unified system that can adapt to your workflow.
- 🔌 Extensible via plugins
- 🧩 Composable and customizable workflows
- ⚡️ Fast, lightweight single-binary core
Features
- A Plugin Platform
- Terminal-native AI chat for developers
- Dashboard view when running
tinfo - Weather, time, ping, network, system, and diagnostic commands
- Separate
diskandstoragecommand groups for hardware health and filesystem usage - TOML configuration with profiles in
~/.tinfo/config.toml - Optional server mode for server and VPS diagnostics
- Dashboard widget ordering in
~/.tinfo/config.toml - Built-in and trusted plugin dashboard widgets with a shared enable/disable list in config
- Dashboard live mode, snapshot mode with
--freeze, config-driven default freeze, and--liveoverride - Lightweight productivity commands for timers, stopwatch, tasks, notes, history, and reminders
- Interactive
tinfo config/tinfo configuremenu with sections for dashboard, widgets, tasks, notes, timer, and reminders, including a live widget toggle list - Shell completions for
bash,zsh, andfish - Output modes for scripting and interactive use, including
--json - Plugin discovery, install, update, trust, verification, search, and local browser-based browsing
- A reusable
tinfo-pluginSDK crate and plugin developer workflow - Plugin widgets with structured JSON output rendered by the dashboard
- IP-based location detection with provider fallback and local caching
AI Chat
tinfo chat includes two strong developer workflows:
It also now supports fast one-shot modes:
Pipe logs and command output into AI
|
This runs a one-shot analysis mode for piped stdin. The terminal flow looks like:
Input detected (log, 2.3KB)
Analyzing...
AI: [streamed response]
It is useful for:
- logs
- stack traces
- compiler errors
- command output from other tools
Reference files directly in chat
@error.log explain this
@src/main.rs what does this do?
This loads the file content into the prompt automatically, which makes tinfo chat practical for debugging and code analysis from the terminal.
See:
Dashboard And Productivity
The dashboard is now a first-class feature rather than a simple overview screen. It supports built-in widgets, trusted plugin widgets, widget ordering, notes, and reminder alerts. Widget rendering stays in the core CLI, while plugins provide structured widget payloads.
Productivity tools are integrated into the same local workflow and dashboard runtime:
tinfo timeropens a live timer viewtinfo timer start 25mstarts a countdowntinfo stopwatch startstarts a separate stopwatchtinfo taskopens an interactive task menutinfo note add ...captures quick notestinfo history --limit 10shows recent shell commandstinfo remind 15m take a breakschedules a reminder and opens the live dashboard
Notes:
- reminders trigger while the dashboard is running
- deleted tasks are recoverable for 7 days from the task menu before automatic cleanup
- widget ordering and feature settings live in
~/.tinfo/config.toml
See:
Why not other tools?
There are already many great terminal tools.
So why use terminal-info?
System info tools
| Tool | Description | Plugin system | Extensible | Ecosystem |
|---|---|---|---|---|
| neofetch | Classic system info tool with ASCII logos | ❌ | Limited | ❌ |
| fastfetch | Modern and faster alternative to neofetch | ❌ | Limited | ❌ |
| terminal-info | Modular terminal toolbox | ✅ | Yes | Join us |
Tools like neofetch or fastfetch are excellent for displaying system information in the terminal.
However, they are primarily single-purpose tools focused on presenting system details.
terminal-info takes a different approach:
- It is designed as a platform, not just a single command.
- Features can be added via plugins.
- Users can extend the CLI without modifying the core.
Monitoring tools
| Tool | Description | Plugin ecosystem |
|---|---|---|
| btop / htop | Terminal system monitoring | ❌ |
| glances | Multi-metric system monitor | ❌ |
| terminal-info | Extendable toolbox with custom modules | ✅ |
Monitoring tools focus on resource usage, but they are still mostly fixed-feature applications.
terminal-info allows modules to be added for things like:
- system diagnostics
- hardware info
- network checks
- custom scripts
- developer utilities
CLI platforms
Some CLI tools are successful because they provide an ecosystem.
Examples include:
| Tool | Purpose | Plugin model |
|---|---|---|
| kubectl | Kubernetes CLI | Plugins |
| cargo | Rust package manager | Subcommands |
| brew | Package manager | Taps |
terminal-info follows a similar philosophy:
- A core CLI
- A plugin SDK
- A plugin registry
- A plugin-based terminal toolbox
Instead of being a single-purpose utility, the goal is to become a general-purpose terminal toolbox.
Philosophy
terminal-info is built around 5 ideas:
- Extensibility – anyone can write plugins
- Modularity – features live outside the core
- CLI ecosystem – tools can grow organically
- Information – useful information and operations
- Fast & Light – fast, light, but powerful enough
The goal is not to replace existing tools, but to provide a platform where new terminal tools can live together.
Plugin SDK
tinfo-plugin is the official Rust SDK for building Terminal Info plugins.
It provides:
- typed config access
- declarative command routing
- structured output helpers
- cache, filesystem, and network helpers
- manifest generation
- in-process plugin testing
Start here:
Basic Usage
Dashboard
Running tinfo with no arguments shows a simple dashboard with:
- configured location or
unknown - current weather when a usable location is available
- short actionable hints when weather cannot be resolved
- local time
- basic network, CPU, and memory summary
- trusted plugin widgets when plugins expose
--widgetJSON
Widget order is configurable:
[]
= ["weather", "time", "network", "system", "plugins"]
Lightweight theming is configurable too:
[]
= "sharp"
= "cyan"
= false
See docs/dashboard.md and docs/widgets.md.
Configuration
Configuration is stored in:
~/.tinfo/config.toml
You can configure tinfo in three ways:
tinfo configfor the interactive menutinfo config ...commands for direct scripting- manual edits to
~/.tinfo/config.toml
The [theme] section controls border style, accent color, and whether boxed output should use ASCII-only characters for limited terminals.
Location aliases are also supported:
[]
= "Shenzhen"
= "Hong Kong"
Profiles let you switch quickly between named environments:
[]
= "shenzhen"
[]
= "tokyo"
[]
= "auto"
Commands:
See docs/config.md and docs/widgets.md.
Server Mode
Server mode is optional. It is designed for servers or VPS environments and is not recommended for normal desktop use.
Enable or disable it with:
When enabled, Terminal Info extends the normal toolbox with deeper server-oriented diagnostics. The same commands still work in normal mode, but server mode makes them broader and more server-focused:
Normal mode still keeps:
Server-mode-only commands are:
When server mode is enabled, the enhanced human-readable output prints a clear [Server Mode Enabled] indicator.
The enhanced server-mode diagnostics now include broader API endpoint checks, DNS resolver visibility, load average, process count, and a wider full-latency probe set.
See docs/server-mode.md.
Output Modes
Global output flags:
--plainfor minimal script-friendly output--compactfor shorter terminal output--colorfor the default interactive formatting--jsonfor machine-readable output on supported commands
Examples:
Shell Completions
Generate completions with:
See docs/completions.md.
Diagnostic Command
tinfo diagnostic groups health checks for:
- network
- system
- plugins
Examples:
See docs/diagnostic.md.
Plugin Ecosystem
Terminal Info supports community plugins using a simple executable plugin model.
Example:
Terminal Info resolves that to:
tinfo-docker
Managed plugins are installed into:
~/.terminal-info/plugins/<plugin-name>/
Example:
~/.terminal-info/plugins/docker/
├── plugin.toml
└── tinfo-docker
Plugin management commands:
Registry-managed plugins are installed from the exact reviewed version pinned in the reviewed registry JSON referenced by plugins/index.json. Terminal Info does not install the latest plugin release automatically.
Plugins must also be trusted locally before Terminal Info will execute them.
tinfo plugin search groups installed plugins and registry plugins separately, ranks matches by name and description relevance, and uses the lightweight registry summary index so large registries stay responsive.
tinfo plugin browse starts a local browser view on 127.0.0.1 for optional visual plugin discovery without replacing the CLI workflow. The browser supports pagination, popularity sorting, stable-only or include-beta filtering, detail pages, optional plugin icons, and clear install fallback when one-click install is not supported.
Core installs and self-updates verify the official Terminal Info SHA-256 checksum and Minisign signature before replacing the binary. Plugin installs verify the plugin author's reviewed checksum and Minisign signature before installation.
Developer quick start:
tinfo plugin pack now also generates dist/registry/<plugin-name>.json, and the generated release workflow uploads the same registry JSON as a GitHub Actions artifact for registry PRs. The generated file already uses the standard registry fields such as repository, binary, entry, platform, type, requires_network, optional assets.icon, stability, popularity, and install metadata.
See:
Official example plugins are included in:
examples/plugins/
Additional stability commands:
Profile commands:
⚠️ Repository History Notice
This repository previously contained full development history from early stages.
In March 2026, the commit history was rewritten to remove local file paths and sensitive development artifacts.
- The current codebase and documentation are unaffected
- The repository now reflects a clean and production-ready state
- Some older commits may still be accessible via GitHub cache or direct commit links, but they are no longer part of the active history
This is a standard repository maintenance process and does not impact the functionality or integrity of the project.
📈 Star History
Disclaimer
While Terminal Info aims to be safe and transparent, users should understand that:
- Terminal Info executes commands locally on your machine.
- Terminal Info may perform network requests for certain features (for example weather data or IP-based location detection).
- Terminal Info supports third-party plugins, which are external executables developed by independent contributors.
Third-party plugins
Third-party plugins are not developed by the Terminal Info project. Installing a plugin may execute external code on your system.
Plugins listed in the official plugin registry will go through a basic review process. This review does not guarantee that plugins are safe or free of malicious behavior.
Only install plugins from sources you trust and review plugin repositories before installing them.
Installation scripts
If you install Terminal Info using the provided installation script, you may review the script before running it:
curl -fsSL -o install.sh https://github.com/T-1234567890/terminal-info/releases/latest/download/install.sh
You may also download binaries directly from the GitHub Releases page.
Privacy
Terminal Info does not collect personal data or identifiers.
Network requests are only used for specific features such as:
- weather information
- IP-based location detection
- plugin registry queries
- Future features
By using Terminal Info, you acknowledge that you are responsible for reviewing the software and plugins you install.
License
This project is licensed under the Apache 2.0 License.