Skip to content

abhay-factory/locksmith

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Locksmith

A macOS menu bar app that monitors the status of your developer credentials and services at a glance.

Built as a SwiftBar plugin.

What it looks like

🔑
───────────────────────────────────────
✅ AWS      — Account 123456789 (2070h remaining)
✅ GCP      — user@company.com
✅ GitHub   — username
✅ Axiom    — org-name
✅ WorkOS   — user@company.com (75h remaining)
✅ Slack    — Workspace Name
✅ Linear   — workspace-slug
✅ Notion   — connected
✅ Gmail    — user@company.com
───────────────────────────────────────
⚙️  Settings
   ✓ AWS
   ✓ GCP
   ...
  • Green = authenticated / running
  • Yellow = app not running
  • Red = expired or missing credentials
  • Badge count shows number of credential issues

Supported services

Service What it checks Expiry info
AWS aws sts get-caller-identity SSO session remaining time from cache
GCP gcloud auth print-access-token Tokens auto-refresh; no expiry shown
GitHub gh auth status Shows expiry if using fine-grained PAT
Axiom API call with token from ~/.axiom.toml API tokens don't expire
WorkOS Decodes JWT from ~/.factory/auth.encrypted Token expiry countdown
Slack Process check + workspace name from app data N/A
Linear Process check + workspace from app data N/A
Notion Process check N/A
Gmail Mail.app process check + account email N/A

Prerequisites

  • macOS
  • SwiftBar (brew install --cask swiftbar)
  • Python 3 (ships with macOS)
  • CLI tools for services you want to monitor:
    • aws CLI (for AWS)
    • gcloud CLI (for GCP)
    • gh CLI (for GitHub)
    • curl (for Axiom)

Install

git clone https://github.com/sumeet-k-agarwal/locksmith.git
cd locksmith
chmod +x install.sh
./install.sh

The install script will:

  1. Install SwiftBar via Homebrew if not present
  2. Copy the plugin to ~/Library/Application Support/SwiftBar/Plugins/
  3. Copy icons to ~/.config/locksmith/icons/
  4. Create a default config at ~/.config/locksmith/config

Then open SwiftBar and point it at your plugins directory.

Configuration

Toggle services on/off by editing ~/.config/locksmith/config:

aws=1
gcp=1
github=1
axiom=1
workos=0
slack=1
linear=1
notion=0
gmail=1

Set to 1 to show, 0 to hide. You can also toggle from the menu bar via Settings.

Refresh interval

The filename locksmith.1h.sh means it refreshes every hour. Rename to change:

  • locksmith.30m.sh — every 30 minutes
  • locksmith.5m.sh — every 5 minutes
  • locksmith.1d.sh — daily

You can also click Refresh All in the menu.

Adding custom services

Add a new check_yourservice() function in the plugin script that prints status|detail where status is one of: ok, warn, expired, missing, error. Then add the service name to ALL_SERVICES and the corresponding entries in display_name() and fix_cmd().

Uninstall

./uninstall.sh

License

MIT

About

macOS menu bar credential monitor — SwiftBar plugin that tracks AWS, GCP, GitHub, Axiom, WorkOS, Slack, Linear, Notion, Gmail auth status

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%