# tratto > tratto is a desktop Git client for Linux and macOS whose interface is data: themes, texts, menus and settings are files you change while it runs, over a Rust core that does not know the interface exists. Every page of the docs at https://tratto.dev/docs/ is also plain Markdown, linked below. ## Get Started - [Introduction](https://tratto.dev/docs/index.md): What tratto is, what it does today, and the fastest way from download to your first repository. - [Install](https://tratto.dev/docs/install.md): Install tratto on Linux from the AppImage or the tarball, what it needs, and where macOS stands. - [Open your first repository](https://tratto.dev/docs/first-repository.md): Add repositories tratto finds on your disk, or clone one, and how workspaces and projects hold them. - [The navigation band & modules](https://tratto.dev/docs/navigation-band.md): The band at the top of the window, the six modules it switches between, and what each one does today. - [Keyboard shortcuts](https://tratto.dev/docs/keyboard-shortcuts.md): The handful of keys worth learning first, and where to find all of them. - [Settings](https://tratto.dev/docs/settings.md): Open the settings, what each panel covers, where settings.json lives, and which settings are not read yet. ## Git - [History & the graph](https://tratto.dev/docs/git/history.md): Read a repository's history as a graph, filter it, search it and pick the columns you see. - [Branches](https://tratto.dev/docs/git/branches.md): Create, check out, track and delete branches, from the menu or from the branch's own context menu. - [Staging & commit](https://tratto.dev/docs/git/commit.md): Stage files, write the message, amend, undo the last commit, and read the diff the way you like it. - [Fetch, pull & push](https://tratto.dev/docs/git/remotes.md): Talk to remotes - fetch one repository or all of them, pull the way your Git config says, and push safely. - [Stash](https://tratto.dev/docs/git/stash.md): Put local changes aside and bring them back later. - [Tags](https://tratto.dev/docs/git/tags.md): Create lightweight or annotated tags, push them, and see which ones the remote has. - [Merge, cherry-pick & revert](https://tratto.dev/docs/git/merge.md): Merge branches with the mode and strategy you choose, cherry-pick or revert commits, and finish or abort. - [Worktrees](https://tratto.dev/docs/git/worktrees.md): Check out several branches at once, each in its own folder, and manage them from the sidebar. - [Submodules & subtrees](https://tratto.dev/docs/git/submodules.md): Update and sync the submodules a repository already has, and add, pull and push subtrees. - [Git Flow](https://tratto.dev/docs/git/flow.md): Start and finish features, releases and hotfixes the git-flow way, compatible with git-flow AVH. - [Pull requests](https://tratto.dev/docs/git/pull-requests.md): Create or open the pull request (or merge request) of a branch on GitHub, GitLab and other hosts. ## Home - [Pages & panels](https://tratto.dev/docs/home/pages.md): Build pages of panels on Home for each project, and what a panel can show today. - [Copilot](https://tratto.dev/docs/home/copilot.md): The copilot dock on Home - which engine answers, what it can read, and what it may change in tratto. - [Notifications](https://tratto.dev/docs/home/notifications.md): What changed on your remotes, gathered by fetch, shown in tratto and as system notifications. - [Quick Command](https://tratto.dev/docs/home/quick-command.md): Find any repository or run any command from one search box. ## AI - [Claude Code & Codex](https://tratto.dev/docs/ai/claude-code-and-codex.md): Connect the AI tools you already use - Claude Code, Codex and, optionally, cswap - and what tratto does with them. - [Usage & cost](https://tratto.dev/docs/ai/usage.md): See your Claude account, its quota and a local estimate of what your Claude Code sessions cost. - [Explain changes & commit messages](https://tratto.dev/docs/ai/commit-messages.md): Let Claude Code or Codex propose a commit message or explain a change, from the staged diff. - [Agents](https://tratto.dev/docs/ai/agents.md): Watch the Claude Code agents on your machine - their tasks, cost, worktrees and the files they changed. ## Customize - [UI as data](https://tratto.dev/docs/customize/ui-as-data.md): Which parts of tratto's interface are files, which of them you can change on disk, and when changes apply. - [Themes](https://tratto.dev/docs/customize/themes.md): The four built-in themes, how to adjust one, and how to restyle tratto live with style.json. - [Menus & shortcuts](https://tratto.dev/docs/customize/menus-and-shortcuts.md): How menu.json declares every menu and key, how Linux keys are derived, and what you can change today. ## Reference - [Keyboard shortcuts](https://tratto.dev/docs/reference/keyboard-shortcuts.md): Every keyboard shortcut of tratto's menus, with the macOS and the Linux key, generated from menu.json. - [Configuration files](https://tratto.dev/docs/reference/configuration-files.md): Every file tratto reads from your configuration folder, its schema and when a change applies. - [Sidecar protocol](https://tratto.dev/docs/reference/sidecar-protocol.md): How the interface talks to tratto's Git core - one JSON object per line over stdin and stdout. ## Support - [Getting help](https://tratto.dev/docs/support/getting-help.md): Where to ask a question, what the Help menu opens, and how to read these docs from an agent. - [Reporting bugs](https://tratto.dev/docs/support/bug-reports.md): What to put in a bug report so it can be reproduced, and how to try a clean configuration first. - [Updates & releases](https://tratto.dev/docs/support/updates.md): How tratto tells you about a new version, where releases are announced, and what is published today.