Introducing purr: Seamless Key Management for Developers
In the modern development workflow, managing multiple authentication keys and credentials can be a daily hassle. From SSH keys for server access to GPG keys for signing commits, developers often juggle various security tools while trying to maintain both convenience and security.
Enter purr - a ZSH plugin that brings harmony to your key management workflow by seamlessly integrating 1Password, SSH, and GPG into a single, elegant command.
The Key Management Challenge
Developers face several pain points with key management:
- Manually loading and unloading SSH keys throughout the day
- Configuring GPG for secure Git commit signing
- Maintaining GitHub credentials securely
- Switching between different key profiles for various projects
- Ensuring keys are properly secured when stepping away
Meet purr: Your Key Management Companion
This open-source ZSH plugin solves these challenges by providing:
- Unified Command Interface: One simple
purr
command handles all your key management needs - 1Password Integration: Secure storage and retrieval of your sensitive keys
- Automated Key Lifecycle: Seamless loading and unloading of SSH and GPG keys
- Git Signing Configuration: Automatic setup of commit signing
- Security-First Design: Built-in key unloading and 1Password locking with
purr lock
How It Works
purr simplifies key management into intuitive commands:
- Load Keys: Just type
purr
to load your keys and configure Git signing - Check Status: Use
purr check
to verify your key configuration - Secure Lock: Run
purr lock
when stepping away to unload keys and lock 1Password - Verbose Mode: Add
-v
to any command for detailed operation information
Perfect For...
- macOS Developers: Native support for the macOS development environment
- Security-Conscious Users: Integration with industry-standard security tools
- Git Power Users: Streamlined commit signing and credential management
- Team Developers: Consistent key management practices across teams
Getting Started
Installation is straightforward, especially with antidote:
# Using antidote
antidote bundle m3au/purr
# Or manual installation
git clone https://github.com/m3au/purr.git
source path/to/purr/init.zsh
Prerequisites
You'll need:
- macOS
- ZSH shell
- 1Password CLI (
op
) - GPG (
brew install gnupg
) - SSH client (built into macOS)
For extra flair, add lolcat
for colorful output: brew install lolcat
The Road Ahead
purr is actively evolving with exciting features on the horizon:
- Support for additional password managers (Bitwarden, KeePassXC, LastPass)
- YubiKey integration
- Multiple key profile support
- Terminal UI with charm.sh
- Team key management capabilities
- Audit logging
Join the purr Community
As an MIT-licensed project, purr welcomes contributions from the developer community. Whether you're interested in adding features, improving documentation, or reporting bugs, your input helps make key management better for everyone.
Try It Today
If you're tired of manual key management and want a more streamlined development workflow, give purr a try.
Visit GitHub to get started, and join us in making key management as simple as a purr.