explaingit

sorin-ionescu/prezto

Analysis updated 2026-06-24

14,529ShellAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

Configuration framework for Zsh that ships sensible defaults, aliases, tab completion, and prompt themes. You enable modules in .zpreztorc instead of writing pages of shell config.

Mindmap

mindmap
  root((Prezto))
    Inputs
      zpreztorc config
      Module list
      Prompt name
    Outputs
      Configured Zsh
      Tab completion
      Themed prompt
    Use Cases
      Bootstrap new shell
      Replace oh-my-zsh
      Customize prompt
    Tech Stack
      Zsh
      Shell scripts
      Git submodules
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Bootstrap a new macOS or Linux machine with a usable Zsh setup in five minutes.

USE CASE 2

Switch from oh-my-zsh to a lighter framework with module-based opt-in features.

USE CASE 3

Enable git, syntax-highlighting, and editor modules by editing a single .zpreztorc file.

USE CASE 4

Pick and preview a prompt theme like sorin or paradox without rewriting your config.

What is it built with?

ZshShellGit

How does it compare?

sorin-ionescu/preztotmux-plugins/tpmsindresorhus/pure
Stars14,52914,67814,236
LanguageShellShellShell
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

You must change your default shell to Zsh and open a fresh terminal for the config to take effect.

MIT license, you can use, modify, and redistribute it freely, including commercially, as long as you keep the copyright notice.

In plain English

Prezto is a configuration framework for Zsh. Zsh is one of the shells that runs in a terminal window on macOS and Linux, the place where commands like ls or git are typed. Out of the box Zsh has a lot of settings but very few defaults turned on, so most people who use it end up writing pages of configuration. Prezto is a ready-made set of those configuration files. Installing it gives a Zsh user sane defaults, useful aliases, helpful functions, tab completion that knows about many common tools, and a choice of prompt themes. Installation is described in the README in five numbered steps. The user starts a Zsh session, clones the prezto repository into a hidden folder under their home directory, runs a small loop that links the bundled config files into the right names, then changes their default shell to Zsh and opens a fresh terminal. There is also an optional path for people who keep their configuration under XDG_CONFIG_HOME. Prezto works with Zsh 4.3.11 or later. Once installed, Prezto is steered through a single file called .zpreztorc. It is built around the idea of "modules". Modules are bundles of related features, like one for git, one for editor key bindings, one for syntax highlighting, and so on. Most modules are disabled by default, and the README tells the user to browse the modules directory and add the ones they want to a pmodule list inside .zpreztorc. Prompt themes work the same way: the user lists them with "prompt -l", previews one with "prompt -p name", and sets a favourite in the config file. There is an updater command called zprezto-update that pulls down new changes and updates the bundled submodules, with manual git fallback instructions if there are conflicts. The README also notes that Prezto is best customised by forking on GitHub so personal tweaks are preserved, and points to the Zsh Reference Card and the zsh-lovers man page as further reading. The project is released under the MIT License.

Copy-paste prompts

Prompt 1
Install Prezto on a fresh macOS machine and walk me through the five README steps, with the exact commands to paste into Terminal.
Prompt 2
Show me the .zpreztorc snippet that enables the git, syntax-highlighting, and history-substring-search modules, plus the sorin prompt.
Prompt 3
Convert my existing oh-my-zsh config to Prezto. Here is my .zshrc <paste here>. Map each plugin to the equivalent Prezto module.
Prompt 4
Write a script that backs up my current dotfiles and installs Prezto under XDG_CONFIG_HOME instead of the default ~/.zprezto path.
Prompt 5
My zprezto-update command failed with a submodule conflict. Show me the manual git commands to recover without losing my custom .zpreztorc.

Frequently asked questions

What is prezto?

Configuration framework for Zsh that ships sensible defaults, aliases, tab completion, and prompt themes. You enable modules in .zpreztorc instead of writing pages of shell config.

What language is prezto written in?

Mainly Shell. The stack also includes Zsh, Shell, Git.

What license does prezto use?

MIT license, you can use, modify, and redistribute it freely, including commercially, as long as you keep the copyright notice.

How hard is prezto to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is prezto for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.