chore(config): frente D — ESLint boundaries + Husky + commitlint + gitleaks
Higiene de PR antes da primeira feature de domínio. - Tags Nx canônicas (scope/type/domain) em todos os 5 projetos, incluindo e2e - depConstraints ESLint: scope:api|web|shared + type:app|e2e|feature|util|data - Husky 9 + lint-staged: eslint --max-warnings=0 + prettier --check em pre-commit - commitlint @conventional: tipo obrigatório, scope enum warn, body ilimitado - gitleaks via Docker: zero leaks no tree completo; allowlist .agents/,.claude/,tmp/ - tmp/ adicionado ao .gitignore (relatórios de scan locais) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
32
.gitleaks.toml
Normal file
32
.gitleaks.toml
Normal file
@@ -0,0 +1,32 @@
|
||||
# Gitleaks — SAR Força de Vendas
|
||||
# Documentação: https://github.com/gitleaks/gitleaks
|
||||
|
||||
title = "SAR gitleaks config"
|
||||
|
||||
[extend]
|
||||
useDefault = true # herda todas as regras padrão
|
||||
|
||||
[allowlist]
|
||||
description = "Arquivos e padrões seguros conhecidos"
|
||||
|
||||
paths = [
|
||||
# Arquivos de exemplo — contêm placeholders, nunca segredos reais
|
||||
".env.example",
|
||||
".env.test",
|
||||
# Lock files gerados pelo pnpm — nunca contêm segredos
|
||||
"pnpm-lock.yaml",
|
||||
# Ferramentas de agente (BMad skills, Claude config) — docs/templates, não código de produto
|
||||
'''.agents/''',
|
||||
'''.claude/''',
|
||||
# Arquivos temporários / relatórios de CI gerados localmente
|
||||
'''tmp/''',
|
||||
]
|
||||
|
||||
regexes = [
|
||||
# Hashes de commit no design log e docs
|
||||
'''[0-9a-f]{7,40}''',
|
||||
# UUIDs canônicos usados em testes (requestId, workspaceId)
|
||||
'''[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}''',
|
||||
# Valores placeholder explícitos em .env.example
|
||||
'''(your-|change-me|placeholder|CHANGE_ME|YOUR_)''',
|
||||
]
|
||||
Reference in New Issue
Block a user