feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config - #24

Merged
joaooncode merged 2 commits into
mainfrom
feat/config-file-support
Sep 2, 2026
Merged

feat(config): adicionar suporte a arquivo de configuracao .envguard.yaml e flag --config#24
joaooncode merged 2 commits into
mainfrom
feat/config-file-support

Conversation

@joaooncode

@joaooncodejoaooncode commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Descrição

Implementa o suporte completo a arquivo de configuração (.envguard.yaml e .envguard.yml) e à flag de linha de comando --config (-c) para os comandos scan e check.

Permite que os projetos personalizem o comportamento da ferramenta através da definição de diretórios ignorados customizados, padrões de nomes de arquivos de ambiente adicionais, regras de allowlist/templates seguros e sobrescritas de níveis de severidade.

Closes#15


Tipo de Alteração

  • feat: 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)
  • test: Adição ou ajuste de testes automatizados
  • chore: Dependências, scripts ou configurações gerais

Alterações Realizadas

  • Novo pacote internal/config:
    • Structs de configuração com tags YAML (Config, ScannerConfig, DetectorConfig, SeverityOverride).
    • Parsing estrito utilizando gopkg.in/yaml.v3 com validação semântica (fail-fast para chaves desconhecidas ou sintaxe incorreta).
    • Descoberta automática de arquivos seguindo a precedência: flag --config > .envguard.yaml > .envguard.yml > defaults embutidos.
  • Módulo internal/detector:
    • Suporte a detecção de padrões customizados (custom_patterns) e expansão de allowlists.
  • Módulo internal/scanner:
    • Suporte a diretórios ignorados adicionais (scanner.ignore_dirs) combinados com os padrões seguros.
    • Aplicação de sobrescrita de severidade (severity_overrides) na classificação de cada finding.
  • Módulo internal/cli:
    • Flags --config e -c adicionadas aos comandos scan e check.
  • Testes & Documentação:
    • Testes unitários e de integração completos em internal/config, internal/detector, internal/scanner e internal/cli.
    • Documentação de domínio em CONTEXT.md e decisão arquitetural em docs/adr/0001-yaml-configuration-support.md.

Como Testar

  1. Executar a suíte de testes automatizados:
    go test -v ./...
  2. Testar auto-descoberta de .envguard.yaml:
    • Crie um arquivo .envguard.yaml na raiz de um projeto de teste:
      version: "1"detector:
      allowlist:
      - ".env.custom.sample"custom_patterns:
      - "*.env.vault"
    • Execute ./envguard scan --path . e verifique se .env.custom.sample é classificado como INFO e *.env.vault é detectado.
  3. Testar flag explícita --config:
    ./envguard check --path . --config custom-rules.yaml
  4. Testar tratamento de erro de sintaxe/schema:
    • Crie um arquivo YAML com sintaxe inválida ou chaves desconhecidas e execute scan/check. O envguard deve retornar erro de uso e encerrar imediatamente.

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.
  • Observações: Compatibilidade retroativa 100% preservada para projetos que não utilizam arquivo de configuração.

…aml e flag --config
- adiciona pacote internal/config com parsing estrito YAML e validacao
- suporta ordem de descoberta: flag --config > .envguard.yaml > .envguard.yml > padroes embutidos
- permite configurar ignore_dirs, custom_patterns, allowlist e severity_overrides
- integra configuracoes aos modulos scanner, detector e comandos da CLI
- adiciona testes unitarios e de integracao completos
Closes#15
@joaooncodejoaooncode added enhancement New feature or request core Core engine, scanning, and detectors labels Sep 2, 2026
@joaooncode
joaooncode merged commit 0e4726c into mainSep 2, 2026
6 checks passed
@joaooncode
joaooncode deleted the feat/config-file-support branch September 2, 2026 03:01
@joaooncodejoaooncode self-assigned this Sep 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coreCore engine, scanning, and detectorsenhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(config): Implementar suporte a arquivo de configuracao .envguard.yaml

1 participant

@joaooncode