Pular para o conteúdo
Skillpedia
Sites e telas (frontend)48 mil · #2963

expo-tailwind-setup

Configura o Tailwind CSS para estilizar aplicativos Expo de forma eficiente. Ajuda o agente a criar interfaces bonitas e consistentes em diferentes plataformas.

O que ela faz

Esta ferramenta ajuda a configurar o Tailwind CSS v4 em projetos Expo. Ela permite usar classes de estilo do Tailwind para deixar seu aplicativo com a aparência desejada em diferentes plataformas (iOS, Android e Web).

Quando usar

  • ✓Quando você inicia um novo projeto Expo e quer usar Tailwind CSS para estilizar.
  • ✓Se você já tem um projeto Expo e deseja adicionar o Tailwind CSS.
  • ✓Para garantir que a aparência do seu aplicativo seja consistente em iOS, Android e Web.

Exemplo do que pedir para a IA

“Configure o Tailwind CSS v4 no meu projeto Expo.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/expo-tailwind-setup/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/expo-tailwind-setup/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta instala as bibliotecas necessárias e ajusta os arquivos de configuração do seu projeto. Ela usa o NativeWind para traduzir as classes do Tailwind em estilos que o React Native entende.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill expo-tailwind-setup

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/expo-tailwind-setup/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Configuração do Tailwind CSS para Expo com react-native-css

Quando Usar

Use esta habilidade quando precisar configurar o Tailwind CSS v4 no Expo com react-native-css e NativeWind v5 para estilização universal.

Este guia abrange a configuração do Tailwind CSS v4 no Expo usando react-native-css e NativeWind v5 para estilização universal em iOS, Android e Web.

Visão Geral

Esta configuração utiliza:

  • Tailwind CSS v4 - Configuração moderna com foco em CSS
  • react-native-css - Runtime de CSS para React Native
  • NativeWind v5 - Transformador Metro para Tailwind no React Native
  • @tailwindcss/postcss - Plugin PostCSS para Tailwind v4

Instalação

# Install dependencies
npx expo install tailwindcss@^4 nativewind@5.0.0-preview.2 react-native-css@0.0.0-nightly.5ce6396 @tailwindcss/postcss tailwind-merge clsx

Adicione resoluções para compatibilidade com lightningcss:

// package.json
{
  "resolutions": {
    "lightningcss": "1.30.1"
  }
}
  • autoprefixer não é necessário no Expo por causa do lightningcss
  • postcss está incluído no expo por padrão

Arquivos de Configuração

Configuração do Metro

Crie ou atualize metro.config.js:

// metro.config.js
const { getDefaultConfig } = require("expo/metro-config");
const { withNativewind } = require("nativewind/metro");

/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);

module.exports = withNativewind(config, {
  // inline variables break PlatformColor in CSS variables
  inlineVariables: false,
  // We add className support manually
  globalClassNamePolyfill: false,
});

Configuração do PostCSS

Crie postcss.config.mjs:

// postcss.config.mjs
export default {
  plugins: {
    "@tailwindcss/postcss": {},
  },
};

CSS Global

Crie src/global.css:

@import "tailwindcss/theme.css" layer(theme);
@import "tailwindcss/preflight.css" layer(base);
@import "tailwindcss/utilities.css";

/* Platform-specific font families */
@media android {
  :root {
    --font-mono: monospace;
    --font-rounded: normal;
    --font-serif: serif;
    --font-sans: normal;
  }
}

@media ios {
  :root {
    --font-mono: ui-monospace;
    --font-serif: ui-serif;
    --font-sans: system-ui;
    --font-rounded: ui-rounded;
  }
}

IMPORTANTE: Nenhuma Configuração do Babel Necessária

Com Tailwind v4 e NativeWind v5, você NÃO precisa de um babel.config.js para o Tailwind. Remova quaisquer presets do NativeWind no babel se estiverem presentes:

// DELETE babel.config.js if it only contains NativeWind config
// The following is NO LONGER needed:
// module.exports = function (api) {
//   api.cache(true);
//   return {
//     presets: [
//       ["babel-preset-expo", { jsxImportSource: "nativewind" }],
//       "nativewind/babel",
//     ],
//   };
// };

Wrappers de Componentes CSS

Como o react-native-css requer o encapsulamento explícito de elementos CSS, crie componentes reutilizáveis:

Componentes Principais (src/tw/index.tsx)

import {
  useCssElement,
  useNativeVariable as useFunctionalVariable,
} from "react-native-css";

import { Link as RouterLink } from "expo-router";
import Animated from "react-native-reanimated";
import React from "react";
import {
  View as RNView,
  Text as RNText,
  Pressable as RNPressable,
  ScrollView as RNScrollView,
  TouchableHighlight as RNTouchableHighlight,
  TextInput as RNTextInput,
  StyleSheet,
} from "react-native";

// Link habilitado para CSS
export const Link = (
  props: React.ComponentProps<typeof RouterLink> & { className?: string }
) => {
  return useCssElement(RouterLink, props, { className: "style" });
};

Link.Trigger = RouterLink.Trigger;
Link.Menu = RouterLink.Menu;
Link.MenuAction = RouterLink.MenuAction;
Link.Preview = RouterLink.Preview;

// Hook de Variável CSS
export const useCSSVariable =
  process.env.EXPO_OS !== "web"
    ? useFunctionalVariable
    : (variable: string) => `var(${variable})`;

// View
export type ViewProps = React.ComponentProps<typeof RNView> & {
  className?: string;
};

export const View = (props: ViewProps) => {
  return useCssElement(RNView, props, { className: "style" });
};
View.displayName = "CSS(View)";

// Text
export const Text = (
  props: React.ComponentProps<typeof RNText> & { className?: string }
) => {
  return useCssElement(RNText, props, { className: "style" });
};
Text.displayName = "CSS(Text)";

// ScrollView
export const ScrollView = (
  props: React.ComponentProps<typeof RNScrollView> & {
    className?: string;
    contentContainerClassName?: string;
  }
) => {
  return useCssElement(RNScrollView, props, {

…
Perguntas frequentes

Preciso configurar o Babel?

Não, com o Tailwind v4 e NativeWind v5, você não precisa mais configurar o Babel para o Tailwind. Se houver alguma configuração antiga, ela deve ser removida.

O que é `react-native-css`?

É uma biblioteca que permite usar CSS diretamente no React Native, funcionando em conjunto com o NativeWind para aplicar os estilos do Tailwind.

Por que preciso criar componentes como `View` e `Text`?

O `react-native-css` exige que você use componentes específicos que entendam os estilos CSS. A ferramenta cria versões desses componentes para que você possa usar as classes do Tailwind diretamente neles.

Detalhes

Descrição original do autor

Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2963
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas