Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ellie/atuin
✨ Magical shell history
https://github.com/ellie/atuin
bash fish history rust shell zsh
Last synced: 23 days ago
JSON representation
✨ Magical shell history
- Host: GitHub
- URL: https://github.com/ellie/atuin
- Owner: atuinsh
- License: mit
- Created: 2020-10-04T23:01:58.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-22T23:58:26.000Z (3 months ago)
- Last Synced: 2024-10-30T02:38:24.213Z (3 months ago)
- Topics: bash, fish, history, rust, shell, zsh
- Language: Rust
- Homepage: https://atuin.sh
- Size: 44.4 MB
- Stars: 20,684
- Watchers: 64
- Forks: 563
- Open Issues: 261
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-tools - atuin - Magical shell history by replacing your existing shell history with a SQLite database, and records additional context for your commands (Shells / Sidecards)
- awesome-nu - atuin
- awesomeLibrary - atuin - 🐢 Magical shell history (语言资源库 / rust)
- awesome-list - atuin
README
magical shell history
[English] | [简体中文]
Atuin replaces your existing shell history with a SQLite database, and records
additional context for your commands. Additionally, it provides optional and
_fully encrypted_ synchronisation of your history between machines, via an Atuin
server.
exit code, duration, time and command shownAs well as the search UI, it can do things like this:
```
# search for all successful `make` commands, recorded after 3pm yesterday
atuin search --exit 0 --after "yesterday 3pm" make
```You may use either the server I host, or host your own! Or just don't use sync
at all. As all history sync is encrypted, I couldn't access your data even if
I wanted to. And I **really** don't want to.## Features
- rebind `ctrl-r` and `up` (configurable) to a full screen history search UI
- store shell history in a sqlite database
- back up and sync **encrypted** shell history
- the same history across terminals, across sessions, and across machines
- log exit code, cwd, hostname, session, command duration, etc
- calculate statistics such as "most used command"
- old history file is not replaced
- quick-jump to previous items with Alt-\
- switch filter modes via ctrl-r; search history just from the current session, directory, or globally
- enter to execute a command, tab to edit## Documentation
- [Quickstart](#quickstart)
- [Install](https://docs.atuin.sh/guide/installation/)
- [Setting up sync](https://docs.atuin.sh/guide/sync/)
- [Import history](https://docs.atuin.sh/guide/import/)
- [Basic usage](https://docs.atuin.sh/guide/basic-usage/)
## Supported Shells- zsh
- bash
- fish
- nushell
- xonsh## Community
### Forum
Atuin has a community forum, please ask here for help and support: https://forum.atuin.sh/
### Discord
Atuin also has a community Discord, available [here](https://discord.gg/jR3tfchVvW)
# Quickstart
This will sign you up for the Atuin Cloud sync server. Everything is end-to-end encrypted, so your secrets are safe!
Read more in the [docs](https://docs.atuin.sh) for an offline setup, self hosted server, and more.
```
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | shatuin register -u -e
atuin import auto
atuin sync
```Then restart your shell!
> [!NOTE]
>
> **For Bash users**: The above sets up `bash-preexec` for necessary hooks, but
> `bash-preexec` has limitations. For details, please see the
> [Bash](https://docs.atuin.sh/guide/installation/#installing-the-shell-plugin)
> section of the shell plugin documentation.# Security
If you find any security issues, we'd appreciate it if you could alert [email protected]
# Contributors
Made with [contrib.rocks](https://contrib.rocks).
[English]: ./README.md
[简体中文]: ./docs/zh-CN/README.md