Obrigado pelo interesse em contribuir com o GAEIA! Este documento explica como você pode participar do projeto.
# Clone o repositório
git clone https://github.com/seu-usuario/GAEIA.git
cd GAEIA/gaeia-web
# Inicie o ambiente de desenvolvimento
docker compose up# Clone o repositório
git clone https://github.com/seu-usuario/GAEIA.git
cd GAEIA/gaeia-web
# Instale as dependências
npm install
# Inicie o servidor de desenvolvimento
npm run dev- Use tipos explícitos sempre que possível
- Evite
any- prefira tipos específicos ouunknown - Exporte tipos em arquivos dedicados em
src/types/
- Um componente por arquivo
- Nomes em PascalCase (ex:
ProgressBar.astro) - Props tipadas no frontmatter
- Use classes Tailwind diretamente nos componentes
- Para estilos complexos, use arquivos CSS em
src/styles/
Siga o padrão de mensagens descritivas:
Adiciona sistema de badges na página de conquistas
- Implementa BadgeDisplay component
- Adiciona lógica de desbloqueio baseada em progresso
- Integra com localStorage para persistência
- Fork o repositório
- Crie uma branch para sua feature/fix:
git checkout -b feature/nome-da-feature # ou git checkout -b fix/descricao-do-bug - Faça suas alterações seguindo os padrões de código
- Teste localmente antes de submeter
- Commit com mensagens descritivas
- Push para seu fork
- Abra um Pull Request descrevendo suas mudanças
- Código segue os padrões do projeto
- Funciona localmente sem erros
- Descrição clara do que foi alterado
- Issues relacionadas linkadas (se aplicável)
Ao reportar um bug, inclua:
- Descrição clara do problema
- Passos para reproduzir o bug
- Comportamento esperado vs. comportamento atual
- Screenshots (se aplicável)
- Ambiente: navegador, sistema operacional, etc.
Use o template de issue de bug disponível no repositório.
Tópicos ficam em universe/topicos/ como arquivos Markdown:
---
title: Nome do Tópico
description: Breve descrição do conteúdo
tags: [tag1, tag2]
---
# Nome do Tópico
Conteúdo do tópico aqui...- Foco único: Cada tópico deve abordar um conceito específico
- Linguagem clara: Escreva de forma acessível, evitando jargões desnecessários
- Exemplos práticos: Inclua exemplos de código quando relevante
- Progressivo: Assuma conhecimento dos tópicos anteriores na trilha
Trilhas são definidas em universe/trilhas/ como arquivos JSON:
{
"id": "nome-da-trilha",
"titulo": "Nome da Trilha",
"descricao": "Descrição da trilha",
"modulos": [
{
"id": "modulo-1",
"titulo": "Nome do Módulo",
"topicos": ["topico-1", "topico-2"]
}
]
}- Ordem lógica de aprendizado
- Pré-requisitos claros entre módulos
- Balanceamento entre teoria e prática
Abra uma issue com a tag question ou participe das discussões no repositório.
Obrigado por contribuir!