Atuin: Orientation
Atuin records rich shell history locally in SQLite and optionally synchronizes encrypted records across machines. Its current V2 protocol is a generic record store used by history, key/value data, aliases, variables, and scripts.
local domain change → encrypted tagged record(host, index) → SQLite/WAL
↕ diff + pages
untrusted sync server
↓
rebuild local domain projections
Design thesis
Atuin treats the encrypted append-oriented record log as synchronization truth and local feature databases as rebuildable projections, so every machine remains useful offline and the server never needs plaintext.
- Per-host, per-tag indices turn sync into tail comparison.
- Typed builders make incomplete records and history entries harder to create.
- Envelope encryption binds metadata to ciphertext before upload.
- Sync is deliberately ordered today; correctness precedes parallel transfer.
- Projection failures are isolated so one feature does not block the others.