Identidade
Tokens
Design system auto-hospedado do CarlosHPS Studio. Componentes shadcn na identidade do Studio — instale via npx shadcn add, ajuste os tokens por cliente.
Clone o template base e configure o components.json para apontar para o registry do Studio:
1. Clonar o template
npx degit carloshps/studio-kit/templates/astro-base meu-projeto
cd meu-projeto
pnpm install 2. Instalar um componente
npx shadcn@latest add "https://kit.carloshps.com.br/registry/button.json" --yes --overwrite Use --overwrite se o projeto já tiver um utils.ts.
3. Adaptar a marca (re-branding)
# Edite src/styles/tokens.css — o arquivo tem um guia comentado em 4 passos:
# 1. Tipografia (Google Fonts import + --font-sans)
# 2. Cor de acento (--primary, --accent, --border, --ring)
# 3. Paleta de fundo (--background, --background-secondary)
# 4. Radius dos cantos (--radius) O template já inclui este arquivo. Referência para projetos novos:
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "default",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "tailwind.config.mjs",
"css": "src/styles/global.css",
"baseColor": "slate",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
} cn() — clsx + tailwind-merge
npx shadcn@latest add "https://kit.carloshps.com.br/registry/utils.json" Botão com variantes: default, primary, outline, ghost, link
npx shadcn@latest add "https://kit.carloshps.com.br/registry/button.json" Etiqueta inline com variantes de cor
npx shadcn@latest add "https://kit.carloshps.com.br/registry/badge.json" Container com Header, Content, Footer
npx shadcn@latest add "https://kit.carloshps.com.br/registry/card.json" Campo de texto base
npx shadcn@latest add "https://kit.carloshps.com.br/registry/input.json" Header sticky com logo, links de navegação, CTA e menu mobile (hamburger)
npx shadcn@latest add "https://kit.carloshps.com.br/registry/navbar.json" Modal acessível (foco trapeado, Esc para fechar) — Trigger, Content, Header, Title, Description, Footer
npx shadcn@latest add "https://kit.carloshps.com.br/registry/dialog.json" Navegação em abas com teclado — Tabs, TabsList, TabsTrigger, TabsContent
npx shadcn@latest add "https://kit.carloshps.com.br/registry/tabs.json" Seção hero com eyebrow, título, subtítulo e CTAs
npx shadcn@latest add "https://kit.carloshps.com.br/registry/hero.json" Bloco de métrica com valor, label e descrição
npx shadcn@latest add "https://kit.carloshps.com.br/registry/metric-block.json" Card de plano com lista de features e CTA
npx shadcn@latest add "https://kit.carloshps.com.br/registry/pricing-card.json" Seção de perguntas e respostas expansível
npx shadcn@latest add "https://kit.carloshps.com.br/registry/faq.json" Seção de call-to-action com título e botão
npx shadcn@latest add "https://kit.carloshps.com.br/registry/cta-section.json" Formulário de captura de lead
npx shadcn@latest add "https://kit.carloshps.com.br/registry/lead-form.json" Carrossel de depoimentos
npx shadcn@latest add "https://kit.carloshps.com.br/registry/testimonial.json" Rodapé com marca, colunas de links e copyright
npx shadcn@latest add "https://kit.carloshps.com.br/registry/footer.json" O template já inclui estes arquivos. Útil para projetos que não usam o template base.
CSS custom properties da marca (dark/light). Instala em src/styles/tokens.css — edite para re-branding por cliente.
npx shadcn@latest add "https://kit.carloshps.com.br/registry/tokens.json" --yes --overwrite Preset Tailwind do Studio — cores, sombras e fontes mapeados aos tokens CSS. Instala como studio-preset.js.
npx shadcn@latest add "https://kit.carloshps.com.br/registry/tailwind-preset.json" --yes --overwrite
O tema padrão é dark. Para ativar o tema light, adicione a classe .light no elemento <html> (ou use data-theme="light"):
document.documentElement.classList.toggle("light");
Os overrides light estão em src/styles/tokens.css — ajuste conforme a identidade do cliente.