Um boilerplate moderno e otimizado para SEO usando Astro, React, AWS e GitHub Actions.
- Framework: Astro v5.3.0 com React
- Linguagem: TypeScript
- Estilização: Tailwind CSS + MerakiUI
- Gerenciador: PNPM
-
SEO
- Meta tags dinâmicas
- OpenGraph e Twitter Cards
- Schema.org (JSON-LD)
- Sitemap automático
- Robots.txt dinâmico
- Headers de segurança
-
Performance
- Otimização de imagens (Sharp)
- Code splitting
- Minificação CSS/JS
- Cache otimizado
- Compressão Brotli/Gzip
- Deploy: Amazon S3 + CloudFront
- CI/CD: GitHub Actions
- Automação: AWS CLI
- UI/UX: Storybook
- Linting: ESLint + Prettier
- Editor: EditorConfig
- Conteúdo: Markdown (preparado para CMS)
/
├── .github/ # Configurações CI/CD
├── public/ # Assets estáticos
├── scripts/ # Scripts de automação
├── src/
│ ├── pages/ # Configurações de rotas e páginas
│ ├── shared/ # Código compartilhado
│ │ ├── components/ # Componentes React/Astro
│ │ ├── config/ # Configurações
│ │ ├── layouts/ # Layouts base
│ │ ├── styles/ # Estilos globais
│ │ └── utils/ # Utilitários
└── content/ # Conteúdo em Markdown
# Instalação
pnpm install
# Desenvolvimento
pnpm dev # Inicia servidor local
pnpm build # Build de produção
pnpm preview # Preview do build
# Utilitários
pnpm generate-robots # Gera robots.txt
pnpm storybook # Inicia Storybook
- Clone o repositório
- Crie um arquivo
.env
baseado no.env.example
- Configure as variáveis de ambiente:
# Site
PUBLIC_SITE_URL=https://seu-site.com
# AWS (para deploy)
AWS_S3_BUCKET=seu-bucket
AWS_REGION=sa-east-1
AWS_CLOUDFRONT_DISTRIBUTION_ID=sua-distribution
O deploy é automatizado via GitHub Actions quando há push na branch main. O processo:
- Build do projeto
- Geração do robots.txt
- Upload para S3
- Invalidação do cache CloudFront
O projeto inclui:
- Meta tags otimizadas
- OpenGraph para redes sociais
- Schema.org para rich snippets
- Sitemap automático
- Robots.txt dinâmico
- Headers de segurança e performance
Otimizações implementadas:
- Imagens WebP otimizadas
- Code splitting
- CSS/JS minificados
- Cache configurado
- Compressão habilitada
- HTTPS forçado
- Headers de segurança
- CSP configurado
- HSTS habilitado
Este projeto utiliza o Tailwind CSS em conjunto com o MerakiUI para estilização e componentes de interface do usuário. O Tailwind CSS fornece utilitários de baixo nível para construir estilos personalizados, enquanto o MerakiUI oferece componentes pré-construídos que podem ser facilmente integrados e personalizados usando o Tailwind CSS.
- Fork o projeto
- Crie sua branch (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.