Skip to content

standup-coder/lonely-coder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lonely-coder

Looking for a coding partner, one terminal at a time.

This repository is the home of pair-terminal — a CLI tool for live, end-to-end-encrypted terminal pair programming, plus a relay server. The original "Wuma / 无码" social-platform idea from 2013–2015 still lives in HISTORY.md and the archive/ directory, kept for reference only.

What's here

Path What it is Status
pair-terminal/ Rust workspace for terminal pair programming (the live project) Active
archive/ Old PHP frameworks from the Wuma/无码 era (LaneWeChat, WeiEngine, WeiPHP) Frozen — historical
analysis-report.md Security & quality autopsy of the archived PHP code (2026-04) Frozen — historical
ideas.md Long-form brainstorm notes Reference only
doc/ Placeholder design docs from 2014 (not real documentation) Stale
HISTORY.md Origin story of this repository (Wuma → pair-terminal) Living

Quick start — pair-terminal

cd pair-terminal

# Build everything
cargo build --all

# Run the relay server (axum + SQLite, defaults to 0.0.0.0:8080)
cargo run -p pair-server

# In another terminal: share your session
cargo run -p pair -- share --mode collab

# On a partner's machine: join using the pair:// URL
cargo run -p pair -- join "pair://<terminal_id>#<bootstrap_key>"

# Or: get auto-matched with someone looking for the same stack
cargo run -p pair -- match --lang rust --skill intermediate

The relay server uses pair.db in the current directory by default. The client and server talk over WebSockets; all PTY traffic is end-to-end encrypted with AES-128-GCM (key bootstrap lives in the pair:// URL).

Features

  • End-to-end encryption — AES-128-GCM with automatic 1M-message key rotation
  • Three pair modes — Driver (host only), Navigator (guest only), Collaborative (both)
  • Session recording — asciinema v2 format, replay with pair replay
  • Skill-based matchmaking — Jaccard language overlap + skill-level compatibility
  • TUI status bar — Ctrl+T help, chat, mode switching
  • Connection limits — server caps at 1,000 concurrent connections

Full docs, architecture, and protocol details live in pair-terminal/README.md.

Development

cd pair-terminal

cargo fmt --all -- --check        # formatting (CI enforces)
cargo clippy --all --all-targets -- -D warnings   # lints (CI enforces)
cargo test --all                  # 31 tests across 3 crates
cargo build --all                 # release build

CI runs the same four checks on every push (see .github/workflows/ci.yml) plus a rustsec/audit-check job.

License

MIT. See pair-terminal/Cargo.toml for the canonical declaration.


For the full backstory of how this repo got from a 2013 WeChat social platform to a 2026 Rust terminal pair-programming tool, see HISTORY.md.

About

Wuma - Get luky using wechat. 无码 - 基于微信公众平台的社交平台

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors