Skip to content

Verify

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

9 modules

ModuleDescription
Screenshot annotierenMarkieren Sie Unterschiede auf Screenshots mit beschrifteten Begrenzungsrahmen
Elementstile erfassenErfassen Sie berechnete Stile von Browserelementen
Stile vergleichenVergleichen Sie erfasste Stile mit erwarteten Werten
Figma-Stil abrufenDesign-Tokens von der Figma API abrufen (Token bleibt lokal)
Bericht erstellenVerifizierungsbericht in HTML/JSON/Markdown erstellen
Regelsatz ladenVerifizierungsregeln aus YAML-Datei laden
Verifizierung durchführenKomplette Design-Verifizierung durchführen: erfassen → vergleichen → Bericht
Spezifikationsverifizierung durchführenDynamische Spezifikationsverifizierung - beliebige Module über YAML zusammensetzen
Visueller VergleichVergleichen Sie das Referenzdesign visuell mit der Entwicklungsseite und markieren Sie Unterschiede

Modules

Screenshot annotieren

verify.annotate

Markieren Sie Unterschiede auf Screenshots mit beschrifteten Begrenzungsrahmen

Parameters:

NameTypeRequiredDefaultDescription
image_pathstringYes-Pfad zum Screenshot-Bild
annotationsarrayYes-Array von Anmerkungen: [{label, x, y, width, height, color?, description?}]
output_pathstringNo-Ausgabepfad für annotiertes Bild (Standard: fügt _annotated Suffix hinzu)

Output:

FieldTypeDescription
output_pathstringPfad zum annotierten Bild
annotation_countintegerAnzahl der gezeichneten Anmerkungen

Elementstile erfassen

verify.capture

Erfassen Sie berechnete Stile von Browserelementen

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

Stile vergleichen

verify.compare

Vergleichen Sie erfasste Stile mit erwarteten Werten

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

Figma-Stil abrufen

verify.figma

Design-Tokens von der Figma API abrufen (Token bleibt lokal)

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

Bericht erstellen

verify.report

Verifizierungsbericht in HTML/JSON/Markdown erstellen

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

Regelsatz laden

verify.ruleset

Verifizierungsregeln aus YAML-Datei laden

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to YAML ruleset file

Output:

FieldTypeDescription
rulesetobjectParsed ruleset
rules_countintegerNumber of rules

Verifizierung durchführen

verify.run

Komplette Design-Verifizierung durchführen: erfassen → vergleichen → Bericht

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

Spezifikationsverifizierung durchführen

verify.spec

Dynamische Spezifikationsverifizierung - beliebige Module über YAML zusammensetzen

Parameters:

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

Output:

FieldTypeDescription
passedboolean
summaryobject
resultsarray

Visueller Vergleich

verify.visual_diff

Vergleichen Sie das Referenzdesign visuell mit der Entwicklungsseite und markieren Sie Unterschiede

Parameters:

NameTypeRequiredDefaultDescription
reference_urlstringYes-URL oder lokaler Bildpfad des Referenzdesigns
dev_urlstringYes-URL der zu vergleichenden Entwicklungsseite
output_dirstringNo./verify-reports/visual-diffAusgabeverzeichnis für Berichte
focus_areasarrayNo-Bereiche, auf die fokussiert werden soll (z.B. ["header", "login form"])
viewport_widthnumberNo1280Breite des Browser-Viewports
viewport_heightnumberNo800Höhe des Browser-Viewports
modelstringNogpt-4oZu verwendendes Vision-Modell
api_keystringNo-OpenAI API-Schlüssel (oder verwenden Sie die Umgebungsvariable OPENAI_API_KEY)

Output:

FieldTypeDescription
similarity_scorenumberÄhnlichkeitsprozentsatz (0-100)
annotationsarrayListe der annotierten Unterschiede
annotated_imagestringPfad zum annotierten Screenshot
report_pathstringPfad zum HTML-Bericht
summarystringZusammenfassung der Unterschiede

Released under the Apache 2.0 License.