twin helps keep two machines' configuration aligned. A sync-file is just Markdown: the prose says why a path is synced, and fenced YAML blocks define what to do. rsync does the copying. When both sides changed since the last sync, twin shows a diff and asks before overwriting. A target is a local path, a mounted volume, or user@host:/path over ssh, and twin treats all three the same. Interactive selection runs through fzf with a rendered Markdown preview; the same sync-files drive scriptable status, dry-run and sync commands.
Required Ruby Version
>= 3.1
Authors
Ralf Hülsmann
Versions
- 0.4.3 August 08, 2026 (37 KB)
- 0.4.2 August 08, 2026 (37 KB)
- 0.4.1 August 02, 2026 (35 KB)
- 0.4.0 August 02, 2026 (34.5 KB)
- 0.3.0 July 28, 2026 (30 KB)