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

valt-cli

v0.2.1

Published

CLI tool for managing secrets and parameters in your projects, integrating with AWS Secrets Manager.

Readme

valt

valt is a simple CLI tool for managing secrets and parameters in your projects.
It integrates with AWS Secrets Manager and works seamlessly across both development and production environments.

With valt, you can manage environment variables declaratively per profile and leave access control to AWS IAM roles.


Quick Start

  1. Install valt.
npm install -g valt-cli
  1. Make sure AWS CLI is configured.
aws configure
  1. Create a secret in AWS Secrets Manager that valt can access.

  2. Add a valt.yaml configuration to your project:

# yaml-language-server: $schema=https://github.com/eniaq/valt/releases/download/0.1.0/valt.schema.json

version: "0.1"

defaults:
  profile: dev
  vault:
    dev:
      - provider: aws
        secret: valt-test
      - provider: dotenv
        file: .env.local

env:
  API_TOKEN:
    description: "An API token for a service"
    policy: optional
  PORT:
    default:
      dev: "3000"
      prod: "80"
    vault:
      - provider: aws
        enabled: false
  1. Retrieve environment variables:
$ valt
Profile: dev
┌───────────┬─────────┬──────────┬──────┐
│ Name      │ Value   │ Provider │ Info │
├───────────┼─────────┼──────────┼──────┤
│ API_TOKEN │ <unset> │          │      │
│ PORT      │ ****    │ default  │      │
└───────────┴─────────┴──────────┴──────┘
  1. Set a new value:
$ valt set API_TOKEN "token_****"
  1. Output as .env file:
$ valt >> .env.test
  1. You can also specify AWS profiles easily:
AWS_PROFILE=admin valt

Features

  • 🛡️ Manage Secrets with AWS Secrets Manager
    valt uses AWS Secrets Manager as the primary backend for storing secrets. It does not handle secrets directly — access control is delegated to AWS IAM.

  • 📝 Declarative Configuration with valt.yaml
    Define your secrets, default values, and policies clearly. Profiles (dev, prod, etc.) are first-class citizens.

  • 🔄 Multiple Sources Support You can combine multiple secret sources. When .env files are specified, they have priority over AWS Secrets Manager for those variables.

  • 📜 Schema Validation
    valt.yaml can be validated with the provided JSON schema for safety and editor integration.

  • 🔍 Flexible Command Options

    • -c, --config <config>: Path to configuration file
    • -p, --profile <profile>: Profile name override
    • -f, --format <format>: Output as table, dotenv, or auto
    • -s, --show: Show secret values in output (only with table format)

Commands

Show secrets

valt [options]

Options:

  • -c, --config <config> — Path to the valt.yaml
  • -p, --profile <profile> — Override default profile
  • -f, --format <format> — Output format: table, dotenv, or auto
  • -s, --show — Show values explicitly in the table

Set a secret

valt set <name> [value] [options]

Options:

  • -c, --config <config> — Path to the valt.yaml
  • -p, --profile <profile> — Override default profile
  • --file <file> — Read secret value from a file

Configuration

The valt.yaml file defines how secrets and parameters are managed.

See config.md for details.

License

MIT