A fast, customizable, pure-shell, asynchronous Git prompt for Zsh that displays repository status.
git-prompt.zsh is a Zsh shell extension that displays Git repository status directly in the terminal prompt. It shows information like current branch, ahead/behind status, staged/unstaged files, and other repository changes to help developers track their work without running separate Git commands.
Zsh users who work with Git repositories and want immediate visibility into repository status directly in their terminal prompt, particularly those who value performance and customization.
Developers choose git-prompt.zsh for its pure-shell implementation that requires no external dependencies, asynchronous updates that prevent shell slowdowns, and extensive customization options that allow tailoring the prompt to specific workflows.
A fast, customizable, pure-shell, asynchronous Git prompt for Zsh
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Updates Git status in the background to keep the prompt responsive even in large repositories, preventing shell slowdowns as emphasized in the README's features.
Built entirely with shell scripting and awk, requiring no external languages like Python or Haskell, ensuring minimal dependencies and broad compatibility on *nix systems.
Offers numerous theming variables for complete control over colors, symbols, and prompt structure, allowing users to tailor the display to their workflow, as detailed in the Customization section.
Shows comprehensive information including branch state, tracking status, staged/unstaged files, and more, providing a complete repository overview at a glance, as outlined in the Prompt Structure.
Exclusively designed for Zsh shells, making it incompatible with Bash, Fish, or other shell environments, which restricts its usability in mixed or non-Zsh setups.
Requires manual editing of .zshrc and setting PROMPT variables, unlike prompt systems with auto-configuration or GUI tools, adding complexity for users who prefer drop-in solutions.
Can slow down in large repositories when finding untracked files, and disabling async for accuracy makes the shell painfully slow, as admitted in the Known Issues and Disable async sections.