Nuxt 4
Tutorial para usar o Sinapse DS em Nuxt 4 pelo registry do shadcn-vue: projeto novo, projeto existente e componentes.
Tutorial por stack
Nuxt 4 usa o Sinapse pelo registry do shadcn-vue
O registry Sinapse entrega tema e componentes pelo CLI do shadcn-vue. As URLs do registry Vue funcionam sem configuração; o namespace @sinapse é opcional.
- 01 Crie o projeto e aplique o tema
- 02 Adote o Sinapse num projeto shadcn-vue existente
- 03 Adicione componentes Sinapse
- 04 Confira o tema no navegador
1 · Projeto novo
Crie o projeto e aplique o tema
O init do shadcn-vue cria o app Nuxt 4 com Tailwind v4 e ícones Tabler. Em seguida, aplique o tema Sinapse.
terminal
pnpm dlx shadcn-vue@latest init -t nuxt -n meu-app --base reka --style nova --icon-library tabler --font inter -b neutral
cd meu-app
pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/theme.json O init instala o template Nuxt com npm. O npm 10, que vem com a Node 22, falha nesse passo (Cannot read properties of null (reading 'edgesOut')); atualize antes com npm install -g npm@11. Com pnpm 10 ou mais recente, aprove os builds de esbuild e vue-demi (pnpm approve-builds) se o comando parar pedindo aprovação. Use TypeScript 6: o compilador de componentes do Vue ainda não suporta TypeScript 7.
2 · Projeto existente
Adote o Sinapse num projeto shadcn-vue existente
Aplique o tema Sinapse no projeto que já usa shadcn-vue.
terminal
pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/theme.json O tema substitui os tokens do shadcn (cores, radius, fontes) pelos do Sinapse. Variáveis, utilitários e regras próprias do projeto continuam no CSS.
3 · Componentes
Adicione componentes Sinapse
Cada comando instala o componente da sua stack com o tema Sinapse e, quando necessário, o Button Sinapse. Para usar nomes curtos (@sinapse/button), registre o namespace no components.json.
terminal
pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/button.json https://dsystem.sinapse.org.br/r/vue/modal.json components.json (opcional)
{
"registries": {"@sinapse":"https://dsystem.sinapse.org.br/r/vue/{name}.json"}
} app/app.vue
<script setup lang="ts">
import { IconPlus } from '@tabler/icons-vue'
import { Button } from '@/components/ui/button'
</script>
<template>
<main class="flex gap-3 p-8">
<Button>
<IconPlus />
Salvar
</Button>
<Button variant="secondary">Editar</Button>
<Button variant="outline">Revisar</Button>
</main>
</template> O Button Sinapse já vem no projeto novo (base.json) e no passo 2 do projeto existente. Depois disso, se o CLI perguntar se deve sobrescrever o Button ao adicionar outro componente, responda N (sem terminal interativo, o CLI já pula o arquivo).
4 · Validação
Confira o tema no navegador
Rode o servidor de desenvolvimento e abra a página inicial. O botão padrão aparece contornado em coral com texto em azul institucional; com a classe .dark no <html>, os tokens mudam para o modo escuro.
terminal
pnpm dev Próximos passos