Guia de Fork de Marca
:::info TODO
Este guia será completado quando o primeiro fork real (front-web-vera-bet-br) for criado. Abaixo está o processo planejado.
:::
Visão geral
Um fork é uma cópia completa do front-web-base. O cliente tem liberdade total para personalizar: criar componentes, páginas, regras, redesenhar o tema inteiro.
O template vem com pontos de customização preparados (config files, tokens de tema), mas nada impede o cliente de modificar qualquer outro arquivo do projeto.
Única restrição: não alterar pacotes @cactus-agents/* diretamente — eles são dependências npm atualizáveis.
O que o cliente pode fazer
- Criar componentes próprios
- Adicionar/remover/reescrever páginas
- Customizar ou redesenhar o layout inteiro
- Criar seus próprios hooks, stores, serviços
- Adicionar bibliotecas e dependências
- Configurar integrações próprias
Pontos rápidos de customização
O template prepara 3 arquivos para facilitar customizações comuns:
| Arquivo | O que facilita |
|---|---|
app/config/theme/colors.ts | Paleta de cores (Tailwind tokens por seção) |
app/config/routes.config.ts | Árvore de rotas (adicionar/remover páginas) |
app/config/layout/composition.ts | Componente de layout (trocar o DefaultLayout) |
Esses são atalhos, não limites. O cliente pode ir além.
Processo planejado
- Clonar
front-web-basecomo novo repositório (front-web-{marca}) - Configurar
.env/.dev.varscom as variáveis da marca - Personalizar tema, rotas, layout — e qualquer outra coisa necessária
- Configurar
.npmrccom token de acesso ao GitHub Packages pnpm installpara resolver pacotes@cactus-agents/*- Testar localmente com
pnpm dev - Configurar deploy no
front-opse GitHub:- Cadastrar o repo em
front-ops/config/brands/<brand>/repos.ymlcomcf_accountdefinido - Editar as org secrets no GitHub (Settings → Secrets → Actions) e adicionar o novo repo à lista de Repository access de cada secret relevante (
GH_PACKAGES_TOKEN,FRONT_GH_ACTIONS_TOKEN,FRONT_{XX}_CF_*) - Se a brand usa um domínio novo, editar o API Token da conta CF correspondente para incluir a nova zona em Zone Resources (CF Dashboard → API Tokens → Edit)
- Cadastrar o repo em
Atualização de lógica de negócio
pnpm update @cactus-agents/auth @cactus-agents/brand # atualiza pacotes específicos
pnpm update @cactus-agents/* # atualiza todos
Sem merge conflicts — os pacotes são dependências npm, não código copiado.
Atualização de template
Para mudanças na UI/estrutura do front-web-base, um PR script pode ser usado para propagar updates. A superfície de conflito depende de quanto o fork divergiu do base.