Skip to content

feat(detector): implementar detecção de arquivos .env e allowlist de exceções - #8

Merged
joaooncode merged 1 commit into
mainfrom
feat/env-detector
Aug 29, 2026
Merged

joaooncode merged 1 commit into
mainfrom
feat/env-detector

Conversation

@joaooncode

@joaooncode joaooncode commented Aug 29, 2026 •

Copy link
Copy Markdown
Owner

Descrição

Implementa o pacote interno \internal/detector\ responsável pela identificação de arquivos de ambiente sensíveis (.env, .env.*, *.env) e diferenciação de exceções seguras pré-aprovadas (.env.example, .env.sample, .env.template).

Closes #1


🛠️ Tipo de Alteração

  • f eat: Nova funcionalidade
  • fix: Correção de bug
  • refactor: Refatoração de código sem alteração no comportamento
  • \perf: Melhoria de performance
  • \docs: Alteração ou adição na documentação
  • \style: Formatação, linting, imports (sem mudança de lógica)
  • \ est: Adição ou ajuste de testes automatizados
  • \chore: Dependências, scripts ou configurações gerais

📋 Alterações Realizadas

  • Criado o pacote \internal/detector\ com a struct \Detector\ e suporte a allowlists customizáveis.
  • Implementadas as funções \IsEnvFile(path string) bool, \IsAllowed(path string) bool\ e \Detect(path string) (bool, bool).
  • Normalização de caminhos multiplataforma (\ ilepath.Base\ com compatibilidade para Windows \\\ e Unix /).
  • Adicionada suíte abrangente de testes unitários baseados em tabela cobrindo casos positivos, exceções seguras, caminhos aninhados e casos negativos com 96.2% de cobertura.
  • Garantia de segurança estrita: o detector opera exclusivamente sobre nomes e caminhos de arquivo, sem leitura de conteúdo do disco.

🧪 Como Testar

  1. Execute os testes unitários do pacote detector:
    \\�ash
    go test -v -cover ./internal/detector/...
    \\
  2. Execute a suíte de testes completa do repositório:
    \\�ash
    go test ./...
    \\

✅ Checklist do Contribuinte (Pré-Envio)

  • Revi as minhas alterações com \git diff\ e \git status.
  • Garanti que nenhum arquivo sensível, segredo (.env), token ou arquivo temporário foi comitado.
  • O código segue os padrões de formatação (\gofmt -s -w .\ e .editorconfig).
  • Os testes automatizados e builds estão passando localmente (\go test ./...\ e \go build ./...).
  • As mensagens de commit seguem o padrão Conventional Commits.

⚠️ Breaking Changes / Observações

  • Nenhuma breaking change.

@joaooncode joaooncode added enhancement New feature or request mvp Features and requirements for MVP v0.1.0 core Core engine, scanning, and detectors labels Aug 29, 2026
@joaooncode
joaooncode merged commit ed0e3fd into main Aug 29, 2026
@joaooncode
joaooncode deleted the feat/env-detector branch August 29, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core engine, scanning, and detectors enhancement New feature or request mvp Features and requirements for MVP v0.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(detector): Implementar detector de nomes de arquivos .env e allowlist

1 participant