Loading...
Loading...
Stop your AI agent from generating Tailwind CSS v3 code. Rules for v4 syntax, CSS-first config, modern utility patterns, and common anti-patterns.
npx skill4agent add ofershap/tailwind-best-practices tailwind-best-practices@tailwind base;
@tailwind components;
@tailwind utilities;@import "tailwindcss";@tailwind@import// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
brand: "#3b82f6",
},
spacing: {
18: "4.5rem",
},
},
},
};@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
--spacing-18: 4.5rem;
}@themetailwind.config.js// postcss.config.mjs
export default {
plugins: {
"postcss-import": {},
tailwindcss: {},
autoprefixer: {},
},
};// postcss.config.mjs
export default {
plugins: {
"@tailwindcss/postcss": {},
},
};postcss-importautoprefixer@tailwindcss/postcsstailwindcss<div class="bg-red-500 bg-opacity-50">
<div class="text-blue-600 text-opacity-75"></div>
</div><div class="bg-red-500/50">
<div class="text-blue-600/75"></div>
</div>bg-opacity-*text-opacity-*border-opacity-*placeholder-opacity-*<div class="bg-[#3b82f6]"></div>@theme {
--color-brand: #3b82f6;
}<div class="bg-brand"></div>bg-[#3b82f6]@theme<div class="md:flex-row flex-col"></div><div class="@container">
<div class="flex flex-col @md:flex-row">
<!-- Responds to container width, not viewport -->
</div>
</div>@container@sm:@md:@lg:@layer utilities {
.content-auto {
content-visibility: auto;
}
}@utility content-auto {
content-visibility: auto;
}@utility@layer utilities// tailwind.config.js
module.exports = {
important: true,
};@import "tailwindcss" important;important<div class="shadow-sm ring-1 ring-gray-900/5">
<div class="blur-sm">
<div class="rounded-sm"></div>
</div>
</div><div class="shadow-xs ring-1 ring-gray-900/5">
<div class="blur-xs">
<div class="rounded-xs"></div>
</div>
</div>shadow-smshadow-xsshadowshadow-smblur-smblur-xsrounded-smrounded-xs-sm<div class="bg-gradient-to-r from-blue-500 to-purple-500"></div><div class="bg-linear-to-r from-blue-500 to-purple-500"></div>bg-gradient-to-*bg-linear-to-*bg-conic-*bg-radial-*<div class="hover:bg-blue-500">
<!-- No way to style non-hovered state specifically -->
</div><div class="not-hover:opacity-75 hover:opacity-100"></div>not-*.modal {
opacity: 0;
transition: opacity 0.3s;
}
.modal.open {
opacity: 1;
}<div class="starting:opacity-0 opacity-100 transition-opacity duration-300"></div>@starting-stylestarting:@theme@import "tailwindcss"@container@md:bg-blue-500/50text-gray-900/75@utility@variantbg-linear-to-*bg-gradient-to-*tailwind.config.js@tailwind base/components/utilities@import "tailwindcss"bg-opacity-*text-opacity-*@layer utilities@utilitybg-gradient-to-*bg-linear-to-*postcss-importautoprefixershadow-smshadow-xs