- Ferramenta de gerenciamento de variáveis de ambiente de próxima geração que supera as limitações do modelo tradicional
.env/.env.example, resolvendo de uma vez colaboração/IA/segurança/estabilidade de tipos
- Gerencia o esquema de variáveis de ambiente em um só lugar com
.env.schema, sem o risco de inconsistência entre o valor real e o exemplo, como acontece com .env.example
- Por meio de anotações com decoradores @env-spec, adiciona de forma declarativa ao arquivo
.env várias informações, como esquema, tipo, validação, exemplo, sensibilidade e gerenciamento externo de segredos
@required, @type=string, @sensitive, @example etc.
- Validação robusta: informa imediatamente, com mensagens claras, erros de configuração incorreta ou campos não preenchidos (bloqueando preventivamente antes do runtime)
- Geração automática de tipos com base no esquema, oferecendo segurança de tipos ao acessar variáveis de ambiente no código e suporte a IntelliSense na IDE
- Segurança: mascaramento automático de informações sensíveis (logs/console), detecção de vazamento em cliente empacotado/respostas
- Múltiplos ambientes e overrides: suporta configurações de ambiente complexas, como valores padrão, arquivos por ambiente, valores pessoais ignorados pelo git e combinação com env do processo
- Integração com segredos externos: carregamento dinâmico de segredos baseado em comandos, como 1Password e exec; suporte a plugins, criptografia local e vault de equipe em breve
- Independente de linguagem/runtime: além de JS/TS, é possível injetar env validado em qualquer linguagem ou processo, como em
varlock run -- python my.py
- Pode substituir totalmente o dotenv: basta trocar o import do dotenv por varlock para usar imediatamente validação, geração automática de tipos, reforço de segurança, múltiplos ambientes e integração com segredos
2 comentários
Então isso significa que
.env.schemaprecisa ser incluído no.gitignore?Ah... então a ideia é deixar as informações no
.enve o.env.schemafaz a leitura, né.