unslop-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,84 @@
1
+ # Unslop UI
2
+
3
+ Catch UI slop before it ships.
4
+
5
+ Unslop UI is a deterministic CLI for scanning React, Tailwind, and shadcn/ui codebases for repeatable frontend design debt.
6
+
7
+ ## Usage
8
+
9
+ ```bash
10
+ npx unslop-ui .
11
+ ```
12
+
13
+ Local development:
14
+
15
+ ```bash
16
+ pnpm install
17
+ pnpm dev -- fixtures/slop
18
+ pnpm dev -- fixtures/clean
19
+ ```
20
+
21
+ ## What it catches
22
+
23
+ - Generic AI SaaS heroes
24
+ - Gradient soup
25
+ - Card lasagna
26
+ - Muted text overuse
27
+ - Arbitrary Tailwind values
28
+ - Raw hex colors
29
+ - Token bypassing
30
+ - Inconsistent radius/shadow scales
31
+ - Default-looking shadcn UI
32
+
33
+ ## Config
34
+
35
+ Create `unslop.config.ts`:
36
+
37
+ ```ts
38
+ import { defineConfig } from "unslop-ui";
39
+
40
+ export default defineConfig({
41
+ include: ["app/**/*.{tsx,jsx}", "components/**/*.{tsx,jsx}"],
42
+ ignore: ["node_modules/**", ".next/**", "dist/**"],
43
+ stack: {
44
+ react: true,
45
+ tailwind: true,
46
+ shadcn: true,
47
+ },
48
+ rules: {
49
+ "ui-slop/token-bypass": "warn",
50
+ "ui-slop/arbitrary-tailwind-values": "warn",
51
+ "ui-slop/raw-hex-colors": "error",
52
+ "ui-slop/gradient-soup": "warn",
53
+ "ui-slop/card-lasagna": "warn",
54
+ "ui-slop/muted-everything": "warn",
55
+ "ui-slop/random-radius": "warn",
56
+ "ui-slop/random-shadow": "warn",
57
+ "ui-slop/shadcn-default-look": "warn",
58
+ "ui-slop/generic-ai-hero": "warn",
59
+ "ui-slop/inconsistent-icon-size": "warn",
60
+ },
61
+ });
62
+ ```
63
+
64
+ Rules can be disabled with `"off"`.
65
+
66
+ ## CI
67
+
68
+ ```bash
69
+ pnpm unslop-ui . --strict
70
+ ```
71
+
72
+ By default the CLI exits non-zero only for `error` findings. `--strict` treats warnings as build-failing.
73
+
74
+ Use JSON for machines:
75
+
76
+ ```bash
77
+ unslop-ui . --json
78
+ ```
79
+
80
+ ## Philosophy
81
+
82
+ Unslop UI does not try to judge beauty. It catches repeatable design debt and AI-generated UI anti-patterns.
83
+
84
+ The scanner is static and deterministic in V0. It does not use screenshots, Playwright, Figma, or model-based judging.