tman drops an interactive HUD directly over your shell prompt with Ctrl+Shift+T (or Ctrl+Space), enabling directory navigation, project workflow execution, history search, and system telemetry without interrupting your active workflow.
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bashsource ~/.zshrc # If using Zsh
# OR
source ~/.bashrc # If using BashPress Ctrl+Shift+T (or Ctrl+Space) anywhere in your shell, or run tman.
Automatically detects Apple Silicon (arm64) or Intel (x86_64), installs tman, signs the binary (codesign) so Gatekeeper never prompts, and configures ~/.zshrc:
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bash
source ~/.zshrc# 1. Ensure Xcode Command Line Tools & Rust are installed
xcode-select --install 2>/dev/null || true
brew install rust # OR: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. Install tman via Cargo
cargo install --git https://github.com/IamShreshth/Tman.git --locked
# 3. Activate in your shell (Zsh is default on macOS):
echo 'eval "$(tman init zsh)"' >> ~/.zshrc && source ~/.zshrc
# Bash: echo 'eval "$(tman init bash)"' >> ~/.bash_profile && source ~/.bash_profile
# Fish: mkdir -p ~/.config/fish && echo 'tman init fish | source' >> ~/.config/fish/config.fishNote on macOS integration:
pbcopy(clipboard) andopen(Finder / default app opener) work out of the box on macOS with zero extra packages. ForCtrl+Shift+Tin iTerm2, Warp, Kitty, Alacritty, or WezTerm, you can also useCtrl+Spaceat any time.
Automatically detects your architecture (x86_64 / aarch64), libc (glibc / musl), downloads the pre-built binary (or builds via Cargo if needed), and configures your shell:
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bash# 1. Install build prerequisites & optional clipboard/desktop helpers
sudo pacman -S --needed --noconfirm base-devel git rust wl-clipboard xclip xdg-utils
# 2. Install tman (via installer script or Cargo)
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bash
# OR build directly via Cargo:
# cargo install --git https://github.com/IamShreshth/Tman.git --locked
# 3. Activate in your shell:
source ~/.bashrc # Bash
# source ~/.zshrc # Zsh
# tman init fish | source # Fish (append to ~/.config/fish/config.fish)# 1. Install Rust toolchain & optional clipboard/desktop helpers
sudo dnf install -y gcc git cargo rust wl-clipboard xclip xdg-utils
# 2. Install tman (via installer script or Cargo)
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bash
# OR build directly via Cargo:
# cargo install --git https://github.com/IamShreshth/Tman.git --locked
# 3. Activate in your shell:
source ~/.bashrc # Bash
# source ~/.zshrc # Zsh
# tman init fish | source # Fish (append to ~/.config/fish/config.fish)# 1. Install build tools, Rust toolchain & optional clipboard/desktop helpers
sudo apt update && sudo apt install -y build-essential curl git cargo rustc wl-clipboard xclip xdg-utils
# 2. Install tman (via installer script or Cargo)
curl -fsSL https://raw.githubusercontent.com/IamShreshth/Tman/main/files/install.sh | bash
# OR build directly via Cargo:
# cargo install --git https://github.com/IamShreshth/Tman.git --locked
# 3. Activate in your shell:
source ~/.bashrc # Bash
# source ~/.zshrc # Zsh
# tman init fish | source # Fish (append to ~/.config/fish/config.fish)Tip for older Ubuntu/Debian releases: If the
aptRust version is older than1.70, install the latest toolchain viarustup:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source "$HOME/.cargo/env"
If you installed via cargo install instead of install.sh, add the shell hook for your shell:
| Shell | Command |
|---|---|
| Bash | echo 'eval "$(tman init bash)"' >> ~/.bashrc && source ~/.bashrc |
| Zsh | echo 'eval "$(tman init zsh)"' >> ~/.zshrc && source ~/.zshrc |
| Fish | mkdir -p ~/.config/fish && echo 'tman init fish | source' >> ~/.config/fish/config.fish && source ~/.config/fish/config.fish |
Note on Linux keybindings: Most Linux terminal emulators intercept
Ctrl+Shift+Tto open a new tab.tmanautomatically bindsCtrl+SpacealongsideCtrl+Shift+Tso you can pressCtrl+Spaceout of the box on GNOME Terminal, Konsole, XFCE Terminal, Alacritty, Kitty, and WezTerm.
- Zero-Daemon HUD: Ephemeral full-screen overlay that takes ownership of the terminal buffer and releases it cleanly on exit.
- System Telemetry: Real-time cross-platform inspection of battery status, CPU load averages, memory allocation, volume capacity, and active Git branch state (native sysfs & procfs on Linux, sysctl & pmset on macOS).
- Workflow Discovery: Automatically senses repository types (Rust, Python, Node, Go, Docker, Make, CMake, Just) and compiles actionable targets.
- Navigation & Actions: Fast directory traversal with persistent directory pinning, in-prompt
cd, clipboard export (wl-copy,xclip,pbcopy), and desktop app opening (xdg-openon Linux,openon macOS).
| Key | Context | Action |
|---|---|---|
Ctrl+Shift+T / Ctrl+Space |
Shell | Toggle HUD overlay (Ctrl+Space recommended on Linux) |
Up / Down or j / k |
Navigation | Move cursor selection |
Enter |
Any View | Execute selected action / cd into folder |
Right / l |
File Browser | Open highlighted directory |
Left / h / Backspace |
Submenus | Navigate to parent directory / previous view |
b |
Menu / Files | Bookmark current directory or highlighted folder |
d or x |
Bookmarks | Delete highlighted bookmark |
Space |
Git Changed Files | Stage / unstage highlighted file in-place |
Q |
File Browser | Quit HUD and cd shell into the browsed directory |
Tab |
Browser / Runners | Open action menu (Open with app, Open file manager, copy path) |
/ |
Lists | Filter items with multi-word fuzzy search |
. |
File Browser | Toggle hidden dotfiles |
m |
Submenus | Return to main menu |
Esc |
Any View | Clear search / close modal / exit HUD |
Ctrl+C / Ctrl+D |
Any View | Terminate overlay |
tman is written in Rust and compiles to a standalone, zero-dependency native binary. No external runtimes (Python, Node.js) are needed.
| Component | Requirement |
|---|---|
| Operating System | macOS (Apple Silicon & Intel) or Linux (x86_64, aarch64, musl/glibc) |
| Supported Shells | Zsh (v5.0+), Bash (v4.0+), or Fish (v3.4+) |
| Build Toolchain | Rust 1.70+ and Cargo (only when building from source) |
See linux.md for Linux-specific details and docs/requirements.txt for technical specifications.
cargo install --git https://github.com/IamShreshth/Tman.git --locked
# If using Zsh:
echo 'eval "$(tman init zsh)"' >> ~/.zshrc
# If using Bash (default on most Linux distros):
echo 'eval "$(tman init bash)"' >> ~/.bashrcgit clone https://github.com/IamShreshth/Tman.git
cd Tman
./files/install.sh# Run unit tests inside a Linux container:
docker run --rm -v "$PWD":/usr/src/tman -w /usr/src/tman rust:slim cargo test
# Launch the interactive overlay inside Linux:
docker run --rm -it -v "$PWD":/usr/src/tman -w /usr/src/tman rust:slim cargo run -- uirm -f ~/.local/bin/tman ~/.cargo/bin/tman
rm -rf ~/.config/tmanRemove the eval "$(tman init ...)" line from your ~/.zshrc or ~/.bashrc.
Licensed under the MIT License.
