mirror of
https://github.com/MohamedElashri/txm.git
synced 2026-11-05 04:25:33 -05:00
A command-line utility to make working with tmux more efficient and user-friendly
- Go 62.8%
- Python 35.2%
- Shell 1.7%
- Makefile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github | ||
| docs | ||
| pkg | ||
| scripts | ||
| tests | ||
| utils | ||
| .gitattributes | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| CONTRIBUTING.md | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| Makefile | ||
| README.md | ||
| VERSION | ||
txm
Persistent terminals. Supervised jobs. One CLI.
txm manages interactive terminals and background work across projects and SSH hosts. Use its built-in native backend or your existing tmux, Zellij, or GNU Screen setup.
What you can do
| Capability | What you get |
|---|---|
| Persistent sessions | Keep shells running with built-in Ghostty terminal emulation. Detach and reconnect. |
| Workspace profiles | Recreate commands, working directories, and tmux pane layouts from TOML. |
| Jobs & coding agents | Supervise any command, record its exit result, and add opt-in attention hooks. |
| Keyboard dashboard | Search sessions, preview output, and attach without leaving the terminal. |
| Git worktree tasks | Run isolated tasks, review changes, and explicitly apply a checked-out fast-forward merge. |
| SSH hosts | Discover and attach to remote sessions through configured OpenSSH hosts. |
| Automation | Query versioned JSON, stream live events, and wait on job state. |
| Scoped MCP | Read allowlisted local metadata over stdio; optionally create work from reviewed templates. |
| Optional metrics | Sample the managed child’s CPU and RSS with bounded local storage. |
Linux and macOS are the primary platforms. See platform and backend support for the full scope.
Get started
Install the latest stable release on Linux or macOS (curl and unzip required):
curl -fsSL https://raw.githubusercontent.com/MohamedElashri/txm/main/utils/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
You can also use a release archive or build from source.
# Start a persistent shell. Detach with Ctrl+backslash.
txm --backend native create work
txm attach native/work
# Find sessions and preview their output.
txm dashboard --backend native
# Supervise a command without a provider account or project setup.
txm --backend native agent start hello -- /bin/sh -c 'printf "hello from txm\n"; sleep 2'
txm agent wait AGENT_ID --until exited --timeout 5m --fail-on-nonzero
Use the ID returned by agent start in place of AGENT_ID.
Contributing
Read the contributing guide to get involved or report an issue. txm is released under the GPL-3.0 license.