SkillAgentSearch skills...

Envilder

πŸš€ Envilder is a CLI that securely centralizes your environment variables from AWS SSM as a single source of truth

Install / Use

/learn @macalbert/Envilder

README

πŸ—οΈ Envilder ☁️

<p align="center"> <img src="https://github.com/user-attachments/assets/8a7188ef-9d8d-45fb-8c37-3af718fb5103" alt="Envilder"> </p> <p align="center"> <b>Automate .env and secret management with Envilder</b><br> <span>Streamline your environment setup with AWS SSM Parameter Store or Azure Key Vault</span> </p>

CodeRabbit Pull Request Reviews

npm version npm downloads CI Tests Coverage Report Known Vulnerabilities MIT License

Why centralize environment variables?

Envilder is a CLI tool for .env automation, cloud secrets management, and secure environment variable sync. Generating and maintaining consistent .env files is a real pain point for any development team. From outdated secrets to insecure practices, the risks are tangible. Envilder eliminates these pitfalls by centralizing and automating secret management across real-world environments (dev, test, production) in a simple, secure, and efficient way. Use Envilder to automate .env files, sync secrets with AWS SSM Parameter Store or Azure Key Vault, and streamline onboarding and CI/CD workflows.


❗ What Envilder solves

  • Desync between environments (dev, prod)
  • Secrets not properly propagated across team members
  • CI/CD pipeline failures due to outdated or missing .env files
  • Slow and manual onboarding processes
  • Security risks from sharing secrets via Slack, email, or other channels
  • Insecure .env practices and manual secret sharing

βœ… How Envilder makes life easier

  • πŸ›‘οΈ Centralizes secrets in AWS SSM Parameter Store or Azure Key Vault
  • ☁️ Multi-provider support β€” choose aws or azure with the --provider flag
  • βš™οΈ Generates .env files automatically for every environment
  • πŸ”„ Applies changes idempotently and instantly
  • πŸ” Improves security: no need to share secrets manually; everything is managed via your cloud provider
  • πŸ‘₯ Simplifies onboarding and internal rotations
  • πŸš€ Enables cloud-native, infrastructure-as-code secret management
  • πŸ€– Perfect for DevOps, CI/CD, and team sync

πŸ“š Table of Contents


βš™οΈ Features

  • πŸ”’ Strict access control β€” IAM policies (AWS) or RBAC (Azure) define access to secrets across stages (dev, staging, prod)
  • πŸ“Š Auditable β€” All reads/writes are logged in AWS CloudTrail or Azure Monitor
  • 🧩 Single source of truth β€” No more Notion, emails or copy/paste of envs
  • πŸ” Idempotent sync β€” Only what's in your map gets updated. Nothing else is touched
  • 🧱 Zero infrastructure β€” Fully based on native cloud services. No Lambdas, no servers, no fuss

🧱 Feature Status

  • πŸ€– GitHub Action β€” Integrate directly in CI/CD workflows
  • πŸ“€ Push & Pull β€” Bidirectional sync between local .env and your cloud provider
  • ☁️ Multi-provider β€” AWS SSM Parameter Store and Azure Key Vault
  • 🎯 AWS Profile support β€” Use --profile flag for multi-account setups

πŸ’Ύ Installation

πŸ›  Requirements:

  • Node.js v20+ (cloud-native compatible)
  • AWS provider: AWS CLI installed and configured; IAM user/role with ssm:GetParameter, ssm:PutParameter
  • Azure provider: Azure CLI installed; vault URL configured via $config.vaultUrl in your map file or --vault-url flag
pnpm add -g envilder

Or use your preferred package manager:

npm install -g envilder

πŸ’‘ Want to try without installing? Run npx envilder --help to explore the CLI instantly.

πŸ’‘ New to AWS SSM? AWS Systems Manager Parameter Store provides secure storage for configuration data and secrets:

πŸ’‘ New to Azure Key Vault? Azure Key Vault safeguards cryptographic keys and secrets used by cloud apps:

πŸ€– GitHub Action

Use Envilder directly in your CI/CD workflows with our official GitHub Action:

AWS SSM (default):

- name: Configure AWS Credentials
  uses: aws-actions/configure-aws-credentials@v5
  with:
    role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
    aws-region: us-east-1

- name: Pull secrets from AWS SSM
  uses: macalbert/envilder/github-action@v0.8.0
  with:
    map-file: param-map.json
    env-file: .env

Azure Key Vault:

- name: Azure Login
  uses: azure/login@v2
  with:
    client-id: ${{ secrets.AZURE_CLIENT_ID }}
    tenant-id: ${{ secrets.AZURE_TENANT_ID }}
    subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- name: Pull secrets from Azure Key Vault
  uses: macalbert/envilder/github-action@v0.8.0
  with:
    map-file: param-map.json
    env-file: .env
    provider: azure
    vault-url: ${{ secrets.AZURE_KEY_VAULT_URL }}

πŸ“– View full GitHub Action documentation


πŸš€ Quick Start

πŸŽ₯ Video Demonstration

Watch how easy it is to automate your .env management in less than 1 minute:

Watch the video

🏁 Get Started (3 steps)

After configuring your cloud provider credentials, you can begin managing your secrets.

AWS SSM (default)

  1. Create a mapping file:

    {
      "DB_PASSWORD": "/my-app/db/password"
    }
    
  2. Push a secret to AWS SSM:

    envilder --push --key=DB_PASSWORD --value=12345 --secret-path=/my-app/db/password
    
  3. Generate your .env file from AWS SSM:

    envilder --map=param-map.json --envfile=.env
    

Azure Key Vault

  1. Add $config to your mapping file:

    {
      "$config": {
        "provider": "azure",
        "vaultUrl": "https://my-vault.vault.azure.net"
      },
      "DB_PASSWORD": "my-app-db-password"
    }
    
  2. Pull secrets from Azure Key Vault:

    envilder --map=param-map.json --envfile=.env
    

    Or use CLI flags to override:

    envilder --provider=azure --vault-url=https://my-vault.vault.azure.net --map=param-map.json --envfile=.env
    

Your secrets are now managed and versioned from your cloud provider. Add .env to your .gitignore for security. Envilder is designed for automation, onboarding, and secure cloud-native workflows.

πŸ“š Quick Links


πŸ—ΊοΈ Mapping File Format

The mapping file (param-map.json) is the core of Envilder. It maps environment variable names to secret paths in your cloud provider. You can optionally include a $config section to declare which provider and settings to use.

Basic Format (AWS SSM β€” default)

When no $config is present, Envilder defaults to AWS SSM Parameter Store:

{
  "API_KEY": "/myapp/prod/api-key",
  "DB_PASSWORD": 

Related Skills

View on GitHub
GitHub Stars134
CategoryDevelopment
Updated1d ago
Forks4

Languages

TypeScript

Security Score

100/100

Audited on Apr 2, 2026

No findings