#ratterm — A Split-Terminal TUI with PTY Support and an Embedded Code Editor (Rust)

1 messages · Page 1 of 1 (latest)

summer ocean
#

Hi everyone,

I wanted to share a personal Rust project I’ve been working on called ratterm:

https://github.com/hastur-dev/ratterm

ratterm is a terminal user interface (TUI) application written in Rust that combines:

A split-pane terminal backed by a real PTY

An embedded code editor

An SSH connection manager

A Docker container manager

All built using ratatui and crossterm

The project explores what a Rust-native terminal workspace might look like — somewhere between a terminal emulator, a lightweight editor, and an operational dashboard.

What currently "works"

The following features are implemented and mostly functional today:

🖥️ Terminal

✅ PTY-backed terminal

Real shell execution via a pseudo-terminal

Interactive input/output

✅ Split-pane layout

Terminal and non-terminal views rendered together

Managed through ratatui layout primitives

hit ctrl+s to split your terminal and make a new terminal

we also support tabs so you can split your terminals inside your tabs lol

✅ Basic text/code editor

Cursor movement

Text insertion and deletion

Integrated directly into the TUI (not an external editor)

This is a fun/nightmare idea that I just can't let go because I like it so much lol

✅ SSH connection management

Manage multiple SSH targets

Launch SSH sessions inside the PTY terminal panes

Designed for quick switching between local and remote environments

This is pretty basic right now with just ctrl+shift+u and doing single hop ssh with an automated system to username/password.

I'm going to be adding the ability to jump from 1 ssh node to another because for some stuff I ssh into a head node then a child node

✅ Docker integration

View and manage Docker containers from within the TUI

Interact with containers using the same terminal/editor workspace

Focused on visibility and basic control rather than full orchestration

This feature is still being worked on. I have an issue with my local docker, but I'm adding the ability to manage docker environments through your SSH stuff so that'll help me out a bit

✅ Keyboard-driven UX

No mouse dependency

Terminal-first interaction model

✅ ratatui + crossterm architecture

Clear separation between rendering, input handling, and backend logic

The application builds and runs, and the core idea — a single TUI that can host terminals, editing, SSH, and Docker workflows — is already usable.

This reads like an Ai pitch because it is

I can't seem to pitch something on the internet without rambling forever

Chatgpt did so much better on this lol

GitHub

A split-terminal TUI with PTY terminal and code editor made with ratatui and crossterm - hastur-dev/ratterm

visual wren
#

your terminal is a TUI?

summer ocean
visual wren
#

so... how is it rendered?

summer ocean
#

Using ratatui and crossterm

#

There are some things im having to work into the terminal because ratatui isn't 1.0 yet, but its mostly ratatui