You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(cli): Implementar comando envguard init para inicializacao de configuracao e templates #16
Implementar o subcomando \�nvguard init\ para agilizar o setup de novos projetos, gerando o arquivo de configuracao padrao .envguard.yaml\ comentado e oferecendo a opcao de gerar templates seguros .env.example\ a partir de variaveis detectadas (com valores limpos).
Tarefas
Implementar subcomando \init\ na CLI com suporte a flags (--force, --template).
Gerar arquivo .envguard.yaml\ com comentarios explicativos e padroes de seguranca recomendados.
Implementar geracao de .env.example\ sanitizado (mantendo chaves, removendo todos os valores sensiveis).
Tratar com seguranca cenarios onde arquivos ja existem, solicitando confirmacao ou exigindo --force.
Adicionar testes unitarios para a CLI e testes de geracao de arquivos.
Especificação Técnica: Subcomando envguard init e Geração de Templates
1. Visão Geral
Adição do subcomando init ao �nvguard para inicializar repositórios com o arquivo de configuração .envguard.yaml (comentado e com regras de segurança recomendadas) e, opcionalmente, gerar um template seguro .env.example sanitizado a partir de variáveis locais.
2. Interface da CLI
bash envguard init [flags]
Flags suportadas:
-p, --path : Diretório destino para criação dos arquivos (default: ".").
-f, --force: Força sobrescrita de arquivos pré-existentes (.envguard.yaml, .env.example).
-t, --template: Gera o arquivo de template .env.example.
--template-from : Caminho para o arquivo .env fonte a ser sanitizado (opcional; se omitido, procura .env no diretório alvo; se não existir, gera boilerplate seguro).
-h, --help: Exibe instruções de ajuda do subcomando init.
3. Camadas e Arquitetura
Pacote internal/initializer:
SanitizeEnv(r io.Reader) string: Extrai chaves e comentários preservando a estrutura visual, esvaziando todos os valores para KEY=.
GenerateConfig(targetDir string, force bool) error: Escreve .envguard.yaml comentado com seções explicativas para �ersion, scanner.ignore_dirs, detector.custom_patterns, detector.allowlist e detector.severity_overrides.
GenerateTemplate(targetDir, sourceEnvPath string, force bool) error: Gera .env.example sanitizado ou padrão.
Proteção de colisões de arquivo com erro explícito na ausência de --force.
Activity
joaooncode commentedon Sep 2, 2026
Especificação Técnica: Subcomando envguard init e Geração de Templates
1. Visão Geral
Adição do subcomando init ao �nvguard para inicializar repositórios com o arquivo de configuração .envguard.yaml (comentado e com regras de segurança recomendadas) e, opcionalmente, gerar um template seguro .env.example sanitizado a partir de variáveis locais.
2. Interface da CLI
bash envguard init [flags]Flags suportadas:
3. Camadas e Arquitetura
Pacote internal/initializer:
Pacote internal/cli:
unInitCommand(args []string, stdout, stderr io.Writer) int.
4. Plano de Validação & TDD