If you are looking for a tool that solves some of these problems, but also provides a more complete toolkit for dealing with config, check out https://dmno.dev
It has a plugin system and while we have an encrypted file plugin that works like places-env, we also support syncing secrets from places like 1Password, Bitwarden, Infisical, with more plugins in the works (aws, gcp, azure).
Additionally it handles:
- validation and coercion
- full type-safety (currently only for TypeScript, but generated types for other languages are coming soon!)
- built in documentation for your config
- sharing config across projects in a monorepo
- composing config any way you want, not just limited to an env switch and string templates
- manage all config, not just sensitive values
- better conrol of static/dynamic config (which values can be replaced at build time)
- security features (log redaction, leak prevention) for JS/TS
- drop in integrations for many frameworks and tools
- additional tools for dealing with various platforms (vercel/netlify/cloudflare/etc) that provide pre-built schemas defining env vars they inject, and additional tooling
- flexible type system to reuse existing config type definitions that come with built-in validations, docs, etc
It's built in TypeScript, and you define your config schema in a TS file, but it is designed to be used in projects in any language, providing a unified config system for your whole stack.
Would love to hear what you think. Pop into our discord and say hi :) https://chat.dmno.dev