DEV Community

Cover image for Building rewindtty – a terminal session recorder in C with PTY support
Andrea Debernardi
Andrea Debernardi

Posted on

Building rewindtty – a terminal session recorder in C with PTY support

Have you ever needed to record what happens inside a terminal — with timing, full output, and possibly even ANSI sequences?

That’s what I’m building with rewindtty, a simple yet powerful terminal session recorder written in pure C. It spawns CLI commands inside a pseudo-terminal (PTY), and logs the output in structured JSON format with timestamps.

✅ It already records:
• stdout and stderr
• command execution and timestamps
• logs you can replay or analyze later

🔧 I just opened a feature request to support recording ANSI escape sequences, so that full-screen TUI programs like vim, htop, and others can be captured and replayed accurately.

🎯 Use cases:
• Debugging interactive programs
• Sharing reproducible CLI workflows
• Building in-browser replayers (with e.g. xterm.js)

🧠 I’d love your feedback, especially if you’ve worked with PTY APIs in C, terminal emulation, ANSI sequence parsing or rendering

Top comments (0)