{"repo":"kosaki08/uimatch","free":true,"listed":false,"github":"https://github.com/kosaki08/uimatch","clone":"git clone https://github.com/kosaki08/uimatch.git","description":"Compare Figma designs with rendered UIs using Playwright. Visual regression and structured reports for CI and experimental AI repair loops.","language":"TypeScript","stars":14,"topics":["cli","figma","playwright","typescript","visual-regression","visual-testing","design-qa","ai-assisted-development","continuous-integration","llm-evaluation"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"uiMatch Turn visual drift between a Figma design and its implementation into a repeatable local or CI check. uiMatch renders the implementation with Playwright, compares it with a Figma node, and reports differences in pixels, layout, styles, color, and text. Each run produces a Design Fidelity Score and a configurable pass or fail decision. When an output directory is set, it also saves reviewable images and a machine-readable report. That report is written for other tools to read, not only for people. The experimental harness in evals/ takes that further and hands uiMatch output to an AI agent as the evaluation step in a UI repair loop. Status: Experimental / 0.x. APIs may change without notice and are not production-ready. What you get - Catch visual regressions against the design, not just by eye. - See computed style and layout differences next to the pixel diff, so you can tell what actually changed. - Run the same quality gate locally and in CI. Exit codes tell a real mismatch apart from a broken configuration. - Keep figma.png , impl.png , diff.png , and report.json as evidence for review and automation. Quick start Install the CLI and Playwright, then install Chromium: Compare one Figma node with an implementation: The command exits with 0 when the configured quality gate passes, 1 when the comparison fails, and 2 for invalid arguments or configuration. A missing selector and a strict-mode image size mismatch are comparison failures, so both exit with 1 . A successfu","default_branch":null,"files":null,"tree":[],"storefront":"/r/kosaki08","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kosaki08/uimatch/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}