{"id":13456979,"url":"https://github.com/atuinsh/atuin","last_synced_at":"2026-04-16T02:01:12.741Z","repository":{"id":37102590,"uuid":"301244405","full_name":"atuinsh/atuin","owner":"atuinsh","description":"✨ Making your shell magical","archived":false,"fork":false,"pushed_at":"2026-04-14T14:58:36.000Z","size":50528,"stargazers_count":29152,"open_issues_count":478,"forks_count":827,"subscribers_count":74,"default_branch":"main","last_synced_at":"2026-04-14T15:15:39.474Z","etag":null,"topics":["bash","fish","history","rust","shell","zsh"],"latest_commit_sha":null,"homepage":"https://atuin.sh","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atuinsh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["atuinsh"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-10-04T23:01:58.000Z","updated_at":"2026-04-14T15:06:58.000Z","dependencies_parsed_at":"2026-03-07T01:06:48.812Z","dependency_job_id":null,"html_url":"https://github.com/atuinsh/atuin","commit_stats":{"total_commits":1265,"total_committers":209,"mean_commits":6.052631578947368,"dds":0.5936758893280633,"last_synced_commit":"5c29057e9ac8af4cb94edd0819057e2b2dd34557"},"previous_names":["atuinsh/atuin","ellie/atuin"],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/atuinsh/atuin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atuinsh%2Fatuin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atuinsh%2Fatuin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atuinsh%2Fatuin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atuinsh%2Fatuin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atuinsh","download_url":"https://codeload.github.com/atuinsh/atuin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atuinsh%2Fatuin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31867712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","fish","history","rust","shell","zsh"],"created_at":"2024-07-31T08:01:31.244Z","updated_at":"2026-04-16T02:01:12.719Z","avatar_url":"https://github.com/atuinsh.png","language":"Rust","funding_links":["https://github.com/sponsors/atuinsh"],"categories":["Rust","Apps","Applications","CLI","bash","终端","🛠️ Productivity","Tools","💻 Apps","Shell History","Fuzzy Finding \u0026 Search","Table of Contents","Uncategorized","Shell/Terminal"],"sub_categories":["Development","System tools","网络服务_其他","☸️ Kubernetes","Rust","🚀 Productivity and Utilities","Terminal Utilities","Uncategorized"],"readme":"\u003cp align=\"center\"\u003e\n \u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/atuinsh/atuin/assets/53315310/13216a1d-1ac0-4c99-b0eb-d88290fe0efd\"\u003e\n  \u003cimg alt=\"Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'\" src=\"https://github.com/atuinsh/atuin/assets/53315310/08bc86d4-a781-4aaa-8d7e-478ae6bcd129\"\u003e\n\u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cem\u003emagical shell history\u003c/em\u003e\n\u003c/p\u003e\n\n\u003chr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/atuinsh/atuin/actions?query=workflow%3ARust\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/atuinsh/atuin/rust.yml?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/atuin\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/atuin.svg?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/atuin\"\u003e\u003cimg src=\"https://img.shields.io/crates/d/atuin.svg?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/atuinsh/atuin/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/crates/l/atuin.svg?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/Fq8bJSKPHh\"\u003e\u003cimg src=\"https://img.shields.io/discord/954121165239115808\" /\u003e\u003c/a\u003e\n  \u003ca rel=\"me\" href=\"https://hachyderm.io/@atuin\"\u003e\u003cimg src=\"https://img.shields.io/mastodon/follow/109944632283122560?domain=https%3A%2F%2Fhachyderm.io\u0026style=social\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/atuinsh\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/atuinsh?style=social\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n[English] | [简体中文]\n\nAtuin replaces your existing shell history with a SQLite database, and records\nadditional context for your commands. Additionally, it provides optional and\n_fully encrypted_ synchronisation of your history between machines, via an Atuin\nserver.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"demo.gif\" alt=\"animated\" width=\"80%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cem\u003eexit code, duration, time and command shown\u003c/em\u003e\n\u003c/p\u003e\n\nAs well as the search UI, it can do things like this:\n\n```\n# search for all successful `make` commands, recorded after 3pm yesterday\natuin search --exit 0 --after \"yesterday 3pm\" make\n```\n\nYou may use either the server I host, or host your own! Or just don't use sync\nat all. As all history sync is encrypted, I couldn't access your data even if\nI wanted to. And I **really** don't want to.\n\n## Features\n\n- rebind `ctrl-r` and `up` (configurable) to a full screen history search UI\n- store shell history in a sqlite database\n- back up and sync **encrypted** shell history\n- the same history across terminals, across sessions, and across machines\n- log exit code, cwd, hostname, session, command duration, etc\n- calculate statistics such as \"most used command\"\n- old history file is not replaced\n- quick-jump to previous items with \u003ckbd\u003eAlt-\\\u003cnum\\\u003e\u003c/kbd\u003e\n- switch filter modes via ctrl-r; search history just from the current session, directory, or globally\n- enter to execute a command, tab to edit\n\n## Documentation\n\n- [Quickstart](#quickstart)\n- [Install](https://docs.atuin.sh/guide/installation/)\n- [Setting up sync](https://docs.atuin.sh/guide/sync/)\n- [Import history](https://docs.atuin.sh/guide/import/)\n- [Basic usage](https://docs.atuin.sh/guide/basic-usage/)\n\n## Supported Shells\n\n- zsh\n- bash\n- fish\n- nushell\n- xonsh\n- powershell (tier 2 support)\n\n## Community\n\n### Forum\n\nAtuin has a community forum, please ask here for help and support: \u003chttps://forum.atuin.sh/\u003e\n\n### IRC\n\nWe're also available via #atuin on libera.chat\n\n### Discord\n\nAtuin also has a community Discord, available [here](https://discord.gg/jR3tfchVvW)\n\n# Quickstart\n\nThis will sign you up for the Atuin Cloud sync server. Everything is end-to-end encrypted, so your secrets are safe!\n\nRead the [docs](https://docs.atuin.sh) for an offline setup, self-hosted server, and more.\n\n```\ncurl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh\n\natuin register -u \u003cUSERNAME\u003e -e \u003cEMAIL\u003e\natuin import auto\natuin sync\n```\n\nThen restart your shell!\n\n\u003e [!NOTE]\n\u003e\n\u003e **For Bash users**: The above sets up `bash-preexec` for necessary hooks, but\n\u003e `bash-preexec` has limitations. For details, please see the\n\u003e [Bash](https://docs.atuin.sh/guide/installation/#installing-the-shell-plugin)\n\u003e section of the shell plugin documentation.\n\n# Security\n\nIf you find any security issues, we'd appreciate it if you could alert \u003cellie@atuin.sh\u003e\n\n# Contributors\n\n\u003ca href=\"https://github.com/atuinsh/atuin/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=atuinsh/atuin\u0026max=300\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).\n\n[English]: ./README.md\n[简体中文]: ./docs-i18n/zh-CN/README.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatuinsh%2Fatuin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatuinsh%2Fatuin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatuinsh%2Fatuin/lists"}