{"adoption": {"forks": 179, "observed_at": "2026-08-28T04:09:56.109354+00:00", "stars": 7130}, "canonical_url": "https://ross.abutalabs.com/products/prettier-plugin-tailwindcss", "card": {"archived": false, "artifact_type": "plugin", "description": "A Prettier plugin for Tailwind CSS that automatically sorts classes based on our recommended class order.", "domain": ["frontend", "web-development", "developer-tools"], "enriched": true, "function": ["formatter", "css-framework", "developer-tools"], "health_score": 96, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tailwindlabs/prettier-plugin-tailwindcss"], "name": "tailwindlabs/prettier-plugin-tailwindcss", "platform": ["cross-platform"], "pushed_at": "2026-07-15T09:02:38+00:00", "repo": "tailwindlabs/prettier-plugin-tailwindcss", "stars": 7130, "tags": ["prettier", "tailwindcss", "class-sorting", "code-style", "nodejs"], "topics": [], "urls": [], "use_cases": ["sort tailwind css classes automatically", "enforce consistent tailwind class order in prettier", "format className attributes in react projects", "sort classes in @apply directives", "keep tailwind utility ordering consistent across a team"], "what_it_is": "An official Prettier plugin from Tailwind Labs that automatically sorts Tailwind CSS utility classes according to the recommended class order. It works with Tailwind v3 and v4, sorting class attributes, framework equivalents like className, and @apply directives.", "when_to_avoid": ["you don't use Tailwind CSS", "you use Prettier v2 or a CommonJS-only toolchain that can't load ESM plugins", "you prefer a different class ordering convention"], "when_to_choose": ["you use Tailwind CSS v3 or v4 with Prettier v3+", "you want automatic, opinionated class sorting on save", "you work in frameworks like React, Vue, or Angular with class-based attributes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/prettier-plugin-tailwindcss", "repo": "tailwindlabs/prettier-plugin-tailwindcss", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.109354+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:40:03.787917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35b3149ef4e9fdc8d571934b7dc4dccb86334c620c61d5e251a114ed52d0cbd9", "fetched_at": "2026-08-28T04:09:56.109354+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 81}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1833, "days_push": 49, "days_rel": 49, "gap_med": 32.5, "n_releases_24m": 15}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}