Skip to content

richtan/envmint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 envmint

npm version license: MIT

Fill the .env you already have instead of copy-pasting secrets from five provider dashboards.

🌟 Highlights

  • Reads an existing .env file and updates selected keys in place.
  • Detects provider-related and generic semantic variables and shows an interactive picker.
  • Creates supported provider resources and credentials as new values through official CLIs or reviewed provider flows.
  • Runs provider CLIs with sanitized subprocess environments so target .env values do not hijack authentication.
  • Masks displayed env var values with fixed asterisks in summaries and redacts secrets in errors/debug output.
  • Keeps AI planning optional and user-confirmed.

ℹ️ Overview

envmint is an interactive Bun/TypeScript CLI for local development setup. Run it against an existing .env file, choose the values you want filled, confirm any external resource creation, and envmint writes the resulting provider-backed values back to the same file.

Current automation supports Neon database values, GitHub CLI auth token values, new GitHub App manifest credentials, Vercel project linking values, and Stripe CLI webhook signing secrets. Provider-shaped values that cannot be safely created or recovered, such as OpenAI API keys or Stripe dashboard API keys, are detected but shown as disabled with a manual setup reason.

Detailed documentation lives in docs/, including usage, configuration, provider support, architecture, troubleshooting, and release notes.

✍️ Authors

Created and maintained by Richie Tan.

🚀 Usage

envmint .env

Disable AI planning and use deterministic detection only:

envmint --no-ai .env

Print redacted command diagnostics:

envmint --debug .env

Given a .env file like this:

DATABASE_URL=
NEON_POSTGRES_PROJECT_ID=
NEON_POSTGRES_DB_PASSWORD=
GITHUB_TOKEN=
VERCEL_PROJECT_ID=

envmint will detect supported provider-related variables, offer provider candidates for generic semantic names such as MY_APP_NAME, ask which ones to fill, preflight required provider CLIs, ask before creating external resources, run any required browser handoff flows such as GitHub App creation, update .env in place, and print a redacted summary.

AI planning is optional. If AI_GATEWAY_API_KEY or VERCEL_AI_GATEWAY_API_KEY is present, envmint asks before sending the full .env contents to the configured AI model. Configure the model with ENVMINT_MODEL; disable AI planning with ENVMINT_AI=0, ENVMINT_AI=false, or --no-ai.

⬇️ Installation

Install from npm:

npm install -g envmint

Then run:

envmint .env

Minimum requirements:

  • Bun >=1.1.0 for the CLI runtime.
  • Provider CLIs for the providers you choose to automate, such as neon, gh, vercel, or stripe.

💭 Feedback and Contributing

Open bugs, feature requests, and provider-support ideas in GitHub Issues.

Contributions are welcome. Before changing behavior, read AGENTS.md and the development docs in docs/development.md. Documentation must stay updated with behavior, configuration, provider, architecture, safety, and release workflow changes.

envmint is released under the MIT License.

About

Autofill your .env

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors