GitHub

Atuin: Magical Shell History

What is the project about?

Atuin is a tool that enhances shell history by storing it in a SQLite database, recording additional context, and providing optional encrypted synchronization between machines.

What problem does it solve?

It improves upon the default shell history by:

  • Providing a more robust and searchable history.
  • Adding context to commands (exit code, duration, working directory, etc.).
  • Enabling secure synchronization of history across multiple devices.
  • Avoiding limitations of standard history mechanisms.

What are the features of the project?

  • Full-screen history search UI (rebinds ctrl-r and up).
  • Stores history in a SQLite database.
  • Encrypted backup and sync of shell history.
  • Consistent history across terminals, sessions, and machines.
  • Logs extra command context (exit code, cwd, hostname, duration).
  • Calculates command usage statistics.
  • Preserves the original history file.
  • Quick-jump shortcuts (Alt-).
  • Filtering by session, directory, or globally.
  • Edit commands before execution.

What are the technologies used in the project?

  • Rust (primary language).
  • SQLite (database).
  • Encryption (for history synchronization).
  • Shell integrations (zsh, bash, fish, nushell, xonsh).

What are the benefits of the project?

  • Improved shell history search and management.
  • Secure and private history synchronization.
  • Better understanding of command usage patterns.
  • Easier recall and reuse of commands.
  • More context for debugging and analysis.

What are the use cases of the project?

  • Developers and system administrators who frequently use the command line.
  • Users who work across multiple machines and want a consistent shell history.
  • Anyone who wants a more powerful and secure way to manage their shell history.
  • Searching for commands with specific criteria (e.g., successful make commands after a certain time).
atuin screenshot