crdt-vterm

Record, replay, and share Emacs vterm sessions with CRDT-style s-expressions.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill crdt-vterm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crdt-vterm
Source: https://github.com/plurigrid/asi/tree/main/skills/crdt-vterm
Command: npx skills add https://github.com/plurigrid/asi --skill crdt-vterm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Collaborative terminal sessions with CRDT-style s-expressions and GF(3) conflict resolution enable multi-user work without overwriting each other's input.

Core Features & Use Cases

  • Emacs bridge & Babashka recorder: connect terminals and record sessions.
  • P2P sharing: live sharing via multicast; conflict resolution via GF(3).
  • Replay tooling: replay and merge sessions for auditing or collaboration.

Quick Start

Start recording a vterm session, then replay the session from the generated log.

Frequently Asked Questions about crdt-vterm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up real-time collaborative terminal sharing with CRDT conflict resolution?

Collaborative terminal sharing with CRDTs uses s-expressions and GF(3) trifurcated conflict resolution to merge concurrent edits without data loss. Start by recording a vterm session with the Babashka recorder, then share live via P2P multicast. The system applies tri-queue input handling (MINUS, ERGODIC, PLUS) to deterministically resolve conflicts across participants.

Can I replay and audit terminal sessions after recording them?

Yes. Recorded sessions are stored as CRDT s-expression logs and can be replayed deterministically using the replay tooling. DuckDB indexing supports auditing merged sessions, and you can regenerate exact terminal states from the log for reproducible playback and collaboration verification.

What's the difference between CRDT-based terminal sharing and traditional terminal recording?

CRDT-based sharing handles concurrent multi-user input without overwrites by applying GF(3) conflict resolution to track insertions, deletions, and concurrent edits as versioned s-expressions. Traditional recording captures sequential playback only; this approach ensures deterministic conflict resolution and live P2P synchronization across Emacs/vterm environments.

Do I need Emacs and vterm to use this collaborative terminal system?

The Emacs bridge and vterm environment are the primary integration points for recording, replaying, and live sharing. Shadow buffers and CRDT sexp logs are managed within this ecosystem. The Babashka recorder handles session capture, and multicast P2P sharing works within the integrated toolchain.

How does GF(3) trifurcated conflict resolution work for terminal inputs?

GF(3) trifurcation splits concurrent edits into three queues (MINUS for deletions, ERGODIC for ergodic operations, PLUS for insertions) and applies field arithmetic to deterministically order conflicts. This ensures that concurrent terminal inputs from multiple users produce identical merged results regardless of arrival order.

What toolchain integrations support recording and replaying terminal sessions?

The system integrates Babashka (bb scripts) for recording, Emacs replay for deterministic playback, and DuckDB indexing for session analysis. These tools work together to capture CRDT s-expression logs, enable reproducible terminal state recovery, and support multi-user session auditing.