{ "stdout": "[\n {\n \"antipattern\": \"tight-leading\",\n \"name\": \"Tight line height\",\n \"description\": \"Line height below 1.3x the font size makes multi-line text hard to read. Use 1.5 to 1.7 for body text so lines have room to breathe.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"line-height 1.05x (need >=1.3)\"\n },\n {\n \"antipattern\": \"tiny-text\",\n \"name\": \"Tiny body text\",\n \"description\": \"Body text below 12px is hard to read, especially on high-DPI screens. Use at least 14px for body content, 16px is ideal.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"10px body text\"\n },\n {\n \"antipattern\": \"all-caps-body\",\n \"name\": \"All-caps body text\",\n \"description\": \"Long passages in uppercase are hard to read. We recognize words by shape (ascenders and descenders), which all-caps removes. Reserve uppercase for short labels and headings.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"text-transform: uppercase on 159 chars of body text\"\n },\n {\n \"antipattern\": \"wide-tracking\",\n \"name\": \"Wide letter spacing on body text\",\n \"description\": \"Letter spacing above 0.05em on body text disrupts natural character groupings and slows reading. Reserve wide tracking for short uppercase labels only.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"letter-spacing: 0.08em on body text\"\n },\n {\n \"antipattern\": \"justified-text\",\n \"name\": \"Justified text\",\n \"description\": \"Justified text without hyphenation creates uneven word spacing (\\\"rivers of white\\\"). Use text-align: left for body text, or enable hyphens: auto if you must justify.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"text-align: justify without hyphens: auto\"\n },\n {\n \"antipattern\": \"overused-font\",\n \"name\": \"Overused font\",\n \"description\": \"Inter, Roboto, Fraunces, Geist, Plus Jakarta Sans, and Space Grotesk are used on so many sites they no longer feel distinctive. Each new wave of AI-generated UIs converges on the same handful of faces. Choose a face that gives your interface personality.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/typography.html\",\n \"line\": 0,\n \"snippet\": \"Primary font: inter\"\n }\n]\n", "stderr": "", "exit": 2, "signal": null, "files": {} }