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

@vietor/serun

v0.9.5

Published

Secure environment variable runner

Downloads

36

Readme

serun

npm

Secure environment variable runner.

Installation

npm install -g @vietor/serun

Quick Start

  1. Set the safe key environment variable:
export SERUN_SAFEKEY="your-safe-key"
  1. Configure environment variables:
serun-cfg set API_KEY abc123
  1. Run commands with encrypted environment variables:
serun npm run dev

Commands

serun

Execute commands with encrypted environment variables loaded from ~/.serun/global and optionally a channel-specific file.

Usage: serun [options] <command> [args...]

Options:
  -h, --help           Show help message
  -V, --version        Show version number
  -c, --channel <name> Load additional env from ~/.serun/<name>

Description:
  Load encrypted environment variables from ~/.serun/global and optionally
  from a channel-specific file, then execute the specified command.

Examples:
  serun npm install           Run with global env
  serun -c dev npm run        Run with global + ~/.serun/dev
  serun --channel prod node   Run with global + ~/.serun/prod

serun-cfg

Configure encrypted environment variables for use with serun.

Usage: serun-cfg [options] <action> [args...]

Options:
  -h, --help           Show help message
  -V, --version        Show version number
  -c, --channel <name> Target config file ~/.serun/<name> (default: global)

Actions:
  import <file>        Import environment variables from a file (e.g., .env)
  set <key> <value>    Set an environment variable
  del <key1> [key2...] Delete one or more environment variables
  delete               Alias for del
  show                 Show all saved environment variables from the config
  list                 List all channel names (ignores -c option)

Description:
  Configure encrypted environment variables for serun.
  Variables are stored in ~/.serun/global or channel-specific files.

Examples:
  serun-cfg set API_KEY abc123        Set global variable
  serun-cfg -c dev set DB_URL pg://   Set variable in dev channel
  serun-cfg -c prod show              Show variables in prod channel
  serun-cfg del API_KEY DB_URL        Delete multiple variables
  serun-cfg import ./project.env      Import from .env file

Variable References

Environment variables can reference other variables using ${VAR} syntax:

# Set base URL
serun-cfg set BASE_URL https://api.example.com

# Reference BASE_URL in another variable
serun-cfg set API_ENDPOINT "${BASE_URL}/v1"
# API_ENDPOINT resolves to: https://api.example.com/v1

# References can use system environment variables
serun-cfg set LOG_DIR "${HOME}/logs"

Notes:

  • References are resolved when serun loads the environment
  • If a referenced variable is not found, it resolves to an empty string
  • Multiple references in a single value are all resolved

Environment Variables

| Variable | Description | |----------|-------------| | SERUN_SAFEKEY | Safe key for encrypting/decrypting environment variables |

Storage

Environment variables are stored encrypted in:

  • ~/.serun/global - Default global configuration
  • ~/.serun/<channel> - Channel-specific configurations

Security

  • All environment variables are encrypted using AES-256-CBC
  • The safe key (SERUN_SAFEKEY) is never stored on disk
  • Each channel provides isolated environment variable sets