npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vish288/zsh-config

v1.8.2

Published

Professional ZSH configuration for macOS with 1Password integration

Readme

🚀 Professional ZSH Configuration

A comprehensive, modular, and performance-optimized ZSH configuration for macOS development environments with integrated 1Password secrets management.

License: MIT macOS ZSH Version CI Tests Coverage Homebrew npm

✨ Features

🎯 Core Improvements

  • Zero dependency issues - No more > asdf required to initialize shell
  • No alias conflicts - Safe aliases that don't override system commands
  • Fast startup - Optimized lazy loading for performance
  • Modular design - Easy to customize and extend

🛠️ Development Tools

  • mise version management - Automatic Node.js, Python, Java version switching
  • Git integration - Enhanced git aliases and functions
  • Docker & Kubernetes - Productive container management shortcuts
  • Cloud tools - GCP, AWS integration ready

🛡️ Security & Organization

  • Full 1Password CLI integration - Complete secrets management system
  • Snake_case naming convention - Consistent organization standards
  • Secrets manager utility - CLI tool for managing 1Password secrets
  • Clean home directory - All configs organized in ~/.config/zsh/
  • Proper permissions - Security-focused file permissions
  • Comprehensive backup system - Automatic backups and restore capabilities

🚀 Quick Install

Homebrew (Recommended)

brew tap vish288/zsh-config
brew install zsh-config
cd $(brew --prefix)/share/zsh-config && ./install.zsh

One-liner (Homebrew)

brew install vish288/zsh-config/zsh-config && cd $(brew --prefix)/share/zsh-config && ./install.zsh

npm

npm install -g @vish288/zsh-config
cd $(npm root -g)/@vish288/zsh-config && ./install.zsh

Manual Install

git clone https://github.com/vish288/zsh-config.git ~/.config/zsh
cd ~/.config/zsh
./install.zsh

curl Install

curl -fsSL https://raw.githubusercontent.com/vish288/zsh-config/main/install.zsh | zsh

📁 Directory Structure

~/.config/zsh/
├── install.zsh            # Installation script
├── uninstall.zsh          # Uninstall script
├── update.zsh             # Update script
├── release.zsh            # Release management
├── test_config.zsh        # Configuration test
├── quick_test.zsh         # Fast validation test
├── manage_secrets.zsh     # 1Password secrets manager
├── zshrc                  # Main configuration
├── zprofile               # Login shell config
├── README.md              # This documentation
├── LICENSE                # MIT License
├── docs/                  # Documentation
│   └── CHANGELOG.md       # Version history and changelog
├── plugins/               # Plugin configurations
│   ├── oh-my-zsh.zsh      # Oh My Zsh setup
│   ├── powerlevel10k.zsh  # P10k theme config
│   └── modern-tools.zsh   # zoxide, fzf integration
├── aliases/               # Alias definitions
│   ├── core.zsh           # Essential aliases
│   ├── git.zsh            # Git shortcuts (90+)
│   ├── docker.zsh         # Docker commands
│   └── tools.zsh          # Development tools
├── functions/             # Custom functions
│   ├── core.zsh           # Utility functions
│   ├── git.zsh            # Git helpers (15)
│   ├── updates.zsh        # Unified update system
│   ├── kubernetes.zsh     # GKE/K8s utilities
│   ├── kubernetes.config.template.zsh  # K8s config template
│   ├── welcome.zsh        # Repo-aware welcome
│   └── system.zsh         # System utilities
├── secrets/               # Secure configurations (gitignored)
│   └── secrets.zsh        # 1Password tokens
└── themes/                # Theme customizations
    └── p10k.zsh           # Powerlevel10k config

🎨 What You Get

Aliases

# Git (safe, no conflicts)
gs     # git status
ga     # git add
gc     # git commit
gp     # git push
glog   # pretty git log

# Docker
d      # docker
dc     # docker-compose
dps    # docker ps with nice formatting
dlogs  # docker logs -f

# System
ll     # ls -alF
la     # ls -A
ports  # show listening ports

Functions

# Development
killport 8080        # Kill process on port
gac "commit msg"     # Git add, commit in one command
proj myproject       # Jump to project directory
nx-new workspace     # Create new Nx workspace

# System utilities
extract file.tar.gz  # Smart extraction
backup myfile        # Timestamped backup
sysinfo             # System information
weather Toronto      # Weather info

Performance Features

  • Lazy loading - mise, gcloud, heavy tools load on demand
  • 🧠 Smart completions - Fast and context-aware
  • 📊 50k history - With deduplication and search
  • 🔄 Auto cleanup - Temporary files cleaned automatically

🔧 Customization

Personal Settings (~/.zshrc.local)

Your personal settings are preserved in ~/.zshrc.local, which is automatically sourced.

# Add personal customizations (survives updates)
echo 'export MY_VAR="value"' >> ~/.zshrc.local
echo 'alias myalias="my command"' >> ~/.zshrc.local

Adding Aliases

Edit or create files in ~/.config/zsh/aliases/:

# Create custom aliases
echo 'alias myalias="my command"' >> ~/.config/zsh/aliases/custom.zsh

Adding Functions

Edit or create files in ~/.config/zsh/functions/:

# Add to ~/.config/zsh/functions/custom.zsh
myfunction() {
  echo "Custom function"
}

Kubernetes / GKE Database Tunneling

The configuration includes an interactive cloud-db command for connecting to Cloud SQL databases via GKE port forwarding.

Setup:

# Copy the template to create your local config (gitignored)
cp ~/.config/zsh/functions/kubernetes.config.template.zsh \
   ~/.config/zsh/functions/kubernetes.config.zsh

# Edit with your GCP project details
code ~/.config/zsh/functions/kubernetes.config.zsh

Configuration format:

# Environment configurations: env -> project|region|cluster
typeset -gA CLOUD_ENVS
CLOUD_ENVS=(
    [lower]="my-gcp-project-lower|us-central1|my-cluster-lower"
    [upper]="my-gcp-project-upper|us-central1|my-cluster-upper"
)

# Workspace configurations: workspace -> namespace|remote_port
typeset -gA CLOUD_WORKSPACES
CLOUD_WORKSPACES=(
    [dev]="my-app-dev|5432"
    [staging]="my-app-staging|5432"
    [prod]="my-app-prod|5432"
)

# Pod pattern for database proxy
CLOUD_DB_POD_PATTERN="sql-proxy"

Usage:

cloud-db                    # Interactive mode (uses fzf)
cloud-db -w dev             # Pre-select workspace
cloud-db -e lower -w dev -p 6432  # Direct mode

gke-auth lower              # Quick cluster authentication

Available Kubernetes aliases:

kctx / kuse / kns           # Context and namespace management
kpods / ksvc / kdep         # View resources
klogs / kexec / kdesc       # Operations
kwatch / kevents            # Monitoring

Configuring Secrets (1Password Integration)

Set up secure secrets management:

# 1. Install 1Password CLI (if not already installed)
brew install --cask 1password-cli

# 2. Sign in to 1Password
op signin

# 3. Create secrets in your vault
op item create --vault="Contracts" --title="my_api_token" --category="API Credential" credential="your-secret-here"

# 4. Configure in secrets.zsh
code ~/.config/zsh/secrets/secrets.zsh

# 5. Test the setup
~/.config/zsh/manage_secrets.zsh test

Snake_case naming convention: All secrets should use snake_case names (e.g., my_api_token, github_access_token)

🔄 Management Commands

Update Configuration

~/.config/zsh/update.zsh

Test Configuration

~/.config/zsh/test_config.zsh

Quick Test

~/.config/zsh/quick_test.zsh

Manage Secrets

# List all secrets
~/.config/zsh/manage_secrets.zsh list

# Test secrets loading
~/.config/zsh/manage_secrets.zsh test

# Add new secret
~/.config/zsh/manage_secrets.zsh add "secret_name" "secret_value"

Uninstall

~/.config/zsh/uninstall.zsh

🛠️ Prerequisites

The installer will automatically install these if missing:

  • Homebrew - Package manager for macOS
  • Oh My Zsh - ZSH framework
  • Powerlevel10k - Modern theme
  • ZSH plugins - autosuggestions, syntax highlighting, etc.
  • mise - Version manager (replaces asdf)
  • 1Password CLI - Secure secrets management

🐛 Troubleshooting

Shell doesn't load properly

# Test configuration
~/.config/zsh/test_config.zsh

# Check symlinks
ls -la ~/.zshrc ~/.zprofile ~/.p10k.zsh

mise not working

# Check mise installation
which mise
mise --version

# Reinstall if needed
brew uninstall mise
brew install mise

# Activate in current shell
eval "$(mise activate zsh)"

Reset to defaults

# Uninstall and restore defaults
~/.config/zsh/uninstall.zsh

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Commit changes: git commit -am 'Add feature'
  4. Push to branch: git push origin feature-name
  5. Submit a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


🎉 Enjoy your supercharged terminal!

If you find this configuration helpful, please ⭐ star the repository!