Envilder
π Envilder is a CLI that securely centralizes your environment variables from AWS SSM as a single source of truth
Install / Use
/learn @macalbert/EnvilderREADME
ποΈ 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>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
awsorazurewith the--providerflag - βοΈ 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
- ποΈ Envilder βοΈ
- Why centralize environment variables?
- β What Envilder solves
- β How Envilder makes life easier
- π Table of Contents
- βοΈ Features
- πΎ Installation
- π Quick Start
- πΊοΈ Mapping File Format
- π οΈ How it works
- Frequently Asked Questions (FAQ)
- π Envilder vs. Alternatives
- π Roadmap
- π€ Contributing
- π Sponsors
- π License
βοΈ 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
.envand your cloud provider - βοΈ Multi-provider β AWS SSM Parameter Store and Azure Key Vault
- π― AWS Profile support β Use
--profileflag 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.vaultUrlin your map file or--vault-urlflag
pnpm add -g envilder
Or use your preferred package manager:
npm install -g envilder
π‘ Want to try without installing? Run
npx envilder --helpto 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:
π Get Started (3 steps)
After configuring your cloud provider credentials, you can begin managing your secrets.
AWS SSM (default)
-
Create a mapping file:
{ "DB_PASSWORD": "/my-app/db/password" } -
Push a secret to AWS SSM:
envilder --push --key=DB_PASSWORD --value=12345 --secret-path=/my-app/db/password -
Generate your .env file from AWS SSM:
envilder --map=param-map.json --envfile=.env
Azure Key Vault
-
Add
$configto your mapping file:{ "$config": { "provider": "azure", "vaultUrl": "https://my-vault.vault.azure.net" }, "DB_PASSWORD": "my-app-db-password" } -
Pull secrets from Azure Key Vault:
envilder --map=param-map.json --envfile=.envOr 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
- π Full Documentation β Visit envilder.com for the complete guide
- Requirements & Installation
- Push Command Guide
- Pull Command Guide
πΊοΈ 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
imsg
347.2kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
347.2kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
lobster
347.2kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
