Herdr is a terminal workspace manager designed for AI coding agents. It features a client-server architecture where a persistent background server manages terminal panes, workspaces, and tabs, while thin clients (TUI and CLI) connect via Unix sockets/named pipes. The system enables detaching and reattaching sessions without losing agent state, provides agent-native control through CLI/socket API for spawning and managing AI agents (Claude, Codex, Copilot, etc.), and maintains session persistence across restarts and network disruptions. It includes a plugin system for extensibility, comprehensive AI agent integrations, and a rich terminal interface built with Ratatui.
tmuxp is a CLI tool and Python library for managing tmux sessions declaratively. It loads, freezes, converts, and imports workspace configurations in YAML or JSON formats, enabling reproducible tmux environments. The architecture follows a layered design: configuration files are parsed by a custom config reader, expanded with environment variables and shorthand forms, then processed through a `trickle` function that propagates defaults across session/window/pane hierarchy. A workspace builder (default is `ClassicWorkspaceBuilder`) translates the expanded config into tmux commands via the libtmux library, creating sessions, windows, panes, and executing shell commands. A plugin system allows custom workspace builders and lifecycle hooks (`before_workspace_builder`, `on_window_create`, `after_window_finished`, `before_script`, `reattach`). The CLI supports subcommands (load, freeze, convert, import, edit, ls, search, shell, debug-info) with structured output modes (human, JSON, NDJSON), semantic color support, and a thread-based progress spinner. External dependencies are minimal: Python ≥3.10, tmux ≥3.2, and libtmux ≈0.61.0. The codebase demonstrates strong engineering practices with extensive integration tests against multiple tmux versions, Sphinx documentation, and a well-defined plugin contract.