Skip to content

Verify

Visual verification, Figma comparison, style capture, and report generation.

9 modules

ModuleDescription
Anotar Captura de TelaDesenhe caixas delimitadoras rotuladas nas capturas de tela para marcar diferenças
Capturar Estilos do ElementoCapture estilos calculados de um elemento do navegador
Comparar EstilosComparar estilos capturados com valores esperados
Buscar Estilo do FigmaBuscar tokens de design da API do Figma (token permanece local)
Gerar RelatórioGerar relatório de verificação em HTML/JSON/Markdown
Carregar Conjunto de RegrasCarregar regras de verificação de arquivo YAML
Executar VerificaçãoExecutar verificação completa de design: capturar → comparar → relatar
Executar Verificação de EspecificaçãoVerificação dinâmica de especificação - compor qualquer módulo via YAML
Diferença VisualCompare visualmente o design de referência com o site de desenvolvimento, anotando diferenças

Modules

Anotar Captura de Tela

verify.annotate

Desenhe caixas delimitadoras rotuladas nas capturas de tela para marcar diferenças

Parameters:

NameTypeRequiredDefaultDescription
image_pathstringYes-Caminho para a imagem da captura de tela
annotationsarrayYes-Array de anotações: [{label, x, y, width, height, color?, description?}]
output_pathstringNo-Caminho de saída para a imagem anotada (padrão: adiciona sufixo _annotated)

Output:

FieldTypeDescription
output_pathstringCaminho para a imagem anotada
annotation_countintegerNúmero de anotações desenhadas

Capturar Estilos do Elemento

verify.capture

Capture estilos calculados de um elemento do navegador

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to capture from
selectorstringYes-CSS selector
wait_forstringNo-Wait for selector before capture
viewport_widthnumberNo1280Viewport width
viewport_heightnumberNo800Viewport height

Output:

FieldTypeDescription
elementobjectCaptured element with styles
foundbooleanWhether element was found

Comparar Estilos

verify.compare

Comparar estilos capturados com valores esperados

Parameters:

NameTypeRequiredDefaultDescription
actualobjectYes-Captured element styles (from verify.capture)
expectedobjectYes-Expected styles to compare against
selectorstringNo-Selector for reporting
size_tolerancenumberNo2.0Tolerance for size (px)
spacing_tolerancenumberNo2.0Tolerance for spacing (px)
font_size_tolerancenumberNo1.0Tolerance for font size (px)
color_tolerancenumberNo5Tolerance for color (0-255)
check_typographybooleanNoTrueCheck typography
check_colorsbooleanNoTrueCheck colors
check_spacingbooleanNoTrueCheck spacing
check_sizingbooleanNoFalseCheck sizing

Output:

FieldTypeDescription
passedbooleanWhether comparison passed
violationsarrayList of violations found
error_countnumberNumber of errors
warning_countnumberNumber of warnings

Buscar Estilo do Figma

verify.figma

Buscar tokens de design da API do Figma (token permanece local)

Parameters:

NameTypeRequiredDefaultDescription
file_idstringYes-Figma file key (from URL)
node_idstringNo-Specific node ID to fetch
node_namestringNo-Find node by name
tokenstringNo-Figma token (or use FIGMA_TOKEN env var)

Output:

FieldTypeDescription
nodeobjectFigma node data
styleobjectExtracted style

Gerar Relatório

verify.report

Gerar relatório de verificação em HTML/JSON/Markdown

Parameters:

NameTypeRequiredDefaultDescription
resultsarrayYes-Comparison results from verify.compare
namestringNoverify-reportReport name
urlstringNo-URL that was verified
formatstringNohtmlOutput format (html, json, markdown, all)
output_dirstringNo./verify-reportsOutput directory
screenshotsarrayNo-Screenshot paths to include

Output:

FieldTypeDescription
report_pathstringPath to generated report
summaryobjectSummary statistics

Carregar Conjunto de Regras

verify.ruleset

Carregar regras de verificação de arquivo YAML

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to YAML ruleset file

Output:

FieldTypeDescription
rulesetobjectParsed ruleset
rules_countintegerNumber of rules

Executar Verificação

verify.run

Executar verificação completa de design: capturar → comparar → relatar

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to verify
selectorsarrayNo-CSS selectors to verify
ruleset_pathstringNo-Path to YAML ruleset file
expected_stylesobjectNo-Expected styles per selector
figma_file_idstringNo-Figma file ID for comparison
figma_tokenstringNo-Figma token (or FIGMA_TOKEN env)
figma_mappingobjectNo-Selector to Figma node mapping
output_dirstringNo./verify-reportsOutput directory
report_formatstringNohtmlReport format
take_screenshotbooleanNoTrueCapture screenshot
viewport_widthnumberNo1280Viewport width
viewport_heightnumberNo800Viewport height

Output:

FieldTypeDescription
passedbooleanOverall verification passed
summaryobjectSummary statistics
report_pathstringPath to generated report

Example: Example

yaml
url: http://localhost:3000
selectors: ["button[type=\"submit\"]", "input[type=\"email\"]"]

Example: Example

yaml
url: http://localhost:3000
selectors: ["button.primary"]
figma_file_id: abc123xyz
figma_mapping: {"button.primary": "Primary Button"}

Example: Example

yaml
url: http://localhost:3000
ruleset_path: ./design-rules.yaml

Executar Verificação de Especificação

verify.spec

Verificação dinâmica de especificação - compor qualquer módulo via YAML

Parameters:

NameTypeRequiredDefaultDescription
ruleset_pathstringNo-Path to YAML ruleset file
rulesetobjectNo-Inline ruleset object

Output:

FieldTypeDescription
passedboolean
summaryobject
resultsarray

Diferença Visual

verify.visual_diff

Compare visualmente o design de referência com o site de desenvolvimento, anotando diferenças

Parameters:

NameTypeRequiredDefaultDescription
reference_urlstringYes-URL ou caminho local da imagem de design de referência
dev_urlstringYes-URL do site de desenvolvimento para comparar
output_dirstringNo./verify-reports/visual-diffDiretório de saída para relatórios
focus_areasarrayNo-Áreas para focar (ex.: ["cabeçalho", "formulário de login"])
viewport_widthnumberNo1280Largura do viewport do navegador
viewport_heightnumberNo800Altura do viewport do navegador
modelstringNogpt-4oModelo de visão a ser usado
api_keystringNo-Chave da API OpenAI (ou use a variável de ambiente OPENAI_API_KEY)

Output:

FieldTypeDescription
similarity_scorenumberPorcentagem de similaridade (0-100)
annotationsarrayLista de diferenças anotadas
annotated_imagestringCaminho para a captura de tela anotada
report_pathstringCaminho para o relatório HTML
summarystringResumo das diferenças

Released under the Apache 2.0 License.