Comprehensive patterns for integrating React components, MDX content, and Tailwind CSS into Astro websites with type safety, performance optimization, and best practices.
Integrates React components, MDX content, and Tailwind CSS into Astro websites with type safety and performance optimization. Use this when building or enhancing Astro sites that need interactive React islands, rich content authoring with MDX, or custom Tailwind design systems.
/plugin marketplace add vanman2024/ai-dev-marketplace/plugin install website-builder@ai-dev-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
examples/basic-integration.mdexamples/component-library-integration.mdexamples/mdx-blog-post.mdscripts/add-component-library.shscripts/generate-component.shscripts/optimize-components.shscripts/setup-mdx.shscripts/setup-react.shscripts/setup-tailwind.shscripts/validate-integration.shtemplates/integration/astro-config-full.tstemplates/integration/tsconfig-components.jsontemplates/mdx/basic-mdx.mdxtemplates/mdx/mdx-with-components.mdxtemplates/react/basic-component.tsxtemplates/react/component-with-context.tsxtemplates/react/data-fetching-component.tsxtemplates/react/form-component.tsxtemplates/react/interactive-component.tsxtemplates/react/island-component.tsxComprehensive patterns for integrating React components, MDX content, and Tailwind CSS into Astro websites with type safety, performance optimization, and best practices.
This skill provides:
Assess Current Setup
# Check existing integrations
bash scripts/validate-integration.sh
Install Required Integrations
# Setup React
bash scripts/setup-react.sh
# Setup MDX
bash scripts/setup-mdx.sh
# Setup Tailwind
bash scripts/setup-tailwind.sh
Validate Installation
Generate Component Structure
# Create new component
bash scripts/generate-component.sh ComponentName --type interactive
Apply Templates
Implement Type Safety
Configure Tailwind Theme
Create Component Variants
Setup Base Styles
Setup MDX Processing
Create MDX Layouts
Register Custom Components
Apply Islands Architecture
Optimize Component Loading
bash scripts/optimize-components.sh
Implement Code Splitting
Add Component Libraries
# Add shadcn/ui
bash scripts/add-component-library.sh shadcn-ui
Configure Library Theming
Create Wrapper Components
// Component with selective hydration
import { useState } from 'react';
interface Props {
initialCount?: number;
}
export default function Counter({ initialCount = 0 }: Props) {
const [count, setCount] = useState(initialCount);
return (
<button onClick={() => setCount(count + 1)}>
Count: {count}
</button>
);
}
Usage in Astro:
---
import Counter from '@/components/Counter';
---
<Counter client:visible initialCount={5} />
---
title: "Blog Post with Components"
---
import { Alert } from '@/components/Alert';
# My Blog Post
<Alert type="info">
This is custom component in MDX
</Alert>
import { cva, type VariantProps } from 'class-variance-authority';
const buttonVariants = cva(
'rounded-md font-medium transition-colors'
{
variants: {
variant: {
primary: 'bg-blue-600 text-white hover:bg-blue-700'
secondary: 'bg-gray-200 text-gray-900 hover:bg-gray-300'
}
size: {
sm: 'px-3 py-1.5 text-sm'
md: 'px-4 py-2 text-base'
lg: 'px-6 py-3 text-lg'
}
}
defaultVariants: {
variant: 'primary'
size: 'md'
}
}
);
type ButtonProps = VariantProps<typeof buttonVariants> & {
children: React.ReactNode;
};
export function Button({ variant, size, children }: ButtonProps) {
return (
<button className={buttonVariants({ variant, size })}>
{children}
</button>
);
}
Problem: Components render statically but don't have interactivity
Solution:
client:load, client:visible, or client:idleProblem: MDX files fail to compile
Solution:
Problem: Tailwind utilities not working in components
Solution:
rm -rf .astroProblem: TypeScript errors in React components
Solution:
Plugin: website-builder Version: 1.0.0
Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation.
Implement GDPR-compliant data handling with consent management, data subject rights, and privacy by design. Use when building systems that process EU personal data, implementing privacy controls, or conducting GDPR compliance reviews.