|
1 | | -# Guia de Contribuição |
| 1 | +# Guia de Contribuicao |
2 | 2 |
|
3 | | -Obrigado por querer contribuir com o Java Labs! |
| 3 | +Obrigado por querer contribuir com o Java Labs. |
4 | 4 |
|
5 | 5 | ## O que pode ser contribuido |
6 | 6 |
|
7 | | -- Melhorias e correções nos conteúdos (`/notes`) |
8 | | -- Novos exemplos de código em `/examples` |
9 | | -- Exercícios adicionais em `/exercicios` |
10 | | -- Projetos práticos em `/projetos` |
11 | | -- Recursos recomendados em `/recursos` |
| 7 | +- Melhorias e correcoes nas notas em `src/content/docs/` |
| 8 | +- Novos exemplos de codigo em `examples/` |
| 9 | +- Exercicios adicionais em `examples/exercises.md` |
| 10 | +- Projetos praticos em `examples/projects.md` |
| 11 | +- Recursos recomendados em `src/content/docs/recursos.md` |
| 12 | +- Melhorias no site Astro + Starlight |
12 | 13 |
|
13 | 14 | ## Processo |
14 | 15 |
|
15 | | -1. Crie uma branch a partir de `main` seguindo o padrão: |
16 | | - ``` |
| 16 | +1. Crie uma branch a partir de `main` seguindo o padrao: |
| 17 | + |
| 18 | + ```text |
17 | 19 | feature/descricao-curta |
18 | 20 | fix/descricao-curta |
19 | 21 | docs/descricao-curta |
20 | 22 | ``` |
21 | 23 |
|
22 | | -2. Faça commits atômicos com mensagens no padrão de Conventional Commits: |
23 | | - ``` |
24 | | - feat: adicionar exercícios sobre loops |
25 | | - fix: corrigir exemplo de recursão |
26 | | - docs: melhorar conteúdo sobre herança |
| 24 | +2. Faca commits atomicos com mensagens no padrao Conventional Commits: |
| 25 | + |
| 26 | + ```text |
| 27 | + feat: adicionar exercicios sobre loops |
| 28 | + fix: corrigir exemplo de recursao |
| 29 | + docs: melhorar conteudo sobre heranca |
27 | 30 | ``` |
28 | 31 |
|
29 | | - Tipos válidos: `feat`, `fix`, `docs`, `style`, `refactor`, `chore` |
| 32 | + Tipos validos: `feat`, `fix`, `docs`, `style`, `refactor`, `chore` |
| 33 | + |
| 34 | +3. Abra um Pull Request usando o template do repositorio. |
| 35 | + |
| 36 | +4. Apos aprovacao, o merge sera feito por uma pessoa mantenedora. |
| 37 | + |
| 38 | +## Rodando o site localmente |
| 39 | + |
| 40 | +O Java Labs usa Astro + Starlight para publicar a documentacao. |
| 41 | + |
| 42 | +```bash |
| 43 | +npm install |
| 44 | +npm run dev |
| 45 | +``` |
| 46 | + |
| 47 | +O site fica disponivel em `http://localhost:4321`. |
| 48 | + |
| 49 | +Para validar antes de abrir o PR: |
| 50 | + |
| 51 | +```bash |
| 52 | +npm run build |
| 53 | +npm run preview |
| 54 | +``` |
| 55 | + |
| 56 | +## Padroes de conteudo |
30 | 57 |
|
31 | | -3. Abra um Pull Request usando o template disponível e aguarde revisão. |
| 58 | +### Notas em `src/content/docs/` |
32 | 59 |
|
33 | | -4. Após aprovação, o merge será feito por um mantenedor. |
| 60 | +- Escreva em portugues (pt-BR) |
| 61 | +- Use titulos hierarquicos (`##`, `###`) |
| 62 | +- Prefira exemplos curtos e objetivos |
| 63 | +- Explique o "por que" alem do "como" |
| 64 | +- Nomeie arquivos com prefixo numerico quando fizer parte da trilha, por exemplo `04-variaveis.md` |
| 65 | +- Use frontmatter Starlight completo |
34 | 66 |
|
35 | | -## Padrões de conteúdo |
| 67 | +Frontmatter recomendado: |
36 | 68 |
|
37 | | -### Documentação (Markdown) |
| 69 | +```yaml |
| 70 | +--- |
| 71 | +title: "Titulo da nota" |
| 72 | +description: "Resumo curto explicando o foco da pagina." |
| 73 | +lastUpdated: 2026-01-01 |
| 74 | +sidebar: |
| 75 | + order: 4 |
| 76 | +tags: ["java", "tema", "iniciante"] |
| 77 | +--- |
| 78 | +``` |
38 | 79 |
|
39 | | -- Escreva em português (pt-BR) |
40 | | -- Use títulos hierárquicos (`##`, `###`) |
41 | | -- Prefira exemplos curtos e diretos |
42 | | -- Inclua o "por quê", não apenas o "como" |
43 | | -- Nomeie os arquivos com prefixo numérico sequencial: `03-nome-do-topico.md` |
44 | | -- Atualize o índice em `notes/README.md` ao adicionar um novo tópico |
| 80 | +Se a nota ficar melhor agrupada por assunto, voce pode criar subpastas dentro de `src/content/docs/`. |
45 | 81 |
|
46 | | -### Exemplos de código (`/examples`) |
| 82 | +### Exemplos em `examples/` |
47 | 83 |
|
48 | | -- Um conceito por pasta, nomeada com prefixo sequencial: `02-NomeDoExemplo/` |
49 | | -- Inclua um comentário no topo do arquivo explicando o que o exemplo demonstra |
50 | | -- Adicione um `README.md` na pasta com instruções de execução |
51 | | -- Teste o código antes de submeter: `javac Arquivo.java && java Arquivo` |
| 84 | +- Um conceito por pasta, nomeada com prefixo sequencial quando fizer sentido, por exemplo `02-Variaveis/` |
| 85 | +- Inclua um comentario no topo do arquivo explicando o objetivo do exemplo |
| 86 | +- Adicione um `README.md` na pasta com contexto e instrucoes de execucao |
| 87 | +- Teste o codigo antes de submeter com `javac Arquivo.java` e `java NomeDaClasse` |
52 | 88 |
|
53 | | -### Exercícios (`/exercicios`) |
| 89 | +### Exercicios em `examples/exercises.md` |
54 | 90 |
|
55 | 91 | - Descreva claramente o objetivo |
56 | | -- Indique o nível de dificuldade (iniciante / intermediário / avançado) |
57 | | -- Inclua exemplos de saída esperada |
58 | | -- Use critérios de sucesso em formato de checklist |
| 92 | +- Indique o nivel de dificuldade quando necessario |
| 93 | +- Inclua exemplos de saida esperada |
| 94 | +- Use criterios de sucesso em formato de checklist |
| 95 | +- Aponte para notas relacionadas em `src/content/docs/` quando isso ajudar |
59 | 96 |
|
60 | | -### Projetos (`/projetos`) |
| 97 | +### Projetos em `examples/projects.md` |
61 | 98 |
|
62 | 99 | - Descreva o objetivo e o contexto |
63 | | -- Liste os requisitos em formato de checklist |
64 | | -- Inclua ao menos um exemplo de uso ou saída esperada |
65 | | -- Adicione dicas para quem está começando |
| 100 | +- Liste requisitos em formato de checklist |
| 101 | +- Inclua ao menos um exemplo de uso ou saida esperada |
| 102 | +- Adicione dicas para quem esta comecando |
66 | 103 |
|
67 | | -## Dúvidas? |
| 104 | +## Duvidas |
68 | 105 |
|
69 | 106 | Abra uma issue com a tag `question`. |
0 commit comments