repos / zmx

session persistence for terminal processes
git clone https://github.com/neurosnap/zmx.git

commit
336a6c1
parent
aff0f9e
author
Eric Bower
date
2025-10-10 16:28:53 -0400 EDT
docs: readme
2 files changed,  +23, -23
M AGENTS.md
+0, -23
 1@@ -18,29 +18,6 @@ The goal of this project is to create a way to attach and detach terminal sessio
 2 - **Test filter (Zig)**: `zig build test -Dtest-filter=<test name>`
 3 - **Formatting (Zig)**: `zig fmt .`
 4 
 5-## features
 6-
 7-- Persist terminal shell sessions (pty processes)
 8-- Ability to attach and detach from a shell session without killing it
 9-- Native terminal scrollback
10-- Manage shell sessions
11-- Multiple clients can connect to the same session
12-- Background process (`daemon`) manages all pty processes
13-- A cli tool to interact with `daemon` and all pty processes
14-- Re-attaching to a session restores previous terminal state and output
15-- The `daemon` and client processes communicate via a unix socket
16-- The `daemon` is managed by a supervisor like `systemd`
17-- We provide a `systemd` unit file that users can install that manages the `daemon` process
18-- The cli tool supports the following commands:
19-    - `attach {session}`: attach to the pty process
20-    - `detach {session}`: detach from the pty process without killing it
21-    - `kill {session}`: kill the pty process
22-    - `list`: show all sessions and what clients are currently attached
23-    - `daemon`: the background process that manages all sessions
24-- This project does **NOT** provide windows, tabs, or window splits
25-- It supports all the terminal features that the client's terminal emulator supports
26-- The current version only works on linux
27-
28 ## finding libxev source code
29 
30 To inspect the source code for libxev, look inside the `libxev_src` folder.
M README.md
+23, -0
 1@@ -1,5 +1,28 @@
 2 # zmx - session persistence for terminal processes
 3 
 4+## features
 5+
 6+- Persist terminal shell sessions (pty processes)
 7+- Ability to attach and detach from a shell session without killing it
 8+- Native terminal scrollback
 9+- Manage shell sessions
10+- Multiple clients can connect to the same session
11+- Background process (`daemon`) manages all pty processes
12+- A cli tool to interact with `daemon` and all pty processes
13+- Re-attaching to a session restores previous terminal state and output
14+- The `daemon` and client processes communicate via a unix socket
15+- The `daemon` is managed by a supervisor like `systemd`
16+- We provide a `systemd` unit file that users can install that manages the `daemon` process
17+- The cli tool supports the following commands:
18+    - `attach {session}`: attach to the pty process
19+    - `detach {session}`: detach from the pty process without killing it
20+    - `kill {session}`: kill the pty process
21+    - `list`: show all sessions and what clients are currently attached
22+    - `daemon`: the background process that manages all sessions
23+- This project does **NOT** provide windows, tabs, or window splits
24+- It supports all the terminal features that the client's terminal emulator supports
25+- The current version only works on linux
26+
27 ## usage
28 
29 - `zmx attach <session_name>` - create or attach to a session