📚 Gemini.md - Diretrizes de Desenvolvimento e Módulos Externos
Este arquivo contém informações cruciais sobre a arquitetura do site (alessiojr.com) para orientação da inteligência artificial (Gemini / Antigravity Agent) e de desenvolvedores.
🎯 Arquitetura do Projeto
O site principal é construído utilizando Quarto CLI e possui uma arquitetura de módulos externos para a gestão do conteúdo das disciplinas ministradas.
Estrutura de Pastas e Módulos
- Pastas Fontes Externas (Master):
- Localização:
/mnt/arquivos/GDrive/Documents/Disciplinas/<nome_da_disciplina>(ex:clp,aed2,cg,compiladores,gps,tec-programacao,ia2,estagio). - Onde o conteúdo original da disciplina é criado e editado.
- Localização:
- Módulos Sincronizados no Site Principal (Cópia):
- Localização:
disciplines/<nome_da_disciplina>dentro deste repositório (alessiojr.com). - Gerados/atualizados via o script
./scripts/sync-modules.sh.
- Localização:
⚠️ Regras Obrigatórias para a IA e Desenvolvedores
1. Manutenção Dupla de Módulos (Master + Sincronizado)
REGRA CRÍTICA: Sempre que houver necessidade de ajustar, corrigir ou modificar arquivos de uma disciplina (estilos, scripts,
.qmd,_metadata.yml, etc.): - A alteração DEVE ser feita na fonte externa (/mnt/arquivos/GDrive/Documents/Disciplinas/<modulo>). - E em seguida refletida/sincronizada no repositório principal via./scripts/sync-modules.sh(ou modificada também emdisciplines/<modulo>).
2. Proibição de Caminhos Absolutos Locais em Symlinks
REGRA CRÍTICA: NUNCA crie ou utilize links simbólicos contendo caminhos absolutos locais (como
/dados/projetos/sites/alessiojr.com/...). - Todos os symlinks dentro dedisciplines/devem obrigatoriamente utilizar caminhos relativos (ex:../../../assets/stylesheets,../../scripts). - Symlinks absolutos quebram a execução no ambiente de CI/CD (GitLab Runner).
3. Pipeline de CI/CD e Script protect-site.sh
- A proteção de páginas via StatiCrypt é executada no hook
post-renderdo Quarto pelo scriptscripts/protect-site.sh. - O script trata a resolução de
npxem ambientes com NVM/Node e possui fallback gracioso casonpxnão esteja instalado no host do GitLab Runner.