🛡️ Ferramenta para Desenvolvedores C#

Code Guardian
Qualidade e segurança
antes do commit

Suite de análise automatizada que combina 20+ regras estáticas, métricas de código e inteligência artificial para detectar bugs, vulnerabilidades e violações de clean code — integrada ao seu fluxo git.

🔒 Ferramenta interna — disponível sob consulta para equipes

O problema que resolve

Code review manual é lento, inconsistente e dependente da experiência do revisor

🐛
Bugs chegam na main
NullReferenceException, deadlocks, loops infinitos — detectados apenas em produção por não terem sido pegos no review.
🔐
Vulnerabilidades silenciosas
SQL Injection, secrets hardcoded e credenciais expostas passam pelo review sem que ninguém perceba.
📏
Padrões ignorados
God Classes, métodos com 200 linhas e deep nesting acumulam-se porque revisar manualmente é cansativo.
⏱️
Review demorado
Revisores gastam horas em checagens mecânicas que poderiam ser automatizadas, deixando menos tempo para análise de lógica.

Módulos do Code Guardian

Cada script tem uma responsabilidade única e podem ser usados individualmente ou pelo orquestrador

🏃
runner.py
Orquestrador Completo
Ponto de entrada principal. Executa diff/scan/arquivo, aciona rule_engine, metrics e IA, calcula o Risk Score final e gera relatório consolidado.
--scan --staged --file Risk Score
🔍
rule_engine.py
Motor de Regras Estáticas
20+ regras regex que detectam padrões perigosos: SQL Injection, deadlocks, secrets hardcoded, async void, disposables sem using, e muito mais.
SQL Injection Deadlock Secrets OWASP
📊
metrics.py
Métricas de Qualidade
Analisa tamanho de métodos, profundidade de nesting, detecção de God Class e dependências excessivas — tudo com thresholds configuráveis.
Nesting God Class Linhas/Método Deps
🔀
diff_parser.py
Parser de Git Diff
Extrai arquivos e linhas alteradas do git diff. Foca a análise exatamente no que foi modificado — sem analisar código inalterado desnecessariamente.
--staged --for-ai git diff
🤖
ai_client.py
Análise com IA
Envia o código para análise por IA com fallback automático entre providers. Identifica problemas de lógica que regras estáticas não conseguem detectar.
Gemini Claude OpenAI Ollama
🔤
spelling_checker.py
Verificador de Ortografia
Detecta erros de ortografia em strings literais C# — mensagens de validação, textos de UI e notificações — evitando textos com erros em produção.
Strings C# Validações UI Texts

Risk Score por arquivo

Cada arquivo alterado recebe uma pontuação de risco — priorize o review onde realmente importa

📋 Relatório — análise de 4 arquivos alterados
Services/UserService.cs 🔴 CRÍTICO 87
SQL sem parâmetro · async void · método com 94 linhas · nesting 5
Controllers/OrderController.cs 🟠 ALTO 61
Exception catch vazia · 2 métodos >30 linhas · dependency string hardcoded
Repositories/ProductRepository.cs 🟡 MÉDIO 34
1 método >30 linhas · comentário TODO sem issue
Models/UserDto.cs 🟢 BAIXO 8
Sem problemas críticos detectados

20+ Regras Estáticas

Detectadas por análise regex — sem precisar compilar o projeto

🔐 Segurança
  • SQL Injection sem parâmetros
  • Secrets hardcoded (password=, api_key=)
  • Connection strings no código
  • Deserialização insegura
  • XSS sem escape
⚡ Runtime / Bugs
  • async void (não captura exceção)
  • Thread.Sleep em async (deadlock)
  • Catch(Exception) vazio
  • Disposable sem using
  • NullReferenceException em potencial
📏 Qualidade
  • Método com >30 linhas
  • Nesting >3 níveis
  • God Class (>500 linhas)
  • Magic numbers sem constante
  • TODO sem issue vinculado
🏗️ Arquitetura
  • Dependência concreta (new em service)
  • Return type void em service
  • Lógica de negócio em controller
  • DbContext injetado em controller
  • Biblioteca proibida (AutoMapper, etc.)

Análise com IA — Fallback Automático

Se o provider principal estiver indisponível, o próximo é acionado automaticamente

Primary
Gemini
Fallback 1
Claude
Fallback 2
OpenAI
Local
Ollama

Provider configurável via config.json — troque o primary sem alterar código

Integração com o Fluxo de Trabalho

Funciona onde você já trabalha — terminal, git hooks e CI/CD

⌨️
Terminal / Claude Code

Analise arquivos individualmente ou escaneie o diretório inteiro com um comando.

# Analisar staged changes antes do commit
python runner.py --staged

# Escanear diretório inteiro
python runner.py --scan --dir ./src

# Arquivo específico
python runner.py --file Services/UserService.cs
🪝
Git Pre-commit Hook

Bloqueia commits com problemas críticos automaticamente antes de chegarem ao repositório.

#!/bin/sh
# .git/hooks/pre-commit
python ~/.claude/scripts/code_guardian/runner.py --staged

if [ $? -ne 0 ]; then
  echo "❌ Commit bloqueado pelo Code Guardian"
  exit 1
fi
🔁
CI/CD Pipeline

Exit codes padrão permitem integração com qualquer pipeline — GitHub Actions, GitLab CI, Jenkins.

# GitHub Actions
- name: Code Guardian Analysis
  run: |
    python runner.py --scan --rules-only
  if: always()

# exit 1 em critical/error
# exit 0 em warning/info
🔍
Skills Claude Code

Skills especializados invocados diretamente pelo Claude Code para review guiado por IA.

# Code review completo
/code-review

# Foco específico
/code-review csharp-security-review
/code-review csharp-performance-review
/code-review clean-code-review

Quer usar o Code Guardian na sua equipe?

Implante a suite de análise no seu repositório e eleve a qualidade do código do seu time.

Ver Documentação → Falar sobre implementação