# sindresorhus/pure

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sindresorhus-pure).**

14,084 stars · 1,002 forks · Shell · mit

## Links

- GitHub: https://github.com/sindresorhus/pure
- awesome-repositories: https://awesome-repositories.com/repository/sindresorhus-pure.md

## Topics

`git` `minimal` `prompt` `pure` `shell` `shell-prompt` `shell-theme` `terminal` `theme` `zsh`

## Description

Pure is an asynchronous command line prompt for Zsh designed to maintain terminal responsiveness while providing real-time system and environment information. It functions as a minimal, themeable interface component that reconstructs its visual state by evaluating shell variables and environment context before every new line.

The project distinguishes itself by offloading complex tasks, such as version control status checks and system monitoring, to background processes. This architecture ensures that the terminal interface remains fluid and responsive even when performing intensive status updates or tracking repository changes. It also provides immediate feedback on command execution by monitoring duration and success status, automatically adjusting visual indicators based on the outcome of recent activity.

Users can tailor the prompt to their specific workflows through a configuration framework that supports custom segments and appearance adjustments. The system utilizes a hook-based execution model, allowing for the injection of user-defined functions to extend functionality or modify the information density of the command line interface.

## Tags

### Development Tools & Productivity

- [Asynchronous Prompt Renderers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/shell-enhancements/asynchronous-prompt-renderers.md) — Functions as an asynchronous shell prompt that maintains responsiveness while fetching system and version control information.
- [Shell Customization Frameworks](https://awesome-repositories.com/f/development-tools-productivity/shell-customization-frameworks.md) — Provides a configuration framework for modifying the appearance and behavior of shell prompts to match specific workflows.
- [Terminal Prompt Customizers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/shell-productivity-enhancements/terminal-prompt-customizers.md) — Provides a framework for tailoring the appearance and information density of the command line interface.
- [Shell Performance Optimizers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-utilities/shell-configuration-customization/shell-performance-optimizers.md) — Optimizes shell performance by running complex status checks asynchronously to prevent input lag.
- [Execution Duration Trackers](https://awesome-repositories.com/f/development-tools-productivity/command-execution/execution-duration-trackers.md) — Tracks and displays command duration and success status through automatic prompt color changes. ([source](https://github.com/sindresorhus/pure/blob/main/readme.md))
- [Execution Feedback Utilities](https://awesome-repositories.com/f/development-tools-productivity/command-execution/execution-feedback-utilities.md) — Provides immediate visual confirmation of command success and duration directly in the prompt.
- [Context-Aware Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/context-aware-environment-managers.md) — Indicates active virtual environments and language versions directly within the terminal prompt. ([source](https://github.com/sindresorhus/pure#readme))
- [Environment Activation](https://awesome-repositories.com/f/development-tools-productivity/environment-activation.md) — Visualizes active virtual environments and language versions to ensure correct context awareness.
- [Shell Integration Hooks](https://awesome-repositories.com/f/development-tools-productivity/shell-integration-hooks.md) — Triggers prompt rendering by attaching functions to shell pre-command and pre-prompt hooks.

### Operating Systems & Systems Programming

- [Shell Prompt Themes](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-customization/shell-prompt-themes.md) — Acts as a minimal Zsh prompt theme displaying system status, Git state, and command execution time.
- [Terminal Prompt Configuration](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-prompt-configuration.md) — Allows users to adjust symbols, colors, and visibility of command line segments to match personal preferences. ([source](https://github.com/sindresorhus/pure/blob/main/readme.md))
- [Prompt Segment Controllers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-customization-tools/terminal-prompt-configuration/prompt-segment-controllers.md) — Enables the injection of custom prefix or suffix segments into the command line using hook functions. ([source](https://github.com/sindresorhus/pure/blob/main/readme.md))
- [Prompt Segments](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/prompt-configuration-utilities/prompt-segments.md) — Reconstructs visual segments by evaluating shell variables and environment state before every new line.

### DevOps & Infrastructure

- [Git Status Indicators](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-integrations/git-status-indicators.md) — Displays Git branch names and repository status directly within the shell prompt.
- [Status Integrations](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control/status-integrations.md) — Displays current branch and modified file status directly in the command line to simplify version control awareness. ([source](https://github.com/sindresorhus/pure#readme))

### Part of an Awesome List

- [Shell Environments](https://awesome-repositories.com/f/awesome-lists/devtools/shell-environments.md) — Minimalist and fast Zsh prompt.
- [Terminal Prompts](https://awesome-repositories.com/f/awesome-lists/devtools/terminal-prompts.md) — Minimalist and fast Zsh prompt for clean workflows.

### Software Engineering & Architecture

- [Asynchronous Background Processors](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-background-processors.md) — Offloads intensive status checks to background processes to maintain terminal responsiveness.
