For zsh users who like this idea and don't want to have to worry about anything leaving the device (not to insinuate that Atuin is doing anything below board, I don't think they are) I built my own version of this for myself called raven:
Raven has no sync component, stores your history in a sqlite, and never tries to move data off the device. It has a similar / large overlap in features with Atuin.
Sharing here in case anyone else could benefit from it, it only supports zsh for the moment since that's what I use.
I am happy Atuin user now, but I was initially worried that it would sync my data unless I explicitly disabled that feature. The fact that it's opt-in becomes clear once you read the docs and understand how it works, but it might be worth emphasizing that on the landing page. Currently it says:
Shell history sync
Sync your shell history to all of your machines, wherever they are
this is my only quip with atuin, despite my endorsement in a sibling comment.
this should absolutely be opted-out BY DEFAULT. not defaulted to opt-in.
if you have someone outright cloning your entire project just to skip this opted-in privacy gap feature, it's a good indicator it's an issue to be mindful of!
Opt-in means that the user needs to actively decide to use the feature, it's OFF by default. That's currently the case for atuin (happy user without sync here).
Opt-out would mean the feature would be ON by default and users would need to actively decide NOT to use it.
https://github.com/tylersaunders/raven
Raven has no sync component, stores your history in a sqlite, and never tries to move data off the device. It has a similar / large overlap in features with Atuin.
Sharing here in case anyone else could benefit from it, it only supports zsh for the moment since that's what I use.
Atuin is great though!