mcpField
A
angular-tailwind

angular-tailwind

github.com/oguzhan18Design & UI7245 installsUpdated 30w ago
Repository

About angular-tailwind

A styling skill for Angular projects that covers Tailwind CSS setup, template utilities, and common styling patterns, including Tailwind CSS 4.x and Angular 17+.

Key features

  1. 01Install and configure Tailwind CSS
  2. 02Use utilities in templates
  3. 03Apply conditional classes and bindings
  4. 04Create reusable styles with @apply
  5. 05Customize themes and dark mode

Use cases

  1. 01Style Angular components with utilities
  2. 02Toggle element classes by state
  3. 03Extract reusable button and card styles
  4. 04Customize theme colors or enable dark mode

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oguzhan18/angular-ecosystem-skills --skill angular-tailwind

After installing, type/angular-tailwindin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/discussions/
_INDEX.md
references/docs/
_INDEX.md
references/issues/
_INDEX.md
references/releases/
_INDEX.md

Details

From the project README

Angular + Tailwind CSS

Version: Tailwind CSS 4.x (2025) Tags: Tailwind CSS, Styling, Utility-first, CSS

References: Tailwind CSS • Angular Tailwind

API Changes

This section documents recent version-specific API changes.

  • NEW: Tailwind CSS v4 — New engine with improved performance source

  • NEW: @tailwindcss/vite — Native Vite support

  • NEW: CSS-first configuration — Configure Tailwind with CSS instead of config file

  • NEW: Angular 17+ support — Full compatibility with standalone components

Best Practices

  • Install Tailwind CSS
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init
  • Configure tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{html,ts}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}
  • Add directives to styles
@tailwind base;
@tailwind components;
@tailwind utilities;
  • Use Tailwind v4 with Angular
npm install tailwindcss @tailwindcss/vite
// vite.config.ts
import tailwindcss from '@tailwindcss/vite';

export default defineConfig({
  plugins: [tailwindcss()],
});
@import "tailwindcss";
  • Use utility classes in templates
@Component({
  template: `
    <div class="flex items-center justify-between p-4 bg-white shadow rounded-lg">
      <h1 class="text-2xl font-bold text-gray-800">Title</h1>
      <button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
        Click
      </button>
    </div>
  `
})
export class CardComponent {}
  • Use ngClass for conditional classes
@Component({
  template: `
    <div [ngClass]="isActive ? 'bg-blue-500' : 'bg-gray-200'">
      Content
    </div>
  `
})
export class MyComponent {}
  • Use class binding
@Component({
  template: `
    <div [class]="containerClasses">
      Content
    </div>
  `
})
export class MyComponent {
  containerClasses = 'p-4 bg-white rounded-lg shadow';
}
  • Create custom components with Tailwind
@Component({
  selector: 'app-button',
  template: `
    <button [class]="buttonClasses">
      <ng-content></ng-content>
    </button>
  `
})
export class ButtonComponent {
  @Input() variant: 'primary' | 'secondary' = 'primary';
  
  get buttonClasses() {
    const base = 'px-4 py-2 rounded font-medium transition';
    const variants = {
      primary: 'bg-blue-500 text-white hover:bg-blue-600',
      secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300'
    };
    return `${base} ${this.variants[this.variant]}`;
  }
}
  • Use @apply for reusable styles
@layer components {
  .btn-primary {
    @apply px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600;
  }
  
  .card {
    @apply bg-white rounded-lg shadow p-4;
  }
}
  • Use theme customization
// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: {
          50: '#f0f9ff',
          500: '#0ea5e9',
          900: '#0c4a6e',
        }
      }
    }
  }
}
  • Use Dark mode
// tailwind.config.js
module.exports = {
  darkMode: 'class',
}
@Component({
  template: `
    <div class="dark:bg-gray-900 dark:text-white">
      Content
    </div>
  `
})
export class DarkComponent {}

Comments

Markdown supported