Como Contribuir
Existem várias formas de colaborar com o ThesisBR, distribuídas pelos cinco grandes eixos do projeto: coleta, estruturação, disponibilização, enriquecimento semântico e disseminação.
Áreas de Contribuição
Section titled “Áreas de Contribuição”1. Curadoria e Dados (Além do Código)
Section titled “1. Curadoria e Dados (Além do Código)”Contribuições fundamentais que não exigem programação:
- Identificação de Repositórios OAI-PMH: Mapear e testar os endpoints OAI-PMH de universidades brasileiras públicas e privadas (DSpace, Fedora, etc.) que ainda não constam no projeto.
- Auditoria de Metadados: Avaliar amostras coletadas pelo comando
thesisbr coletare reportar incoerências em áreas de conhecimento da CAPES, nomes de orientadores, bancas ou resumos. - Teste dos Manuais e Tutoriais: Seguir o guia de utilização rápida deste site, testar os comandos no terminal e apontar passos confusos ou comandos que falharam.
- Divulgação Científica: Apresentar a ferramenta em grupos de pesquisa acadêmica, pós-graduações e compartilhar os dados produzidos.
2. Desenvolvimento e Engenharia de Dados
Section titled “2. Desenvolvimento e Engenharia de Dados”Para quem deseja contribuir diretamente com código Python:
- Aprimoramento da CLI (
src/thesisbr/): Criar novos comandos ou otimizar os comandos existentes (identificar,coletar) construídos sobre o Typer. - Tratamento de XML e Metadados: Aperfeiçoar os parsers que convertem os esquemas XML brutos colhidos via OAI-PMH em estruturas de dados limpas e consistentes.
- Enriquecimento Semântico (LLM): Colaborar na concepção e teste de prompts e rotinas para extração semântica de palavras-chave, resumos estruturados e classificação temática automática.
- Testes Automatizados: Expandir a suíte de testes com Pytest (
uv run pytest -m "not e2e"), garantindo a robustez dos coletores sem depender de chamadas externas de rede. - Website da Documentação: Melhorar os textos, componentes e organização deste site construído em Astro e Starlight.
Fluxo de Trabalho
Section titled “Fluxo de Trabalho”- Escolha ou abra uma Issue: Antes de iniciar uma modificação no código, consulte as Issues abertas no repositório no GitHub ou crie uma nova explicando sua proposta.
- Crie uma branch: Trabalhe sempre em uma branch própria seguindo os padrões do projeto (ex.:
feat/nome-da-featureoudocs/nome-da-melhoria). - Valide seu código localmente:
Terminal window uv run pytest -m "not e2e"uv run pre-commit run --all-files - Abra o Pull Request: Envie sua branch e descreva claramente as alterações realizadas.