Skip to content

feat(reporter): implementar formatadores de saída (Terminal e JSON) - #11

Merged
joaooncode merged 3 commits into
mainfrom
feat/reporter-formatters
Aug 30, 2026
Merged

joaooncode merged 3 commits into
mainfrom
feat/reporter-formatters

Conversation

@joaooncode

Copy link
Copy Markdown
Owner

📌 Descrição

Implementa o pacote \internal/reporter\ para renderizar os resultados da varredura (\scanner.Result) para o usuário, fornecendo tanto visualização formatada e colorida no terminal quanto saída serializada em JSON estruturada para integração e automação em pipelines.

Ref: DRS: RF-009, RF-010


🛠️ Alterações

  • Implementação da interface \Reporter\ e factory \New(Format, ...Option).
  • Implementação do formatador \TerminalReporter:
    • Cabeçalho com nome, versão e diretório alvo.
    • Ícones claros por severidade (✗ para \CRITICAL/\HIGH, ⚠ para \WARNING, ✓ para \INFO).
    • Renderização detalhada de recomendações/sugestões de remediação.
    • Sumário de métricas com contadores e status de aprovação (\PASSED\ / \FAILED).
    • Suporte completo a cores ANSI e opção \NoColor.
  • Implementação do formatador \JSONReporter:
    • Saída estruturada contendo metadados (\�ersion, \ imestamp, \scanned_dir, \ indings, \summary).
    • JSON válido, estritamente tipado e com suporte a indentação (\pretty).
  • Garantia de segurança estrita: nenhum relatório (terminal ou JSON) expõe valores ou conteúdos de arquivos.
  • Testes unitários abrangentes em \internal/reporter/reporter_test.go.

🧪 Como Testar

\\�ash
go test -v ./internal/reporter/...
\\

Closes #4

…inding

Implementa o pacote internal/scanner para varredura recursiva do sistema de arquivos,
orquestração com detector e git status analyzer, e classificação de severidade de findings.

Closes #3
…inding

Implementa o pacote internal/scanner para varredura recursiva do sistema de arquivos,
orquestração com detector e git status analyzer, e classificação de severidade de findings.

Closes #3
Implementa o pacote internal/reporter para renderização visual no terminal
com ícones de severidade e saída estruturada em JSON para automação.

Closes #4
@joaooncode joaooncode added enhancement New feature or request mvp Features and requirements for MVP v0.1.0 labels Aug 30, 2026
@joaooncode
joaooncode merged commit 8ccb68b into main Aug 30, 2026
@joaooncode
joaooncode deleted the feat/reporter-formatters branch August 30, 2026 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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(reporter): Implementar formatadores de saída (Terminal e JSON)

1 participant