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

keyvault-tui

v2.0.1

Published

A beautiful Terminal User Interface (TUI) for exploring Azure Key Vault secrets. Built with Bun and TypeScript.

Readme

keyvault-tui

A beautiful Terminal User Interface (TUI) for exploring Azure Key Vault secrets. Built with Bun and TypeScript.

Features

  • 🔑 Browse Key Vault secrets across all Azure subscriptions
  • 🔍 Real-time filtering and search
  • 📝 View secret metadata and values
  • ✏️ Create new secrets
  • ✏️ Edit secret values in-place
  • 📋 Copy secrets to clipboard (macOS)
  • 🔄 Rename secrets (creates new, attempts to delete old)
  • 📦 Move secrets between Key Vaults (non-destructive copy)
  • ⌨️ Vim-like navigation and commands
  • 🎨 Clean, responsive terminal interface

Built With

This application is built using OpenTUI, a TypeScript library for building terminal user interfaces. OpenTUI provides the foundational TUI framework with native Zig rendering for high-performance terminal graphics.

Installation

Prerequisites

Quick Start

# Ensure you're logged into Azure
az login

# Run the application
bunx keyvault-tui

Usage

Navigation

  • Tab - Switch focus between filter and list
  • / - Jump to filter/search input
  • ↑↓ or j/k - Navigate list items
  • Enter - Select vault or open secret details
  • Esc - Go back one level (detail → list → vault selection)
  • b - Alternative back navigation
  • ? - Toggle in-app help overlay
  • 1–6 - Jump to recently used Key Vaults (slots shown in header)

Secret Management

When viewing a secret (after pressing Enter on it):

  • n - Create new secret (prompts for name, then value)
  • e - Edit secret value
  • c - Copy secret value to clipboard
  • r - Rename secret (creates new with same value)
  • m - Move/copy secret to another Key Vault
  • d - Delete the current secret (honors soft-delete/purge protection settings in Azure Key Vault)

Commands

  • :q or :exit - Quit application (vim-style)
  • :vault or :kv - Return to the Key Vault selection screen
  • :vault <name> or :kv <name> - Switch directly to another Key Vault by name (partial names allowed)
  • Esc - Close command bar or navigate back

Workflow

  1. Select Key Vault: Application loads all Key Vaults from your Azure subscriptions
  2. Browse Secrets: Use filter to find secrets, press Enter to view details
  3. Manage Secrets: Use keyboard shortcuts to create, edit, copy, rename, or move secrets
  4. Navigate: Use Esc to go back to previous views

Development

Local Development

# Clone and setup
git clone <repository>
cd keyvault-tui
bun install

# Build OpenTUI native libraries
bun run opentui:build

# Run locally
bun run kv:explorer

# Or run smoke test (no Azure required)
bun run kv:explorer --smoke-test

Testing Local Package

# Test the full packaging pipeline
bun run pack:test

This script builds the native libraries, creates an npm package, installs it globally, tests it with smoke test, and cleans up.

Publishing

  1. Build native libraries: bun run opentui:build
  2. Version bump: npm version patch|minor|major
  3. Pack and verify: npm pack && tar -tf keyvault-tui-*.tgz | grep libopentui
  4. Publish: npm publish --access public

Architecture

  • Frontend: TypeScript with OpenTUI for terminal rendering
  • Backend: Azure CLI for authentication, @azure/keyvault-secrets for Key Vault operations
  • Native Layer: Zig libraries (via OpenTUI) for high-performance terminal graphics
  • Packaging: Vendored OpenTUI with cross-platform native libraries included

Troubleshooting

Common Issues

  1. "Azure CLI not found" - Install Azure CLI and run az login
  2. "Failed to load Key Vaults" - Ensure you have proper Azure permissions
  3. Native library errors - Run bun run opentui:build to rebuild platform libraries

Debug Mode

Run with smoke test to verify installation without Azure dependencies:

bunx keyvault-tui --smoke-test

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with bun run pack:test
  5. Submit a pull request

License

[Your License Here]

Acknowledgments

  • Built with OpenTUI by the SST team
  • Inspired by modern terminal applications and vim-like interfaces