zshify
v15.0.0
Published
A minimalistic touch to your prompt!
Maintainers
Readme
Zshify
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 zshifyor
/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
- 📦 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
│ ┌─ current directory
│ │ ┌─ git branch
│ │ │
nrjdalal ~/project main 💠3 📦5 ↑1 ↓2 ≡1 0.123s
> │ │ │ │ │ │
│ │ │ │ └─ stash count └─ elapsed time
│ │ │ └─ behind remote
│ │ └─ ahead of remote
│ └─ dependencies
└─ devDependenciesAdditional 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 zshHard uninstall — remove everything:
sed -i '' '/source ~\/.zshify\/config\//d' ~/.zshrc && rm -rf ~/.zshify && exec zsh