Guia de Contribuição
Obrigado por querer contribuir com o Roadmap Developer 2026! Este projeto é mantido pela comunidade para ajudar desenvolvedores a se manterem atualizados.
🚀 Como Rodar o Projeto Localmente
Este projeto usa VitePress para gerar o site estático.
Pré-requisitos
- Node.js (versão 18 ou superior)
- NPM ou Yarn
Passos
Clone o repositório:
bashgit clone https://github.com/seu-usuario/roadmap-developer-2026.git cd roadmap-developer-2026Instale as dependências:
bashnpm installRode o servidor de desenvolvimento:
bashnpm run docs:devO site estará disponível em
http://localhost:5173. As mudanças nos arquivos Markdown são refletidas instantaneamente.Verifique o Build de Produção: Antes de enviar suas mudanças, verifique se o build passa sem erros:
bashnpm run docs:build
🔄 Diretrizes de CI/CD e Qualidade de Código
Para garantir a qualidade, segurança e estabilidade do projeto, implementamos um pipeline de CI/CD rigoroso com GitHub Actions. Todas as contribuições devem passar por essas validações antes de serem mescladas.
1. Testes e Cobertura (Mínimo 80%)
- Testes Unitários: Utilizamos Vitest. Todas as novas funções e utilitários devem ter testes correspondentes.
- Cobertura de Código: É exigido um mínimo de 80% de cobertura (linhas, funções, branches e statements).
- Testes E2E: Utilizamos Playwright para garantir que a navegação e renderização do VitePress funcionem corretamente.
- Comandos úteis:
- Rodar testes unitários e cobertura:
npm run test:coverage - Rodar testes E2E:
npm run test:e2e
- Rodar testes unitários e cobertura:
2. Linting e Formatação
- Código TypeScript/JavaScript: Utilizamos ESLint. Verifique com
npm run lint. - Arquivos Markdown: Utilizamos Markdownlint para manter o padrão. Verifique com
npm run lint:md. - Type Checking: O projeto usa TypeScript estrito. Valide com
npm run typecheck.
3. Pipeline de CI/CD (ci.yml)
Nosso fluxo de CI é acionado em todo push para main ou develop e em todo pull_request para main. Ele consiste em:
- Lint: Executa verificações de ESLint, MarkdownLint, Typecheck e
npm audit(para vulnerabilidades de segurança). - Test: Roda os testes unitários (
vitest), testes E2E (playwright) e faz upload do relatório de cobertura para o Codecov. - Build: Gera a build de produção do VitePress.
- Deploy: Se a mudança for na branch
main, realiza o deploy automatizado para o GitHub Pages.
4. Variáveis de Ambiente
Atualmente, o projeto não exige variáveis de ambiente complexas para rodar localmente, pois é um site estático gerado pelo VitePress.
- Caso o projeto expanda para requerer APIs externas, utilize um arquivo
.env.local(que já está no.gitignore) para testes locais e documente as chaves necessárias no README. As chaves de produção devem ser configuradas de forma segura nas Secrets do GitHub Actions.
📝 Como Contribuir com Conteúdo
Estrutura: Todo o conteúdo está na pasta
roadmaps/.Imagens: Use a sintaxe padrão do Markdown. Para diagramas, prefira usar Mermaid dentro de blocos de código:
markdown```mermaid flowchart TD A[Start] --> B{Is it?} B -- Yes --> C[OK] B -- No --> D[Rethink] ```Links: Verifique se os links que você adicionou funcionam e são relevantes.
Estilo: Mantenha um tom encorajador, prático e direto.
🤝 Pull Requests
- Crie uma branch para sua feature (
git checkout -b feature/novo-conteudo). - Faça o commit das suas alterações.
- Abra um Pull Request descrevendo o que você mudou e por quê.
Obrigado por ajudar a comunidade! 🚀