https://github.com/shyndman/zush
Mid-performance ZSH configuration framework with instant prompts and lazy loading. Features plugin management, auto-compilation, and sub-200ms startup times. 🦥
https://github.com/shyndman/zush
dotfiles plugin-manager shell zsh zshrc zwc
Last synced: about 1 month ago
JSON representation
Mid-performance ZSH configuration framework with instant prompts and lazy loading. Features plugin management, auto-compilation, and sub-200ms startup times. 🦥
- Host: GitHub
- URL: https://github.com/shyndman/zush
- Owner: shyndman
- License: mit
- Created: 2025-08-02T07:10:24.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-04-05T12:49:15.000Z (about 2 months ago)
- Last Synced: 2026-04-05T14:30:07.219Z (about 2 months ago)
- Topics: dotfiles, plugin-manager, shell, zsh, zshrc, zwc
- Language: Shell
- Homepage:
- Size: 313 KB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Zush 🦥 - Mid-Performance ZSH Configuration
[](https://github.com/shyndman/zush/actions/workflows/pre-commit.yml)
[](LICENSE)
[](https://www.zsh.org/)
My personal ZSH configuration framework.
A performance-aware ZSH configuration designed for sub-200ms startup times while maintaining full functionality.
## Installation
```bash
curl -fsSL https://raw.githubusercontent.com/shyndman/zush/main/install.sh | zsh
```
## Features
- **Instant Prompts** - Basic prompt appears immediately, full prompt loads after ~129ms
- **Plugin Management** - Simple `zushp user/repo` command to install GitHub plugins
- **Lazy Loading** - Tools like nvm, pyenv, cargo load only when needed
- **Auto-compilation** - All ZSH files compiled with zcompile for faster loading
- **Smart Caching** - Environment changes cached for instant startup
## Commands
```bash
zushp user/repo # Install plugin
zushp_update # Update all plugins
zush_clean # Clean all caches and plugins
```
## Development
### Pre-commit checks
1. Install the tooling dependencies: `pre-commit`, `shellcheck`, and `shfmt` (Homebrew: `brew install pre-commit shellcheck shfmt`).
2. Enable hooks locally with `pre-commit install`.
3. Run everything once before sending a PR: `pre-commit run --all-files`.
Hooks currently enforce:
- `shellcheck` (with Zsh-friendly flags) on rc.d scripts, `home/.zshenv`, `install.sh`, and any shell helpers under `scripts/`.
- `shfmt --diff` on Bash-compatible scripts (`install.sh`, `scripts/*.sh`).
- `zsh -n` syntax validation across `.zsh/.sh` sources plus completions.
- A `zcompile` dry run on `lib/*.zsh`, `rc.d/*.zsh`, and `home/.zshenv` to ensure everything remains compilable.
## Performance
Current startup time: ~129ms with instant prompts providing immediate visual feedback.
---
*Mid-performance by design. 🦥*