$ show herdrdev/herdr
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.
The LLM identified 5 files worth highlighting for reuse:
A manifest-based plugin system that allows dynamic loading of extensions with isolated config/state directories, event hooks, and keybinding integration. Demonstrates clean separation of concerns and could be extracted as a reusable plugin framework for other applications.
A robust TOML-based configuration system with live reloading, schema validation, environment variable overrides, and atomic writes. Shows thoughtful design for application configuration that could be reused in other Rust projects requiring persistent, reloadable settings.
Session persistence layer that snapshots workspaces, tabs, panes, and layouts to disk with atomic writes, file locking, and versioning. Ensures state survival across restarts and demonstrates careful attention to data integrity and recovery mechanisms.
Centralized agent lifecycle management handling spawning, renaming, focusing, and info retrieval for various AI coding agents (Claude, Codex, etc.). Provides a clean abstraction over agent-specific integrations while maintaining consistent state reporting through the Herdr API.
Central event broadcasting system that decouples UI components, API handlers, and internal services through a publish-subscribe pattern. Enables efficient state propagation and loose coupling between different parts of the application.