Script/EXE · Extensão Visual Studio · Extensão VS Code

Manual de Uso

Guia completo do Code Guardian nas três formas disponíveis: a interface gráfica desktop (script ou .exe), a extensão para Visual Studio e a extensão para VS Code — instalação, modos de análise C# e VB6, configuração de provedores de IA e integração com CI/CD.

Visão Geral

O Code Guardian UI é uma interface gráfica que encapsula todos os scripts de análise do Code Guardian, permitindo executar revisões de código sem precisar usar o terminal. Construída em Python com customtkinter (tema escuro moderno).

Análise de projetos C# via runner.py (diff, staged, arquivo ou scan)
Análise de projetos VB6 via vb6_rule_engine.py (arquivo, scan ou comparação)
Terminal integrado com saída colorida em tempo real
Geração de relatórios HTML com um clique
Configuração visual de provedores de IA (Gemini, Claude, OpenAI, Ollama)
Instalação automática de dependências na primeira execução

Representação visual da interface:

Formas de Uso

O Code Guardian pode ser usado de três formas independentes, todas usando o mesmo motor de análise Python (code_guardian/). Escolha a que melhor se encaixa no seu fluxo de trabalho — elas podem inclusive ser combinadas no mesmo repositório.

Interface Desktop (.exe / script)

Interface gráfica standalone com abas C# e VB6, terminal integrado e relatórios HTML. Não depende de IDE — abra o .exe ou rode o script Python.

Extensão Visual Studio

Integração nativa: Error List, Tool Window com histórico e tendência, exportação SARIF para CI/CD e git hooks instaláveis pelo próprio menu Tools.

Extensão VS Code

Painel dedicado na Activity Bar, análise automática ao salvar, e os mesmos comandos de análise (arquivo, projeto completo ou apenas o diff) via Command Palette.

Forma de uso Melhor para Seção
Interface Desktop Quem não usa Visual Studio ou VS Code no dia a dia, ou quer revisar VB6 fora de uma IDE Seção 4
Extensão Visual Studio Times C# que já trabalham no Visual Studio e querem o resultado direto no Error List Seção 12
Extensão VS Code Quem usa VS Code no dia a dia e quer feedback ao salvar, sem trocar de janela Seção 13

Pré-requisitos

Requisito Versão mínima Observação
Python 3.10+ Deve estar no PATH do sistema
Git qualquer Necessário para modos diff e staged
customtkinter 5.2+ Instalado automaticamente na 1ª execução
Pillow qualquer Instalado automaticamente na 1ª execução
Modo executável (.exe) Python precisa estar instalado no sistema do usuário mesmo ao usar o executável pré-compilado, pois os scripts de análise são invocados em subprocessos.

Instalação e Primeira Execução

Como script Python

Execute o comando abaixo na raiz do repositório:

bash
python .claude/scripts/code_guardian/code_guardian_ui.py

Na primeira execução, uma tela de instalação automática é exibida com barra de progresso enquanto as dependências customtkinter e Pillow são instaladas via pip.

Como executável (.exe)

Basta abrir CodeGuardian.exe. Nenhuma etapa adicional de instalação é necessária — as dependências Python já estão embutidas no executável.

Dica: primeira execução Certifique-se de abrir o terminal (ou o executável) com a pasta raiz do repositório como diretório de trabalho. Os scripts utilizam caminhos relativos a partir da raiz do projeto.

Layout da Interface

A janela é dividida em quatro áreas principais:

Área Localização Função
Painel de configuração Esquerda (~430px fixo) Abas C# e VB6 com todos os controles de análise
Terminal de saída Direita (expansível) Output colorido em tempo real dos scripts
Barra de ação Parte inferior Botões Executar, Abrir Relatório, Limpar Terminal e Configurações
Status bar Rodapé Exibe o repositório detectado e o estado atual da execução

Aba C# — Modos de Análise

A aba C# oferece quatro modos de análise, cada um adequado a um momento diferente do fluxo de trabalho:

Diff vs branch RECOMENDADO

Analisa apenas os arquivos .cs que foram alterados em relação a uma branch base. Usa git diff para identificar exatamente quais linhas mudaram.

Branch base
Branch de comparação (padrão: origin/main)
Raiz do projeto
Pasta raiz do repositório (preenchida automaticamente se a UI já estiver na raiz)

Ideal para: pull requests e revisão antes de push.

Staged

Analisa apenas os arquivos adicionados ao index via git add. Permite revisar exatamente o que será commitado.

Raiz do projeto
Obrigatório quando a UI está em pasta diferente do repositório analisado

Ideal para: revisão imediata antes de cada commit.

Atenção — modo Staged O comando git diff --cached precisa ser executado dentro do repositório correto. Se a UI estiver em pasta diferente do projeto analisado, defina o campo Raiz do projeto com o caminho completo do repositório.
Arquivo único

Analisa um único arquivo .cs selecionado via seletor de arquivos. Útil para inspeção pontual de uma classe ou serviço específico.

Arquivo .cs
Selecionado via diálogo de abertura de arquivo (filtro automático *.cs)

Ideal para: auditoria pontual, onboarding de código legado.

Scan de diretório

Varre todos os arquivos .cs de uma pasta recursivamente. Exclui automaticamente pastas que não contêm código relevante.

Pasta
Selecionada via diálogo de pasta

Ideal para: auditoria completa do projeto, CI/CD.

Exclusões automáticas no modo Scan O scanner ignora automaticamente os diretórios Migrations/, arquivos *.Designer.cs, e as pastas bin/ e obj/, evitando falsos positivos em código gerado automaticamente.

Opções C#

Apenas regras (sem IA)

Executa somente o rule_engine.py, sem chamar provedores de IA. Análise mais rápida.

Severidade mínima

Filtra issues pelo nível mínimo de severidade. Ver tabela abaixo.

Falhar em

Define o nível a partir do qual a execução retorna exit code 1 (útil em CI/CD).

Timeout

Tempo máximo em segundos para a análise de IA por arquivo. Padrão: 60s.

Saída HTML

Gera relatório HTML estilizado ao final da análise, acessível pelo botão Abrir Relatório.

Provedor de IA

Seleciona o provedor ativo: Gemini, Claude, OpenAI ou Ollama (local).

Tabela de severidade

Valor O que inclui na saída
infoTodos os issues (padrão recomendado)
warningWarnings, errors e criticals
errorErrors e criticals apenas
criticalApenas issues críticos

Aba VB6 — Modos de Análise

A aba VB6 utiliza o vb6_rule_engine.py para aplicar mais de 20 regras de análise estática em arquivos legados VB6, retornando um score de 0 a 100.

Arquivo único

Analisa um único arquivo VB6 selecionado.

Extensões suportadas
.bas, .cls, .frm, .ctl

Ideal para: inspeção pontual de um módulo ou formulário.

Scan de diretório

Varre todos os arquivos VB6 de uma pasta recursivamente, gerando um relatório consolidado.

Pasta
Qualquer pasta contendo módulos VB6

Ideal para: auditoria completa de projetos legados.

Comparação de pastas VB6 EXCLUSIVO

Compara duas versões do mesmo projeto VB6, identificando arquivos novos, removidos e alterados, aplicando a análise de regras apenas nas diferenças.

Pasta base
Versão original do projeto (antes das alterações)
Pasta revisão
Versão modificada do projeto (após as alterações)

Ideal para: homologação de alterações VB6, validação de entregas.

Comparação de arquivos VB6 EXCLUSIVO

Compara duas versões de um único arquivo VB6 (original vs modificado). Mesma lógica da comparação de pastas, só que aplicada a um form ou módulo específico.

Arquivo original (base)
Versão atual do arquivo
Arquivo modificado (revisão)
Versão com as alterações

Ideal para: revisar um único form ou módulo de uma entrega pontual.

Opção: Apenas linhas alteradas (diff-only)

Disponível nos dois modos de comparação. Usa difflib (nativo do Python) para calcular quais linhas foram adicionadas ou substituídas na versão revisada, e reporta apenas os issues que caem nessas linhas — o restante do arquivo (código legado não tocado) é ignorado.

Reduz drasticamente o ruído de código legado Sem diff-only, um arquivo VB6 antigo pode reportar centenas de issues pré-existentes. Com diff-only ativado, só aparecem os issues introduzidos pela alteração — em arquivos grandes, isso costuma reduzir a contagem de dezenas ou centenas de issues para poucas unidades.

Score de qualidade (0–100)

Score Classificação Ação recomendada
90–100ExcellentAprovado
75–89Good — melhorias pontuaisAprovado com ressalvas
60–74Moderate technical debtRevisar warnings críticos antes de aprovar
40–59High technical debtRefatoração recomendada
0–39Critical — não aprovarNão aprovar

Formato de saída

Valor Comportamento
text + htmlSaída colorida no terminal + relatório HTML (padrão recomendado)
jsonJSON estruturado para consumo por outras ferramentas
htmlApenas relatório HTML, sem saída no terminal

Terminal de Saída

O terminal integrado exibe a saída dos scripts em tempo real, com colorização semântica para facilitar a leitura dos resultados.

Legenda de cores

Cor Significado
Verde Sucesso — arquivo sem problemas ou análise concluída
Laranja Avisos (warning) — melhorias recomendadas
Vermelho Erros críticos — issues de segurança ou qualidade graves
Azul Informações gerais — contagens, scores, metadados
Cinza Timestamps e metadados secundários

Botões de Ação

Executar / Cancelar

Inicia a análise com as configurações atuais. Durante a execução, o botão muda para Cancelar — clique para interromper o processo em andamento.

Abrir Relatório

Abre o relatório HTML gerado no navegador padrão do sistema. Habilitado automaticamente após análise com opção de saída HTML ativada.

Limpar Terminal

Limpa todo o conteúdo do terminal de saída, sem afetar a configuração atual nem interromper análises em andamento.

Configurações

Abre o diálogo de configuração de provedores de IA. Permite definir chaves de API, URL do Ollama e provedor primário/fallback.

Configurações de IA

O diálogo de configurações permite definir qual provedor de IA será usado para enriquecer a análise com sugestões contextuais, além das regras estáticas do rule_engine.py.

Provedores disponíveis

Provedor Tipo Requisito Observação
Gemini Cloud Chave GEMINI_API_KEY Provedor padrão recomendado
Claude Cloud Chave ANTHROPIC_API_KEY Alta qualidade de análise
OpenAI Cloud Chave OPENAI_API_KEY Modelo padrão: gpt-4o
Ollama Local Ollama instalado e rodando Privacidade total — sem envio de código para a nuvem

Localização do config.json

Modo de execução Caminho do config.json
Script Python .claude/scripts/code_guardian/config.json
Executável .exe %APPDATA%\CodeGuardian\config.json
Dica: Ollama para ambientes offline Para análise sem acesso à internet ou em ambientes com restrição de envio de código, configure o provedor primário como ollama e o fallback como none. O modelo qwen2.5-coder:32b oferece excelente qualidade para análise de código.

Distribuição como .exe

Para gerar o executável Windows, execute o script de build na raiz do repositório:

bash
python .claude/scripts/code_guardian/build_exe.py

O processo utiliza PyInstaller internamente. O arquivo gerado é salvo em dist/CodeGuardian.exe.

O que está embutido no executável

Componente Incluído no .exe
Interface gráfica (customtkinter)Sim
Scripts de análise PythonSim
Runtime PythonNão — requer Python 3.10+ no sistema
config.jsonNão — lido de %APPDATA%\CodeGuardian\
Relatórios HTML geradosNão — salvos junto ao projeto analisado
Requisito obrigatório Python 3.10 ou superior deve estar instalado no sistema do usuário e presente no PATH. Os scripts de análise são invocados como subprocessos e não estão embutidos no binário do executável.

Extensão Visual Studio

Integração nativa do Code Guardian ao Visual Studio — os resultados aparecem direto no Error List, num Tool Window dedicado com histórico e tendência, e podem ser exportados em SARIF para pipelines de CI/CD.

Análise do arquivo atual ou da solution completa
Análise incremental — só os arquivos alterados via git diff HEAD
AI Toggle — liga/desliga a análise por IA direto no painel
Filtros por severidade e por texto livre na lista de issues
Histórico de execuções com tendência (↑ piorou / ↓ melhorou / = estável)
Navegação por clique — abre o arquivo direto na linha do issue
Suprimir issue com inserção automática de // guardian: suppress RULE_ID
Exportação SARIF 2.1.0 para GitHub Actions e Azure DevOps
Instalação de git hooks pelo próprio menu Tools

Requisitos

Requisito Detalhes
Visual Studio2019 (16.x) ou 2022 (17.x) — Community, Professional ou Enterprise
Python3.8 ou superior — no PATH ou configurado em Tools → Options
Scripts Code GuardianA pasta code_guardian/ deve existir na raiz do repositório aberto

Instalação e primeiro uso

  1. Instale a extensão pelo arquivo .vsix ou pelo Visual Studio Marketplace
  2. Copie a pasta code_guardian/ para a raiz do repositório, se ainda não estiver lá
  3. Abra a solution — a extensão carrega automaticamente
  4. Vá em Tools → Analyze Current File (Code Guardian), ou clique com o botão direito na solution → Analyze with Code Guardian
  5. Veja os resultados no Error List e no painel Tools → Code Guardian

Comandos

Comando Local Descrição
Code GuardianMenu ToolsAbre o Tool Window
Analyze Current FileMenu ToolsAnalisa o arquivo .cs ativo
Analyze with Code GuardianSolution Explorer (menu de contexto)Scan completo da solution
Install Git HooksMenu ToolsInstala o hook pre-commit no repositório
Export SARIFTool WindowExporta o resultado em SARIF 2.1.0
Configurações em Tools → Options → Code Guardian Python Executable, Runner Script Path, Analysis Timeout (padrão 60s) e Rules Only — os mesmos conceitos das configurações da interface desktop.
SARIF para CI/CD O arquivo gerado em .codeguardian/guardian-report.sarif pode ser consumido diretamente por github/codeql-action/upload-sarif no GitHub Actions ou por PublishBuildArtifacts no Azure DevOps.

Instalação e código-fonte da extensão: pasta CodeGuardian.VS/ no repositório do Code Guardian.

Extensão VS Code

Mesma engine de análise, agora dentro do VS Code — com um painel dedicado na Activity Bar e análise automática ao salvar arquivos .cs.

Painel próprio na Activity Bar (ícone de escudo)
Análise automática ao salvar (configurável)
Analisar arquivo atual, projeto completo ou apenas o diff
Exportação SARIF e instalação de git hooks via Command Palette
Configuração de provedor de IA (Gemini, Claude, OpenAI, Ollama) direto nas Settings

Requisitos

Requisito Detalhes
VS Code1.85 ou superior
Python3.8 ou superior — no PATH ou configurado em codeguardian.pythonExecutable
Scripts Code GuardianA pasta code_guardian/ deve existir no workspace aberto

Comandos (Command Palette)

Comando Descrição
Code Guardian: Analisar Arquivo AtualAnalisa o arquivo .cs aberto no editor
Code Guardian: Analisar Projeto CompletoVarre todos os arquivos .cs do workspace
Code Guardian: Analisar Alterações (git diff)Analisa apenas o que mudou desde o último commit
Code Guardian: Abrir PainelAbre o painel dedicado na Activity Bar
Code Guardian: Instalar Git HooksInstala o hook pre-commit no repositório
Code Guardian: Exportar SARIFExporta o resultado em SARIF 2.1.0
Code Guardian: Limpar ResultadosLimpa os resultados exibidos no painel

Configurações (Settings)

Configuração Padrão Descrição
codeguardian.pythonExecutablepythonExecutável Python, se não estiver no PATH
codeguardian.analyzeOnSavetrueAnalisar automaticamente ao salvar arquivos .cs
codeguardian.rulesOnlytrueUsar apenas regras, sem IA — análise mais rápida
codeguardian.minimumSeveritywarningSeveridade mínima exibida: info / warning / error / critical
codeguardian.timeoutSeconds30Timeout máximo da análise, em segundos
codeguardian.ia.providerPrimaryollamaProvedor de IA principal
codeguardian.ia.providerFallbacknoneProvedor de IA de fallback
codeguardian.ia.ollamaUrlhttp://localhost:11434URL do servidor Ollama local
codeguardian.ia.ollamaModelqwen2.5-coder:32bModelo Ollama a usar
Padrão já é offline por padrão O provedor de IA primário já vem configurado como ollama (local) — não é preciso nenhuma chave de API para começar a usar a extensão.

Instalação e código-fonte da extensão: pasta CodeGuardian.VsCode/ no repositório do Code Guardian.

Troubleshooting

Problemas comuns e como resolvê-los:

Interface abre sem tema escuro (janela cinza padrão do Windows)
Causa customtkinter não está instalado ou está em versão incompatível
Solução Execute pip install customtkinter --upgrade e reinicie a aplicação
Erro "Python não encontrado" ao iniciar ou executar análise
Causa Python não está instalado ou não foi adicionado ao PATH do sistema
Solução Reinstale o Python em python.org marcando a opção "Add Python to PATH" durante a instalação
Modo Staged retorna "nenhum arquivo detectado" mesmo após git add
Causa A UI está sendo executada em pasta diferente do repositório git analisado
Solução Defina o campo Raiz do projeto com o caminho completo do repositório que contém os arquivos staged
Botão "Abrir Relatório" permanece desabilitado após a análise
Causa Formato de saída não inclui HTML, ou a análise falhou antes de gerar o arquivo
Solução Certifique-se de que o formato está configurado como text + html ou html, e verifique se a pasta de saída tem permissão de escrita
Análise inicia mas trava indefinidamente sem saída no terminal
Causa Timeout do provedor de IA excedido, ou provedor indisponível
Solução Clique em Cancelar, ative a opção "Apenas regras (sem IA)" para uma análise imediata, ou reduza o valor de Timeout nas opções
Ícone do CodeGuardian.exe aparece genérico ou incorreto no Windows
Causa Cache de ícones do Windows Explorer não foi atualizado após o build
Solução Execute no PowerShell como administrador: ie4uinit.exe -show ou reinicie o Windows Explorer via Gerenciador de Tarefas