PrismTTY
PrismTTY is a fast terminal output highlighter focused on network devices and Linux/Unix administration. It is intended as a ChromaTerm-style CLI wrapper with network-focused built-in profiles.
Website: prismtty.com.
Preview
Synthetic terminal previews using documentation-only hostnames and addresses:
Install
Homebrew
Install the latest release from the PrismTTY Homebrew tap:
The Homebrew formula installs prismtty, ptty, ct, bundled profiles, and
shell completions. It also installs the required PCRE2 runtime dependency.
Cargo
Install from crates.io:
Cargo builds PrismTTY from source and installs the command binaries. You need
Rust 1.85 or newer plus PCRE2 and pkg-config available on your system.
For cargo install on macOS, install the native build dependencies first:
For cargo install on Debian/Ubuntu, install:
GitHub Release
Prebuilt release archives and checksums are available on the GitHub releases page.
Each release archive contains the binaries, license/readme files, example
profiles, shell completions, and a .tar.gz.sha256 checksum.
Usage
|
The recommended interactive workflow is to start one wrapped shell from your terminal profile:
From inside that shell, run normal ssh, telnet, or console-wrapper commands.
PrismTTY dynamically switches profiles from observed login banners and prompts,
then keeps the selected remote profile locked for the session.
Use pipe mode for noninteractive output:
|
|
Important options:
-p, --profile <name>forces one or more profiles.--no-auto-detectuses onlygenericunless profiles are forced.--no-dynamic-profiledisables profile switching inside wrapped interactive shells.-c, --config <file>loads a ChromaTerm-compatible YAML file.--strip-ansiremoves existing ANSI before PrismTTY styles output.--show-profileprints profile selections and transitions to stderr.--local-echolocally echoes printable typed keys for no-echo device sessions.--trace-io <file>appends hex-encoded PTY input/output plus rendered-output diagnostics.-R, --rgbforces RGB color output.--pcreis accepted for ChromaTerm compatibility; PCRE2 is always used.-b, --benchmarkprints per-rule timing and match-count data.-r, --reloadasks running PrismTTY sessions to reload config.
Profile commands:
Configuration
PrismTTY loads built-in profiles first, then user rules. By default it checks:
~/.chromaterm.yml~/.chromaterm.yaml~/.config/chromaterm/chromaterm.yml~/.config/chromaterm/chromaterm.yaml~/.config/prismtty/config.yml~/.config/prismtty/config.yaml/etc/chromaterm/chromaterm.yml/etc/chromaterm/chromaterm.yaml~/.config/prismtty/profiles.d/*.yml~/.config/prismtty/profiles.d/*.yaml
ChromaTerm-style rules are supported directly:
rules:
- description: IPv4
regex: '\b192\.0\.2\.\d+\b'
color: f#00ffff
Native profile files add metadata:
profile:
name: custom-router
inherits:
detection:
- CustomOS
rules:
- description: custom interface
regex: '\bcust\d+/\d+\b'
color: f#00ffff bold
Profiles under ~/.config/prismtty/profiles.d/ are first-class profiles: they
appear in profiles list, can be shown with profiles show, can inherit
built-in or other user profiles, and participate in auto-detection through their
detection hints.
More Information
- Website: prismtty.com
- Source: github.com/inxbit/prismtty
- Releases: github.com/inxbit/prismtty/releases