Skip to content
/ purr Public

A personal CLI tool that manages my SSH/GPG keys through 1Password. It automates the process of loading keys from my vault, configuring Git commit signing, and handling GitHub credentials. Features secure key unloading and system locking. Built for macOS with colorized output support via lolcat.

License

Notifications You must be signed in to change notification settings

m3au/purr

Repository files navigation

🐱 purr

[purr]

GitHub release (latest by date) License GitHub issues GitHub pull requests Tests CodeQL Maintainability codecov ZSH Plugin Project Status: Active Maintenance Last Commit npm version npm downloads DeepSource Codacy Badge Security Rating Twitter Follow GitHub Sponsors Reddit User Karma macOS 1Password GPG SSH

A ZSH plugin for seamless key management that integrates 1Password, SSH, and GPG. Securely loads and unloads keys, configures Git signing, and manages GitHub credentials - all with a simple purr command.

🚀 Features

  • 🔐 Seamless integration with 1Password for secure key storage
  • 🔑 Automated SSH key management
  • 📝 GPG key handling and Git commit signing
  • 🔄 GitHub credentials configuration
  • 🔒 Secure key unloading with lock command
  • 🔍 Key status checking capabilities

📋 Prerequisites

Required

  • macOS
  • ZSH shell
  • 1Password CLI (op) installed and configured
  • GPG installed (brew install gnupg)
  • SSH client (built into macOS)

Optional

  • lolcat for colorful output (brew install lolcat)

🛠 Installation

Using a ZSH plugin manager

Manual installation

  1. Clone the repository

  2. Source the init script in your ZSH configuration (e.g., ~/.zshrc):

    source path/to/purr/init.zsh
  3. Add the plugin to your ZSH plugins list:

    antidote bundle <path-to-purr>

🔑 Usage

Implemented Commands

  • purr - Loads keys and configures Git signing
  • purr lock - Unloads keys and locks 1Password
  • purr check - Checks key status
  • purr -v - Verbose mode for any command
  • purr -h - Shows help message

Coming Soon

  • purr github - Configures GitHub credentials
  • purr git - Configures Git signing
  • purr gpg - Manages GPG keys
  • purr ssh - Manages SSH keys
  • purr 1password - Manages 1Password integration
  • purr op - 1Password CLI shortcuts
  • purr key - Key obfuscation utilities

🗺 Roadmap

Password Manager Integration

  • Bitwarden support
  • KeePassXC support
  • LastPass support
  • Dashlane support

Key Management

  • YubiKey integration
  • Multiple key profile support
  • Key rotation automation
  • Backup and recovery workflows

Additional Features

  • Terminal UI with charm.sh
  • Cloud key provider integration
  • Team key management
  • Audit logging

🧪 Testing

bun test

📄 License

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

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

About

A personal CLI tool that manages my SSH/GPG keys through 1Password. It automates the process of loading keys from my vault, configuring Git commit signing, and handling GitHub credentials. Features secure key unloading and system locking. Built for macOS with colorized output support via lolcat.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages