Zshify
March 14, 2026 ยท View on GitHub
A minimalistic touch to your Zsh prompt!
๐ฆ Zero dependencies / One command install / Fast and lightweight
A minimalistic, one command installation to customize your Zsh prompt with colors, git info, and useful functions.
Table of Contents
- Quick Start
- Features
- Advanced Experience
- What's Included
- Functions
- Aliases
- Enhancements
- Background Tasks
- User Config
- Uninstall
๐ 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:
| Command | Description |
|---|---|
btop | interactive system monitor โ btop |
cat <file> | syntax-highlighted output โ bat |
fd <pattern> | fast file search, respects .gitignore โ fd |
fzf | interactive 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
| Command | Description |
|---|---|
cdx <dir> | create a directory and cd into it |
killport <port|name> | kill processes by port or name |
ls | show hidden files with color and sorting when called without args |
rename <name> | rename current or existing directory |
rm | clear directory contents with safeguards for home/desktop |
Git Workflow
| Command | Description |
|---|---|
b <branch> | switch to, track, or create a git branch |
g "message" | add, commit with conventional prefix, and push |
ga | stage 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 |
unstash | list and clear all stashes |
Git Dangerous (with confirmation)
| Command | Description |
|---|---|
git-main | migrate default branch from master to main |
only-commit | squash all history into a single commit |
reset [ref] | hard reset and force push |
undo | discard last commit and force push |
GitHub & Project Setup
| Command | Description |
|---|---|
clone <repo> | clone a GitHub repository via gh |
mkrepo [--public] | init repo, commit, and create GitHub repository |
next | scaffold a Next.js project from template |
switch [account] | switch GitHub account via gh auth |
โจ๏ธ Aliases
| Alias | Command |
|---|---|
add | ga |
c | cursor . |
commit | gc |
cr | cursor -r . |
mkcd | cdx |
showdesk / hidedesk | toggle desktop icons |
trash | rm |
โ๏ธ Enhancements
gitis wrapped to prevent accidental operations in$HOMEor~/Desktopgit checkout -b <branch>auto-switches if the branch already existsnpmandnpxare aliased tobunandbunxwhen bun is available (use--realto 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 withbrewlog 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