awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tony avatar

tony/tmuxp

0
View on GitHub↗
4,522 stars·240 forks·Python·MIT·17 viewstmuxp.git-pull.com↗

Tmuxp

tmuxp is a session manager and workspace automator for tmux. It allows for the creation, saving, and restoration of terminal session layouts using YAML or JSON configuration files, serving as a programmatic layer built on libtmux.

The project distinguishes itself by acting as both a workspace generator and a layout exporter. It can instantiate live environments from structured definitions and conversely capture the state of active sessions to save them as portable configuration files. It further supports extensibility through a plugin framework and custom builder logic to modify session lifecycles and workspace generation.

Broad capabilities include terminal workflow orchestration and development environment automation. The tool handles environment variable injection, hierarchical configuration inheritance, and the execution of startup hooks and shell commands across multiple panes. It also provides utilities for headless environment provisioning and live session inspection.

The tool is implemented in Python and interfaces with the tmux command line interface.

Features

  • Workspace Generators - Generates live tmux sessions and pane layouts by parsing structured YAML or JSON workspace definitions.
  • tmux Session Managers - Automates the creation and organization of tmux sessions, windows, and panes using structured configuration files.
  • Terminal Session Layouts - Saves an active terminal session arrangement to a file to be edited and replayed later.
  • Workspace Initialization Logic - Defines custom builder logic to control how panes are initialized and when they are considered ready.
  • Development Environments - Automates the launch of project workspaces with consistent terminal layouts and required startup commands.
  • Session Capturers - Converts an active terminal multiplexer session into a portable configuration file to save state.
  • Session State Serializers - Captures the state of active tmux sessions and serializes them into portable configuration files for later restoration.
  • Shell Command Execution - Executes single or multi-line shell commands in tmux panes with support for custom delays.
  • Terminal Multiplexer Integrations - Builds upon libtmux to provide a programmatic layer for controlling terminal multiplexer environments.
  • Configuration Parsers - Implements parsing of YAML and JSON files into structured dictionaries to drive the creation of tmux sessions.
  • Layout Exporting - Captures the current state of active tmux sessions and saves them as portable YAML or JSON configuration files.
  • Session Builder Implementations - Implements a custom protocol to define how workspace configurations are processed and instantiated into active environments.
  • Terminal Pane Layouts - Defines precise starting directories, window indices, and pane focus to ensure consistent workspace layouts.
  • Terminal Orchestrators - Coordinates the execution of sequences of shell commands and scripts across multiple tmux panes.
  • Automated Environment Provisioning - Provisions predefined tmux sessions in a detached state for use in automated pipelines and integration tests.
  • Workspace Configurations - Lists available workspace configuration files along with metadata such as file paths and modification times.
  • Configuration Inheritance - Implements hierarchical inheritance to propagate default settings from the session level down to individual panes.
  • Builder Module Integrations - Integrates custom builder modules by resolving dotted paths and adding trusted directories to the system path.
  • Plugin Development Frameworks - Provides a base class and schema for developing plugins that extend session manager functionality.
  • Session Configuration Management - Manages the storage of session definitions in standardized directories for easy loading by name.
  • Shell Readiness Polling - Ensures shell initialization is complete by polling for the prompt before dispatching layout commands.
  • Tmux Configurations - Configures global and session-level tmux options and window-specific settings programmatically.
  • Bulk Session Orchestration - Creates several sessions from multiple configuration files in one command and attaches to the final one.
  • Pre-Session Hooks - Runs an external script before a session starts to set up environments based on the script exit code.
  • Prompt Readiness Detection - Manages whether the builder waits for a shell prompt before dispatching layouts to prevent visual artifacts.
  • Session Detachment and Reattachment - Starts predefined sessions in a detached state to enable integration testing within headless pipelines.
  • Automatic Workspace Discoveries - Automatically discovers session configurations by walking directory trees and displaying them in list or tree views.
  • Workspace Search Filters - Provides filters to locate session files based on names or content within windows and panes.
  • Automated Environment Setup - Allows running configurations in detached mode within scripts to programmatically prepare environments for automation.
  • Environment Variable Configuration - Assigns custom environment variables at the session, window, or pane level to customize the runtime environment.
  • Configuration File Loading - Scans directories and parent folders to locate and load YAML or JSON session layout configurations.
  • Environment Variable Resolution - Expands shell environment variables and shorthand syntax within configuration files into full system paths.
  • Startup Hooks - Executes custom scripts or commands as hooks to prepare the environment before a session loads.
  • Environment Variable Injection - Expands shell environment variables and shorthand paths within configuration files during preprocessing.
  • Configuration Validation - Verifies that session configuration files contain all required fields and valid formats before execution.
  • Runtime Schema Validations - Validates the structure and required fields of workspace YAML/JSON definitions at runtime to prevent build errors.
  • Builder Plugins - Provides a plugin system to extend session creation logic through custom classes and dynamic module loading.
  • Session Lifecycle Hooks - Uses custom classes to modify session names and react to reattachments through lifecycle hooks.
  • Plugin-Based Logic Extensions - Integrates custom scripts and logic into the session loading process to add specialized functionality.
  • Configuration Parsing Extensions - Allows overriding how workspace configurations are parsed and deployed into live sessions using custom classes.
  • Pane Command Spawners - Waits for a shell prompt to appear in a pane before sending layout and commands.
  • Session Naming & Metadata - Enables the specification of session names and global options to ensure consistent identity across workspace launches.
  • CLI Utilities - Session manager for terminal multiplexers.

Star history

Star history chart for tony/tmuxpStar history chart for tony/tmuxp

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Tmuxp

Similar open-source projects, ranked by how many features they share with Tmuxp.
  • tmux-python/tmuxptmux-python avatar

    tmux-python/tmuxp

    4,522View on GitHub↗

    tmuxp is a tmux session manager and declarative workspace orchestrator that automates the creation and organization of sessions, windows, and panes. It functions as a libtmux automation wrapper, allowing users to define complex terminal layouts and initial shell commands using YAML or JSON configuration files. The project distinguishes itself as a terminal layout snapshot tool capable of capturing the state of a running session and saving it as a reproducible configuration. It further supports terminal workflow automation by executing bootstrap tasks and startup scripts to prepare environment

    Pythonclicli-utilitiesjson
    View on GitHub↗4,522
  • tmuxinator/tmuxinatortmuxinator avatar

    tmuxinator/tmuxinator

    13,648View on GitHub↗

    Tmuxinator is a configuration-driven session manager and workspace automation tool for tmux. It acts as a terminal multiplexer orchestrator that translates structured project definitions into shell commands to define and launch complex window and pane layouts. The project distinguishes itself through declarative configuration and lifecycle management. It utilizes YAML-based mapping and template-based variable injection to create reusable session configurations, while providing hook-based execution to trigger custom scripts during startup, restart, or shutdown. Its broader capabilities includ

    Ruby
    View on GitHub↗13,648
  • theprimeagen/harpoonThePrimeagen avatar

    ThePrimeagen/harpoon

    8,898View on GitHub↗

    This project is a Neovim file navigation plugin and workspace manager that allows users to mark and jump between frequent files. It functions as a system for organizing high-priority files into specific layouts and window splits, utilizing a persistent list and index-based shortcuts to streamline movement across a project. The tool includes a terminal session integrator that bridges the editor with a terminal multiplexer. This integration enables the orchestration of windows and panes, allowing users to switch between development shells and coding sessions or manage terminal instances by inde

    Lua
    View on GitHub↗8,898
  • akinsho/toggleterm.nvimakinsho avatar

    akinsho/toggleterm.nvim

    5,530View on GitHub↗

    toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor. The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identi

    Lua
    View on GitHub↗5,530
See all 30 alternatives to Tmuxp→

Frequently asked questions

What does tony/tmuxp do?

tmuxp is a session manager and workspace automator for tmux. It allows for the creation, saving, and restoration of terminal session layouts using YAML or JSON configuration files, serving as a programmatic layer built on libtmux.

What are the main features of tony/tmuxp?

The main features of tony/tmuxp are: Workspace Generators, tmux Session Managers, Terminal Session Layouts, Workspace Initialization Logic, Development Environments, Session Capturers, Session State Serializers, Shell Command Execution.

What are some open-source alternatives to tony/tmuxp?

Open-source alternatives to tony/tmuxp include: tmux-python/tmuxp — tmuxp is a tmux session manager and declarative workspace orchestrator that automates the creation and organization of… tmuxinator/tmuxinator — Tmuxinator is a configuration-driven session manager and workspace automation tool for tmux. It acts as a terminal… theprimeagen/harpoon — This project is a Neovim file navigation plugin and workspace manager that allows users to mark and jump between… akinsho/toggleterm.nvim — toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening,… skwp/dotfiles — This project is a curated configuration suite and development environment bootstrapper designed to optimize Zsh and… square/maximum-awesome — This project is a terminal development environment consisting of a shared configuration set for the Vim editor and the…