Zshify

March 14, 2026 ยท View on GitHub

A minimalistic touch to your Zsh prompt!

๐Ÿ“ฆ Zero dependencies / One command install / Fast and lightweight

Twitter stars

A minimalistic, one command installation to customize your Zsh prompt with colors, git info, and useful functions.


Table of Contents


๐Ÿš€ Quick Start

npx zshify

or

/bin/zsh -c "$(curl -fsSL https://raw.githubusercontent.com/nrjdalal/zshify/refs/heads/main/bin/script.zsh)"

Yeah that's it, no downloads, no hassle. A minimalistic installation for a minimalistic package.


๐Ÿ”ฅ Features

  • ๐ŸŽจ Minimal, informative prompt with colors
  • ๐Ÿ”€ Git branch, ahead/behind counts, and stash count
  • ๐ŸŸข๐ŸŸก๐Ÿ”ด Git file status โ€” untracked, modified, deleted (staged in parentheses)
  • ๐Ÿ“ฆ Package dependency counts for Node.js projects
  • โฑ๏ธ Command execution time
  • ๐Ÿ“ Useful file and directory functions
  • ๐Ÿ› ๏ธ Git workflow shortcuts with safety guards

๐Ÿ“– Advanced Experience

To enrich your terminal experience, install these tools via Homebrew:

brew install \
  bat btop fd fzf ripgrep zoxide \         # recommended tools
  zsh-autosuggestions \                    # fish-like suggestions
  zsh-history-substring-search \           # history search with up/down
  zsh-syntax-highlighting                  # command highlighting

๐Ÿ” What's Included

Prompt

โ”Œโ”€ username                              โ”Œโ”€ untracked (green)
โ”‚        โ”Œโ”€ current directory            โ”‚  โ”Œโ”€ modified (yellow)
โ”‚        โ”‚         โ”Œโ”€ git branch         โ”‚  โ”‚   โ”Œโ”€ staged files
โ”‚        โ”‚         โ”‚                     โ”‚  โ”‚   โ”‚
nrjdalal ~/project main ๐Ÿ’ 3 ๐Ÿ“ฆ5 โ†‘1 โ†“2 โ‰ก1 โ€ข2 โ€ข1 (โ€ข3)                 0.123s
>                        โ”‚  โ”‚   โ”‚  โ”‚  โ”‚                               โ”‚
                         โ”‚  โ”‚   โ”‚  โ”‚  โ””โ”€ stash count                  โ””โ”€ elapsed time
                         โ”‚  โ”‚   โ”‚  โ””โ”€ behind remote
                         โ”‚  โ”‚   โ””โ”€ ahead of remote
                         โ”‚  โ””โ”€ dependencies
                         โ””โ”€ devDependencies

Additional Tools

These are available when installed via the brew command above:

CommandDescription
btopinteractive system monitor โ€” btop
cat <file>syntax-highlighted output โ€” bat
fd <pattern>fast file search, respects .gitignore โ€” fd
fzfinteractive fuzzy finder (Ctrl+T, Alt+C) โ€” fzf
rg <pattern>fast text search in files โ€” ripgrep
z <dir>smart cd that learns frequent directories โ€” zoxide

๐Ÿ› ๏ธ Functions

File & Directory

CommandDescription
cdx <dir>create a directory and cd into it
killport <port|name>kill processes by port or name
lsshow hidden files with color and sorting when called without args
rename <name>rename current or existing directory
rmclear directory contents with safeguards for home/desktop

Git Workflow

CommandDescription
b <branch>switch to, track, or create a git branch
g "message"add, commit with conventional prefix, and push
gastage all changes
gc "message"commit with auto-prefixed message
pop [name]pop latest stash or pop by name
stash [name]stash changes or list stashes if clean
unstashlist and clear all stashes

Git Dangerous (with confirmation)

CommandDescription
git-mainmigrate default branch from master to main
only-commitsquash all history into a single commit
reset [ref]hard reset and force push
undodiscard last commit and force push

GitHub & Project Setup

CommandDescription
clone <repo>clone a GitHub repository via gh
mkrepo [--public]init repo, commit, and create GitHub repository
nextscaffold a Next.js project from template
switch [account]switch GitHub account via gh auth

โŒจ๏ธ Aliases

AliasCommand
addga
ccursor .
commitgc
crcursor -r .
mkcdcdx
showdesk / hidedesktoggle desktop icons
trashrm

โš™๏ธ Enhancements

  • git is wrapped to prevent accidental operations in $HOME or ~/Desktop
  • git checkout -b <branch> auto-switches if the branch already exists
  • npm and npx are aliased to bun and bunx when bun is available (use --real to bypass)

๐Ÿ”„ Background Tasks

Zshify runs a daily background task (via background.zsh) that:

  • Executes the profile setup script (profile.zsh)
  • Logs activity to ~/.logs/.brewlog
  • View logs with brewlog, clear with brewlog clear

๐Ÿ‘ค User Config

Add your personal configuration to ~/.zshify/config/user.zsh โ€” it's sourced last and won't be overwritten on updates.


๐Ÿ—‘๏ธ Uninstall

Soft uninstall โ€” remove from shell but keep files (preserves user.zsh config):

sed -i '' '/source ~\/.zshify\/config\//d' ~/.zshrc && exec zsh

Hard uninstall โ€” remove everything:

sed -i '' '/source ~\/.zshify\/config\//d' ~/.zshrc && rm -rf ~/.zshify && exec zsh