Configuração de uma Instância

Como configurar instâncias independentes da plataforma especificando marcas, módulos e integrações.

Este repositório é uma plataforma reutilizável. Uma instância é um site independente que escolhe a marca, os módulos e os serviços externos sem alterar componentes compartilhados.

O que vai para o Git

Edite src/content/sys/site.mdx para o conteúdo público da instância:

---
name: "Ateliê Aurora"
shortName: "Aurora"
url: "https://aurora.example"
description: "Produtos autorais e oficinas criativas."
tagline: "Criado com cuidado."
modules:
  store: true
  education: false
  blog: true
  ai: false
  music: false
  styleGuide: false
ai:
  name: "Aurora Assistente"
  icon: "A"
  adminAssistantName: "Assistente Aurora"
home:
  eyebrow: "Ateliê independente"
  title: "Objetos para o cotidiano"
  lead: "Conheça produtos e processos do Ateliê Aurora."
  primaryCta:
    label: "Ver catálogo"
    href: "/loja"
  storeTitle: "Produtos em destaque"
  servicesTitle: "Serviços"
---

modules controla a navegação e as vitrines da página inicial. Para substituir inteiramente o menu padrão, use navigation:

navigation:
  - href: "/loja"
    label: "Catálogo"
    icon: "store"
  - href: "/blog"
    label: "Diário"
    icon: "blog"
  - href: "/sobre"
    label: "Sobre"
    icon: "about"

Produtos, posts e conteúdo educacional continuam em suas coleções próprias. O mesmo código pode, portanto, ter uma loja sem Educação ou um site educacional sem checkout.

Para uma vitrine de estudos, configure os textos do módulo em site.mdx e adicione períodos e matérias em src/content/education/. A página não precisa expor a grade institucional: use blocos amplos como “Eletrônica Analógica”, “Eletrônica Digital” e “Eletromagnetismo”.

O que nunca vai para o Git

Cada implantação tem seus próprios segredos no painel/CLI do provedor. Não coloque chaves Pix, tokens de PSP, service role do Supabase ou webhooks em site.mdx, wrangler.toml ou frontmatter de produto.

Escolha o adaptador Pix com uma variável da instância:

PIX_PROVIDER=mercadopago # c6 | mercadopago | static

Depois configure somente as credenciais desse adaptador:

AdaptadorSegredos necessários
mercadopagoMERCADOPAGO_ACCESS_TOKEN, MERCADOPAGO_WEBHOOK_SECRET
c6C6_CLIENT_ID, C6_CLIENT_SECRET, C6_PIX_KEY, C6_API_BASE, C6_WEBHOOK_TOKEN e binding C6_MTLS
staticPIX_KEY, PIX_MERCHANT_NAME, PIX_MERCHANT_CITY

O checkout chama o mesmo contrato (PixProvider) para os três casos. Logo, trocar o dono da loja ou sua chave Pix requer apenas novas variáveis de ambiente e, quando necessário, novos webhooks — não uma alteração no checkout.

Nova instalação

  1. Crie um deploy e um banco Supabase próprios para o cliente.
  2. Preencha site.mdx, o catálogo e os módulos desejados.
  3. Configure SITE_URL, SITE_NAME e os segredos no ambiente do novo deploy.
  4. Configure o provedor Pix e seus webhooks nesse mesmo ambiente.
  5. Execute npm run build antes de publicar.

Para uma instalação multiempresa no futuro, acrescente tenant_id às tabelas operacionais e políticas RLS; não compartilhe pedidos, usuários ou credenciais entre clientes por padrão.