A minimal, fast zsh framework that stays out of your way.
forge theme # pick a theme interactively
forge doctor # health check
forge bench # benchmark startup time
j <pattern> # jump to directories you use often
- Fast first — every millisecond counts at shell startup
- Modular — only load what you use
- No magic — plain zsh, no compilation, no background daemons
- Growable — add your own themes and plugins trivially
git clone https://github.com/arunksingh16/zshforge ~/.zshforge
cd ~/.zshforge && zsh install.sh
exec zsh
| Theme | Style |
|---|---|
nebula |
Colorful two-line prompt with git status, time |
oxide |
Minimal single-line, warm rust tones |
aurora |
Gradient prompt with system vitals |
stealth |
Monochrome, distraction-free |
Switch: forge theme (interactive) or forge theme oxide (direct)
Fixes all common zsh history annoyances:
- No more duplicates (across sessions)
- Shared history across all iTerm tabs
- Prefix a command with a space to keep it private
forge::history::dedup— clean existing duplicatesforge::history::scrub— remove sensitive entriesforge::history::stats— see your top commands
Fast directory jumping with frecency scoring:
j project— jump to best matching directoryj— interactive picker (uses fzf if available)jl— list all tracked directories with scoresjclean— remove dead directory entries
Per-directory command snippet list — store the commands you keep forgetting:
forge pad— browse snippets for the current directory (fzf picker)forge pad -g— browse all snippets across all directoriesforge pad add "label" "cmd"— add a snippet for the current directoryforge pad add -g "label" "cmd"— add a global (dir-independent) snippetforge pad add "label" "cmd" -d "desc"— add with a short descriptionforge pad rm— remove a snippet (fzf picker)forge pad ls— list current directory snippets inlineforge pad hint on— print a dim snippet count when entering a directory
Selected snippets are pasted to your prompt, not auto-run — you review before hitting enter.
Activate:
forge edit # add "pad" to ZSHFORGE_PLUGINS
exec zshExample:
forge pad add "start gateway" "docker run -p 8080:8080 bifrost:latest" -d "AI gateway"
forge pad add "dev server" "npm run dev" -d "port 3000"
forge pad # open fzf picker, select → command lands on promptCreate ~/.zshforge/themes/mytheme.zsh-theme:
setopt PROMPT_SUBST
PROMPT='%F{cyan}%~%f > 'Then: forge theme mytheme
Create ~/.zshforge/plugins/myplugin/myplugin.plugin.zsh:
# Your plugin code hereAdd to config: forge edit → add myplugin to ZSHFORGE_PLUGINS
~/.zshforge/
├── zshforge.zsh # Main entry (sourced from .zshrc)
├── lib/
│ └── core.zsh # Shared utilities
├── themes/
│ ├── nebula.zsh-theme
│ ├── oxide.zsh-theme
│ ├── aurora.zsh-theme
│ └── stealth.zsh-theme
├── plugins/
│ ├── history/
│ ├── dirjump/
│ └── pad/
├── bin/
│ └── forge.zsh # CLI tool
└── install.sh
Stored at ~/.config/zshforge/config.zsh. Edit with forge edit.
MIT
