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
Mensagem pronta para colar
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-setupOu 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.mdConteú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
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2963
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC