{ "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": \"Thick colored border on one side of a card — the most recognizable tell of AI-generated UIs. Use a subtler accent or remove it entirely.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/FeatureGrid.tsx\",\n \"line\": 13,\n \"snippet\": \"border-left: 4px solid #8b5cf6\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n },\n {\n \"antipattern\": \"bounce-easing\",\n \"name\": \"Bounce or elastic easing\",\n \"description\": \"Bounce and elastic easing feel dated and tacky. Real objects decelerate smoothly — use exponential easing (ease-out-quart/quint/expo) instead.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/FeatureGrid.tsx\",\n \"line\": 24,\n \"snippet\": \"animation: bounce\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n },\n {\n \"antipattern\": \"layout-transition\",\n \"name\": \"Layout property animation\",\n \"description\": \"Animating width, height, padding, or margin causes layout thrash and janky performance. Use transform and opacity instead, or grid-template-rows for height animations.\",\n \"severity\": \"warning\",\n \"category\": \"quality\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/FeatureGrid.tsx\",\n \"line\": 18,\n \"snippet\": \"transition: width\",\n \"importedBy\": [\n \"index.tsx\"\n ]\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/framework-next-cssinjs/components/GlobalStyle.tsx\",\n \"line\": 13,\n \"snippet\": \"font-family: 'Inter\",\n \"importedBy\": [\n \"_app.tsx\"\n ]\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/framework-next-cssinjs/components/Hero.tsx\",\n \"line\": 16,\n \"snippet\": \"font-family: 'Montserrat\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n },\n {\n \"antipattern\": \"gradient-text\",\n \"name\": \"Gradient text\",\n \"description\": \"Gradient text is decorative rather than meaningful — a common AI tell, especially on headings and metrics. Use solid colors for text.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/Hero.tsx\",\n \"line\": 18,\n \"snippet\": \"background-clip: text + gradient\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n },\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": \"Thick colored border on one side of a card — the most recognizable tell of AI-generated UIs. Use a subtler accent or remove it entirely.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/Testimonials.tsx\",\n \"line\": 21,\n \"snippet\": \"border-left: 4px solid #6366f1\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n },\n {\n \"antipattern\": \"gradient-text\",\n \"name\": \"Gradient text\",\n \"description\": \"Gradient text is decorative rather than meaningful — a common AI tell, especially on headings and metrics. Use solid colors for text.\",\n \"severity\": \"warning\",\n \"category\": \"slop\",\n \"file\": \"/tests/fixtures/antipatterns/framework-next-cssinjs/components/Testimonials.tsx\",\n \"line\": 15,\n \"snippet\": \"background-clip: text + gradient\",\n \"importedBy\": [\n \"index.tsx\"\n ]\n }\n]\n", "stderr": "", "exit": 2, "signal": null, "files": {} }