├── CODEOWNERS ├── assets └── br.png ├── website ├── README.md └── data │ └── open-source │ ├── maintainers.yml │ └── projects.yml ├── .gitignore ├── SUPPORT.md ├── LICENSE ├── .github ├── workflows │ ├── trigger-deploy-on-comment.yml │ └── website-pr-validation.yml └── PULL_REQUEST_TEMPLATE.md ├── SECURITY.md ├── script └── website-pr-validation.rb ├── CONTRIBUTING.md ├── CODE_OF_CONDUCT.md └── README.md /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @github/brazil-community-reviewers 2 | -------------------------------------------------------------------------------- /assets/br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/brasil/main/assets/br.png -------------------------------------------------------------------------------- /website/README.md: -------------------------------------------------------------------------------- 1 | # GitHubBrasil.com 2 | 3 | This directory hosts content that is served on [githubbrasil.com](https://githubbrasil.com). 4 | 5 | For contributing to the content, check out [CONTRIBUTING.md](https://github.com/github/brasil/blob/main/CONTRIBUTING.MD) 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build and Release Folders 2 | bin-debug/ 3 | bin-release/ 4 | [Oo]bj/ 5 | [Bb]in/ 6 | 7 | # Other files and folders 8 | .settings/ 9 | 10 | # Executables 11 | *.swf 12 | *.air 13 | *.ipa 14 | *.apk 15 | 16 | # IDEAs 17 | .idea 18 | 19 | # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` 20 | # should NOT be excluded as they contain compiler settings and other important 21 | # information for Eclipse / Flash Builder. 22 | -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Suporte 2 | 3 | ## Como relatar problemas e obter ajuda 4 | 5 | Este projeto utiliza as issues do GitHub para rastrear bugs e solicitações de recursos. Por favor, faça uma busca nas issues existentes antes de relatar novos problemas para evitar duplicatas. Para novos problemas, registre seu bug ou solicitação de recurso como uma nova issue. 6 | 7 | - O GitHubBrasil.com está em desenvolvimento ativo e é mantido pela equipe do GitHub. Faremos o possível para responder a solicitações de suporte, solicitações de recursos e perguntas da comunidade de maneira oportuna. 8 | 9 | ## Política de suporte do GitHub 10 | 11 | O suporte para este projeto é limitado aos recursos listados acima. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 GitHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/trigger-deploy-on-comment.yml: -------------------------------------------------------------------------------- 1 | name: Trigger deploy on comment 2 | on: 3 | issue_comment: 4 | types: [created] 5 | permissions: read-all 6 | jobs: 7 | if_merged: 8 | if: github.event.issue.pull_request && contains(github.event.comment.body, '/deploy') 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: User has permission to deploy 12 | uses: actions/github-script@v6 13 | with: 14 | script: | 15 | // Check if the user trying to deploy is an authorized user 16 | const creator = context.payload.sender.login 17 | const authorizedHandles = ["mvkaran", "andreagriffiths11", "pachicodes", "abhinavrajesh"] 18 | if(!authorizedHandles.includes(creator.toLowerCase())) { 19 | core.setFailed("User not authorized to deploy") 20 | } 21 | - name: Trigger build 22 | uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc #v1.2.4 23 | with: 24 | repo: ${{ secrets.GITHUBBRASIL_REPO_NWO }} 25 | workflow: Trigger build when public PR is merged 26 | token: ${{ secrets.PAT }} 27 | inputs: '{"pr_number": "${{ github.event.issue.number }}", "creator_username": "${{ github.event.issue.user.login }}" }' 28 | -------------------------------------------------------------------------------- /website/data/open-source/maintainers.yml: -------------------------------------------------------------------------------- 1 | --- 2 | Bahia: 3 | - daltonmenezes 4 | Distrito Federal: 5 | - cezarsa 6 | Espírito Santo: 7 | - fazedordecodigo 8 | Mato Grosso: 9 | - leogregianin 10 | Minas Gerais: 11 | - zecruel 12 | Paraíba: 13 | - OtacilioN 14 | Paraná: 15 | - ellisonleao 16 | - RenanTashiro 17 | - guiseek 18 | - MauricioFauth 19 | Pernambuco: 20 | - ErickSimoes 21 | Rio de Janeiro: 22 | - roberto-ieru 23 | - raphamorim 24 | - heynemann 25 | - diegolmello 26 | Rio Grande do Sul: 27 | - fabriziomello 28 | - rodrigok 29 | - hishamhm 30 | - cpanato 31 | - Camilotk 32 | - mateusrovedaa 33 | - igorvinoski 34 | # Rondônia: 35 | # Roraima: 36 | Santa Catarina: 37 | - andreynering 38 | - eminetto 39 | - knabben 40 | São Paulo: 41 | - avelino 42 | - felipefialho 43 | - iuricode 44 | - yagasaki7k 45 | - RafaelGSS 46 | - htrgouvea 47 | - giggio 48 | - rsaz 49 | - vinijmoura 50 | - rikatz 51 | - ericdallo 52 | - andrebaltieri 53 | - IvanildoBarauna 54 | - abehidek 55 | - viniciusventura29 56 | - italojs 57 | - wellwelwel 58 | Joinville: 59 | - andreynering 60 | Porto Alegre: 61 | - hishamhm 62 | - cpanato 63 | Três Coroas - RS: 64 | - rodrigok 65 | Igrejinha - RS: 66 | - diegolmello 67 | Florianópolis - SC: 68 | - eminetto 69 | - knabben 70 | Tocantins: 71 | - luzfcb 72 | Morando fora do Brasil: 73 | - josevalim 74 | - zenorocha 75 | - camilamaia 76 | - erikaheidi 77 | - badtuxx 78 | - caarlos0 79 | - gustavohenke 80 | - cjpatoilo 81 | - rochacbruno 82 | - jonatas 83 | - filipedeschamps 84 | - gustavofreze 85 | - stormqueen1990 86 | - juliano 87 | - arthurfiorette 88 | - vsouza 89 | - lpereira 90 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | ### Por favor, confirme se este pull request atende aos seguintes requisitos: 3 | 4 | - [ ] Segui as diretrizes de contribuição: https://github.com/github/brasil/blob/main/CONTRIBUTING.md. 5 | 6 | ### Qual alteração você está propondo? 7 | 8 | - [ ] Adicionar/atualizar projeto(s) de código aberto 9 | - [ ] Adicionar/atualizar mantenedor(es) 10 | 11 | --- 12 | 13 | 14 | ### Adicionar/atualizar projeto(s) de código aberto 15 | 16 | - [ ] O projeto foi construído no Brasil ou recebe contribuições significativas do Brasil 17 | - [ ] O projeto possui pelo menos 100 pessoas marcando como favorito (stargazers) 18 | 19 | **Por que este projeto de código aberto deveria ser apresentado?** 20 | 21 | > Por favor, substitua esta linha por uma explicação do motivo pelo qual você acredita que essas alterações devem ser feitas. 22 | 23 | 24 | ### Adicionar/atualizar mantenedor(es) 25 | 26 | - [ ] A localização do mantenedor em seu perfil do GitHub indica que é no Brasil 27 | - [ ] O mantenedor aprovou que este PR seja incluído no site 28 | 29 | **Quais projeto(s) de código aberto o indivíduo mantém?** 30 | 31 | > Por favor, substitua esta linha por URLs do GitHub para os projetos que o(s) indivíduo(s) mantém. 32 | 33 | 34 | ### Algo que não se encaixa perfeitamente nas opções acima 35 | 36 | - [ ] Minhas edições sugeridas não se referem a uma página existente, ou pelo menos não a uma única página 37 | 38 | > Por favor, substitua esta linha por uma explicação das alterações propostas. 39 | 40 | --- 41 | 42 | **Obs: fecharemos o seu PR sem comentários se você não marcar as caixas acima e fornecer TODAS as informações solicitadas.** -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | Obrigado por ajudar a tornar o GitHub seguro para todos. 2 | 3 | # Segurança 4 | 5 | O GitHub leva a segurança de nossos produtos e serviços de software a sério, incluindo todos os repositórios de código aberto gerenciados por meio de nossas organizações do GitHub, como [GitHub](https://github.com/GitHub). 6 | 7 | Embora os repositórios de código aberto estejam fora do escopo de nosso programa de recompensa por bugs e, portanto, não sejam elegíveis para recompensas, garantiremos que sua descoberta seja encaminhada aos mantenedores apropriados para solução. 8 | 9 | ## Relatando Problemas de Segurança 10 | 11 | Se você acredita ter encontrado uma vulnerabilidade de segurança em qualquer repositório de propriedade do GitHub, por favor, nos informe através de uma divulgação coordenada. 12 | 13 | **Por favor, não relate vulnerabilidades de segurança por meio de issues públicas, discussões ou pull requests no GitHub.** 14 | 15 | Em vez disso, envie um e-mail para opensource-security[@]github.com. 16 | 17 | Por favor, inclua o máximo de informações listadas abaixo para nos ajudar a entender e resolver melhor o problema: 18 | 19 | * O tipo de problema (por exemplo, estouro de buffer, injeção de SQL ou script entre sites) 20 | * Caminhos completos dos arquivos de origem relacionados à manifestação do problema 21 | * A localização do código fonte afetado (tag/branch/commit ou URL direto) 22 | * Qualquer configuração especial necessária para reproduzir o problema 23 | * Instruções passo a passo para reproduzir o problema 24 | * Código de prova de conceito ou de exploração (se possível) 25 | * Impacto do problema, incluindo como um atacante poderia explorá-lo 26 | 27 | Essas informações nos ajudarão a analisar seu relatório com mais rapidez. 28 | 29 | ## Política 30 | 31 | Consulte a [Política de Safe Harbor do GitHub](https://docs.github.com/en/github/site-policy/github-bug-bounty-program-legal-safe-harbor#1-safe-harbor-terms) -------------------------------------------------------------------------------- /.github/workflows/website-pr-validation.yml: -------------------------------------------------------------------------------- 1 | name: Validate PR for githubbrasil.com website 2 | on: 3 | pull_request: 4 | branches: 5 | - main 6 | paths: 7 | - "website/**" 8 | 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | permissions: read-all 13 | steps: 14 | - name: Checkout repo 15 | uses: actions/checkout@v3 16 | - name: Check format of yaml file 17 | id: yaml-lint 18 | uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c #v3.1.1 19 | with: 20 | strict: true 21 | file_or_dir: website/**/*.yml 22 | config_data: | 23 | rules: 24 | empty-lines: 25 | max: 1 26 | hyphens: 27 | max-spaces-after: 1 28 | indentation: 29 | spaces: consistent 30 | indent-sequences: true 31 | check-multi-line-strings: false 32 | new-lines: 33 | type: unix 34 | colons: 35 | max-spaces-before: 0 36 | max-spaces-after: 1 37 | empty-values: 38 | forbid-in-block-mappings: true 39 | key-duplicates: false 40 | format: github 41 | validate: 42 | runs-on: ubuntu-latest 43 | needs: lint 44 | permissions: 45 | contents: read 46 | pull-requests: write 47 | actions: write 48 | steps: 49 | - name: Checkout fork 50 | uses: actions/checkout@v3 51 | - name: Checkout main 52 | uses: actions/checkout@v3 53 | with: 54 | ref: main 55 | repository: ${{ secrets.BRAZIL_REPO_NWO }} 56 | path: ./brazil-main 57 | - uses: ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4 #v1.207.0 58 | with: 59 | ruby-version: 3.0.0 60 | - name: Validate PR 61 | run: | 62 | gem install octokit safe_yaml 63 | ruby brazil-main/script/website-pr-validation.rb 64 | env: 65 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 66 | BRAZIL_REPO_NWO: ${{ secrets.BRAZIL_REPO_NWO }} 67 | -------------------------------------------------------------------------------- /website/data/open-source/projects.yml: -------------------------------------------------------------------------------- 1 | --- 2 | Business Software: 3 | - tsuru/tsuru 4 | - RocketChat/Rocket.Chat 5 | - RocketChat/Rocket.Chat.ReactNative 6 | 7 | Consumer Software: 8 | - maykbrito/mini-video-me 9 | - clappr/clappr 10 | - devhubapp/devhub 11 | - raphamorim/rio 12 | 13 | Data Science & Engineering: 14 | - BrasilAPI/BrasilAPI 15 | - zecruel/CadZinho 16 | 17 | Developer Productivity & Tools: 18 | - editor-bootstrap/vim-bootstrap 19 | - glorious-codes/glorious-demo 20 | - fsouza/go-dockerclient 21 | - kazzkiq/balloon.css 22 | - lpereira/lwan 23 | - dynaconf/dynaconf 24 | - open-cli-tools/concurrently 25 | - goreleaser/goreleaser 26 | - htop-dev/htop 27 | - heartcombo/devise 28 | - ellisonleao/magictools 29 | - go-task/task 30 | - dracula/dracula-theme 31 | - OtacilioN/Brasilino 32 | - brazilian-utils/brazilian-utils 33 | - shellhub-io/shellhub 34 | - raphamorim/react-ape 35 | - avelino/awesome-go 36 | - ujizin/camposer 37 | - backend-br/vagas 38 | - backend-br/desafios 39 | - daltonmenezes/aura-theme 40 | - daltonmenezes/electron-app 41 | - kubepug/kubepug 42 | - TadaSoftware/PyNFe 43 | - clojure-lsp/clojure-lsp 44 | - vsouza/docker-SQS-local 45 | 46 | DevOps: 47 | - rapha-borges/oke-free 48 | 49 | Observability: 50 | - badtuxx/giropops-monitoring 51 | 52 | Machine Learning: 53 | - nubank/fklearn 54 | 55 | Observability: 56 | - badtuxx/giropops-monitoring 57 | 58 | Frameworks: 59 | - expressots/expressots 60 | - botcity-dev/botcity-framework-core-python 61 | 62 | Libraries: 63 | - giggio/node-chromedriver 64 | - ErickSimoes/Ultrasonic 65 | - leandromoreira/redlock-rb 66 | - globocom/m3u8 67 | - zio/zio-quill 68 | - brazilian-utils/brutils-python 69 | - andrebaltieri/Flunt 70 | - arthurfiorette/axios-cache-interceptor 71 | - kitajs/html 72 | 73 | GitHub Power-Ups: 74 | - iuricode/readme-template 75 | - george-gca/multi-language-al-folio 76 | 77 | Learning & Education: 78 | - leandromoreira/ffmpeg-libav-tutorial 79 | - CollabCodeTech/backend-challenges 80 | - badtuxx/DescomplicandoKubernetes 81 | - badtuxx/DescomplicandoDocker 82 | - Universidade-Livre/ciencia-da-computacao 83 | - felipefialho/frontend-challenges 84 | - flaviojmendes/trilhainfo 85 | - gustavofreze/kotlin4noobs 86 | - OtacilioN/awesome-hacktoberfest 87 | - ReciHub/FunnyAlgorithms 88 | - leandromoreira/digital_video_introduction 89 | - leandromoreira/cdn-up-and-running 90 | - leandromoreira/linux-network-performance-parameters 91 | - levxyca/diciotech 92 | 93 | Machine Learning: 94 | - nubank/fklearn 95 | 96 | Observability: 97 | - badtuxx/giropops-monitoring 98 | 99 | Software Testing: 100 | - scanapi/scanapi 101 | - wellwelwel/poku 102 | 103 | UI/UX: 104 | - milligram/milligram 105 | 106 | Security & Privacy: 107 | - htrgouvea/nipe 108 | - undistro/zora 109 | - halencarjunior/BugBuntu 110 | 111 | Azure DevOps Tools: 112 | - vinijmoura/Azure-DevOps 113 | 114 | Awesome Lists: 115 | - vsouza/awesome-ios 116 | -------------------------------------------------------------------------------- /script/website-pr-validation.rb: -------------------------------------------------------------------------------- 1 | require "rubygems" 2 | require "octokit" 3 | require "json" 4 | require "logger" 5 | require "safe_yaml" 6 | 7 | CLIENT = Octokit::Client.new(:access_token => ENV["GITHUB_TOKEN"]) 8 | REPOSITORY= ENV["BRAZIL_REPO_NWO"] 9 | BASE_PATH = "website/data/open-source" 10 | @logger = Logger.new(STDOUT) 11 | 12 | # Flag for checking if the issues are present 13 | $ISSUES_PRESENT = false 14 | # Array to store maintainers with failed validations in {BASE_PATH}/maintainers.yml file 15 | MAINTAINERS_FAILED_VALIDATION = [] 16 | # Array to store projects with failed validation in {BASE_PATH}/projects.yml file 17 | OSSPROJECTS_FAILED_VALIDATION = [] 18 | 19 | # Function to sleep the script for sometime when the API limit is hit 20 | def waitTillLimitReset 21 | timeTillReset = CLIENT.rate_limit.resets_in + 5 22 | @logger.info("API limit reached while fetching... Sleeping for #{timeTillReset} seconds 😴 brb") 23 | sleep(timeTillReset) 24 | end 25 | 26 | # Function to prepare the job summary to be added to the PR if it has any issues 27 | # Params: 28 | # category: Category of the issue (maintainers/ossProjects/socialGoodProjects) 29 | # issues: Array of issues present for the PR 30 | # title: Name of the project/maintainer 31 | def prepareJobSummary(category, issues, title) 32 | $ISSUES_PRESENT = true 33 | body = { 34 | :title => title, 35 | :issues => issues 36 | } 37 | if category == "maintainers" 38 | MAINTAINERS_FAILED_VALIDATION.push(body) 39 | elsif category == "ossProjects" 40 | OSSPROJECTS_FAILED_VALIDATION.push(body) 41 | end 42 | end 43 | 44 | # Function to create job summary 45 | def createJobSummary 46 | comment = "PR cannot be merged due to following issues:\n" 47 | if MAINTAINERS_FAILED_VALIDATION.length() != 0 48 | comment += "- Maintainers\n" 49 | for issueObject in MAINTAINERS_FAILED_VALIDATION do 50 | comment += "\t- `#{issueObject[:title]}`\n" 51 | for issue in issueObject[:issues] do 52 | comment += "\t\t- #{issue}\n" 53 | end 54 | end 55 | end 56 | if OSSPROJECTS_FAILED_VALIDATION.length() != 0 57 | comment += "- OSS Projects\n" 58 | for issueObject in OSSPROJECTS_FAILED_VALIDATION do 59 | comment += "\t- `#{issueObject[:title]}`\n" 60 | for issue in issueObject[:issues] do 61 | comment += "\t\t- #{issue}\n" 62 | end 63 | end 64 | end 65 | @logger.info("Summary: #{comment}") 66 | File.write(ENV["GITHUB_STEP_SUMMARY"], comment) 67 | end 68 | 69 | # Function for fetching the details of a maintainer 70 | # Params: 71 | # maintainer: Name of the maintainer whos details need be fetched 72 | # Returns: 73 | # maintainer object 74 | def getMaintainer(maintainer) 75 | data = CLIENT.user(maintainer) 76 | return data 77 | end 78 | 79 | # Function for validating if the maintainer is valid 80 | # Returns: Array of failed checks 81 | def validateMaintainer(data) 82 | fails = [] 83 | # Check if the user has atleast 1 follower 84 | if data.followers < 1 85 | fails.push("Maintainer has less than 1 follower") 86 | end 87 | return fails 88 | end 89 | 90 | # Function for fetching the details of a project 91 | # Params: 92 | # projectName: Name of the project whos details need be fetched 93 | # Returns: 94 | # project object 95 | def getProject(projectName) 96 | data = CLIENT.repository(projectName) 97 | return data 98 | end 99 | 100 | # Function for validating if the project is valid 101 | # Returns: Array of failed checks 102 | def validateProject(data, isSocialGood = false) 103 | fails = [] 104 | # Check if project is private 105 | if data.private 106 | fails.push("Project is either private or doesn't exist!") 107 | end 108 | # Check if project has license 109 | if data.license == nil 110 | fails.push("Project doesn't have a license") 111 | end 112 | # Check if project has atleast 100 stars 113 | if data.stargazers_count < 100 && !isSocialGood 114 | fails.push("Project has less than 100 stars") 115 | end 116 | return fails 117 | end 118 | 119 | # Function for fetching all the details of the maintainers 120 | # from the maintainers list at {BASE_PATH}/maintainers.yml 121 | # and check if the maintainers are valid or not 122 | def checkMaintainersData() 123 | maintainersList = JSON.parse(YAML.load(File.open("#{BASE_PATH}/maintainers.yml"), :safe => true).to_json) 124 | for city in maintainersList.keys do 125 | for maintainerName in maintainersList[city] do 126 | begin 127 | maintainer = getMaintainer(maintainerName) 128 | issues = validateMaintainer(maintainer) 129 | if issues.length() != 0 130 | prepareJobSummary("maintainers", issues, maintainerName) 131 | end 132 | rescue => e 133 | @logger.info("Error #{e.response_status}") 134 | if e.response_status == 403 135 | waitTillLimitReset() 136 | maintainer = getMaintainer(maintainerName) 137 | issues = validateMaintainer(maintainer) 138 | if issues.length() != 0 139 | prepareJobSummary("maintainers", issues, maintainerName) 140 | end 141 | else 142 | @logger.info("Error on maintainer: #{maintainerName}") 143 | prepareJobSummary("maintainers", ["User with username #{maintainerName} doesn't exist!"], maintainerName) 144 | end 145 | end 146 | end 147 | end 148 | end 149 | 150 | # Function for fetching all the details of the oss projects and social good projects 151 | # from the projects list at {BASE_PATH}/{fileName} 152 | # and check if the projects are valid or not 153 | # Params: 154 | # fileName: 155 | # - Indicates the file location of the list of projects present 156 | # - Values can be either "projects.yml" or "social-good-projects.yml" 157 | def checkProjectsData(fileName) 158 | projectsList = JSON.parse(YAML.load(File.open("#{BASE_PATH}/#{fileName}"), :safe => true).to_json) 159 | if fileName == "projects.yml" 160 | issueCategory = "ossProjects" 161 | end 162 | for category in projectsList.keys do 163 | if projectsList[category] == nil then 164 | prepareJobSummary(issueCategory, ["Each category should contain atleast 1 project."], "#{category} in #{fileName}") 165 | next 166 | end 167 | for projectName in projectsList[category] do 168 | begin 169 | project = getProject(projectName) 170 | issues = validateProject(project, false) 171 | if issues.length() != 0 172 | prepareJobSummary(issueCategory, issues, projectName) 173 | end 174 | rescue => e 175 | @logger.info("Error: #{e.response_status}") 176 | if e.response_status == 403 177 | waitTillLimitReset() 178 | project = getProject(projectName) 179 | issues = validateProject(project, false) 180 | if issues.length() != 0 181 | prepareJobSummary(issueCategory, issues, projectName) 182 | end 183 | else 184 | @logger.info("Error on project: #{projectName}") 185 | prepareJobSummary(issueCategory, ["Project #{projectName} is either private or doesn't exist!"], projectName) 186 | end 187 | end 188 | end 189 | end 190 | end 191 | 192 | @logger.info("-------------------------------") 193 | @logger.info("Checking Maintainers...") 194 | checkMaintainersData() 195 | @logger.info("Maintainers data checked") 196 | @logger.info("-------------------------------") 197 | @logger.info("Checking OSS Projects...") 198 | checkProjectsData("projects.yml") 199 | @logger.info("OSS Projects data checked") 200 | @logger.info("-------------------------------") 201 | 202 | if MAINTAINERS_FAILED_VALIDATION.length() != 0 || OSSPROJECTS_FAILED_VALIDATION.length() != 0 203 | @logger.info("Creating Comment") 204 | createJobSummary() 205 | exit(1) 206 | end 207 | @logger.info("-------------------------------") 208 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Welcome to GitHub Brasil contributing guide 2 | 3 |
4 | Read in Portuguese 5 | 6 | # Boas vindas ao guia de contribuição do GitHub Brasil 7 | 8 | Agradecemos por investir seu tempo em contribuir! As contribuições que você fizer no diretório `website` serão refletidas em [githubbrasil.com](https://githubbrasil.com) :sparkles:. 9 | 10 | Suas contribuições ajudarão a comunidade a descobrir informações valiosas. 11 | 12 | Leia nosso [Código de Conduta](./CODE_OF_CONDUCT.md) para manter nossa comunidade acessível e respeitável. 13 | 14 | ## Tipos de contribuição 15 | 16 | No momento, aceitamos contribuições apenas para conteúdos selecionados no [githubbrasil.com](https://githubbrasil.com). 17 | O conteúdo para isso está localizado na seção `website` desse repositório. 18 | 19 | ## Diretrizes 20 | 21 | O site githubbrasil.com destina-se a mostrar o ecossistema de código aberto no Brasil e ajudar a descobrir projetos e pessoas mantenedoras de código aberto. 22 | 23 | - Somente nomes de repositórios, categorias de projetos, usernames do GitHub de pessoas mantenedoras e a localização dessas pessoas podem ser editados. Outras informações, como stargazes, descrições, seguidores etc., são atualizadas periodicamente na API pública do GitHub. 24 | - Para novas pessoas mantenedoras adicionadas, revisões de RP são solicitadas dessas pessoas para aprovação a serem adicionadas ao site. 25 | - O local da pessoa mantenedor precisa corresponder ao local em seu perfil público do GitHub. 26 | - Por favor, preencha o modelo de pull request completamente. Se você não preencher o modelo, seu PR vai ser fechado. 27 | - Limite seu PR a atualizar uma página por vez. Para atualizações de pessoas mantenedoras, limite a 5 em um PR. 28 | - Embora adoraríamos mostrar o maior número possível de projetos e pessoas mantenedoras, também queremos manter o site valioso para todas as pessoas desenvolvedoras. A equipe do GitHub usará seu julgamento e discrição nas aprovações de PRs. 29 | 30 | ## Fazendo mudanças 31 | 32 | ### Fazer mudanças de UI 33 | 34 | Clique em **Edit this page** no topo de qualquer página que aceita contribuições. 35 | Isso vai te levar para um arquivo `.yml` onde você pode fazer suas mudanças e [criar um Pull Request](#pull-request) para review. 36 | 37 | ### Fazer mudanças no Codespace 38 | 39 | Você também pode faer mudanças usando o GitHub Codespaces. 40 | Para começar a usa-lo, veja "[Guia de início rápido do GitHub Codespaces](https://docs.github.com/pt/codespaces/getting-started/quickstart)". 41 | 42 | ### Fazer mudanças localmente 43 | 44 | 1. Faça o fork (bifurque) este repositório. 45 | - Usando GitHub Desktop: 46 | - [Introdução ao GitHub Desktop](https://docs.github.com/pt/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop) irá te ajudar a configurar o GitHub Desktop. 47 | - Quando a configuração estiver completa, você pode [criar um fork deste repo](https://docs.github.com/pt/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop)! 48 | 49 | - Usando a linha de comando: 50 | - [Crie um fork deste repo](https://docs.github.com/pt/get-started/quickstart/fork-a-repo) para que você possa fazer suas alterações sem afetar o projeto original até que estejam prontas para dar merge. 51 | 52 | 2. Crie uma branch de trabalho e comece suas mudanças! 53 | 54 | 3. Commite as alterações quando estiver contente com elas. 55 | 56 | 57 | ### Pull Request 58 | 59 | Quando você terminar suas modificações, crie um Pull Request, também conhecido como PR. 60 | - Preencha o modelo para que possamos revisar seu PR (não esqueça de preencher todos os campos). 61 | - Habilite a caixa "[Permitir edições de mantenedores](https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)" para que a branch possa ser atualizada para merge. 62 | Quando você submeter PR, alguém do time do GitHub vai avaliar sua proposta. Podemos fazer perguntas ou solicitar informações adicionais. 63 | - Nós podemos pedir para que mudanças sejam feitas antes de aceitar seu PR, usando [alterações sugeridas](https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) ou comentários na Pull Request. Você pode aplicar as alterações sugeridas diretamente por meio da UI. Você também pode fazer outras mudanças no seu fork e commitá-las na branch. 64 | - Conforme você atualiza seu PR e aplica as alterações, marque cada conversa como [resolvida](https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#resolver-conversas). 65 | - Se você tiver qualquer problema, de uma olhada nesse [git tutorial](https://github.com/skills/resolve-merge-conflicts) para te ajudar a resolver conflitos de merge e outros problemas. 66 | 67 | ### Seu PR foi aceito! 68 | 69 | Parabéns :tada::tada:! O time GitHub te agradece :sparkles:. 70 | 71 | As atualizações não aparecerão imediatamente depois do merge de seu PR. Colocamos essas alterações regularmente em githubbrasil.com. 72 | 73 |
74 | 75 | Thank you for investing your time in contributing! Contributions that you make under the `website` directory will be reflected on [githubbrasil.com](https://githubbrasil.com) :sparkles:. 76 | 77 | Your contributions would help the community discover valuable information. 78 | 79 | Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. 80 | 81 | ## Types of contributions 82 | 83 | We currently accept contributions only for select content on [githubbrasil.com](https://githubbrasil.com). The content for this is located under the `website` directory of this repo. 84 | 85 | ## Guidelines 86 | 87 | githubbrasil.com website is intended to showcase the open source ecosystem in Brasil, and help discover open source projects and maintainers. 88 | 89 | - Only repository names, project categories, maintainer GitHub usernames, and maintainer locations can be edited. Other information like stargazers, descriptions, followers, etc are updated periodically from GitHub's public API. 90 | - For new maintainers added, PR reviews are requested from those maintainers for approval to be added on the website. 91 | - Maintainer locations need to match the location on their public GitHub profile. 92 | - Please fill out the pull request template completely. If you do not fill out the template, your pull request will be closed. 93 | - Please limit your pull request to updating one page at a time. For maintainer updates, please limit to 5 maintainers in a PR. 94 | - While we would love to showcase as many projects and maintainers as possible, we also want to keep the website valuable for all developers. GitHub team will use its judgement and discretion on PR approvals. 95 | 96 | 97 | ## Making Changes 98 | 99 | ### Make changes in the UI 100 | 101 | Click **Edit this page** at the top of any page which accepts contributions. This takes you to the `.yml` file where you can make your changes and [create a pull request](#pull-request) for a review. 102 | 103 | ### Make changes in a Codespace 104 | 105 | You can also make a change using GitHub Codespaces. For getting started with Codespaces, see "[Quickstart for GitHub Codespaces](https://docs.github.com/en/codespaces/getting-started/quickstart)." 106 | 107 | ### Make changes locally 108 | 109 | 1. Fork the repository. 110 | - Using GitHub Desktop: 111 | - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. 112 | - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! 113 | 114 | - Using the command line: 115 | - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. 116 | 117 | 2. Create a working branch and start with your changes! 118 | 119 | 3. Commit the changes once you are happy with them. 120 | 121 | 122 | ### Pull Request 123 | 124 | When you're finished with the changes, create a pull request, also known as a PR. 125 | - Fill the Pull Request template so that we can review your PR. 126 | - Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. 127 | Once you submit your PR, a GitHub team member will review your proposal. We may ask questions or request for additional information. 128 | - We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. 129 | - As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). 130 | - If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. 131 | 132 | ### Your PR is merged! 133 | 134 | Congratulations :tada::tada: The GitHub team thanks you :sparkles:. 135 | 136 | Updates won't immediately appear once we've merged your PR. We pull in these changes regularly to githubbrasil.com. 137 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 |
4 | Read in portuguese: Código de Conduta de Colaboração 5 | 6 | # Código de Conduta de Colaboração 7 | 8 | ## Nossa promessa 9 | 10 | Como pessoas participantes, colaboradoras e líderes, nós nos comprometemos a fazer com que a participação em nossa comunidade seja uma experiência livre de assédio para todas as pessoas, independentemente de idade, tamanho do corpo, deficiência aparente ou não aparente, etnia, características sexuais, identidade ou expressão de gênero, nível de experiência, educação, situação sócio-econômica, nacionalidade, aparência pessoal, raça, religião ou identidade e orientação sexuais. 11 | 12 | Comprometemo-nos a agir e interagir de maneiras que contribuam para uma comunidade aberta, acolhedora, diversificada, inclusiva e saudável. 13 | 14 | ## Nossos padrões 15 | 16 | Exemplos de comportamentos que contribuem para criar um ambiente positivo para a nossa comunidade incluem: 17 | 18 | * Demonstrar empatia e bondade com as outras pessoas 19 | * Respeitar opiniões, pontos de vista e experiências contrárias 20 | * Dar e receber feedbacks construtivos de maneira respeitosa 21 | * Assumir responsabilidade, pedir desculpas às pessoas afetadas por nossos erros e aprender com a experiência 22 | * Focar no que é melhor não só para nós individualmente, mas para a comunidade em geral 23 | 24 | Exemplos de comportamentos inaceitáveis incluem: 25 | 26 | * Uso de linguagem ou imagens sexualizadas, bem como o assédio sexual ou de qualquer natureza 27 | * Comentários insultuosos/depreciativos e ataques pessoais ou políticos (*Trolling*) 28 | * Assédio público ou privado 29 | * Publicar informações particulares de outras pessoas, como um endereço de e-mail ou endereço físico, sem a permissão explícita delas 30 | * Outras condutas que são normalmente consideradas inapropriadas em um ambiente profissional 31 | 32 | ## Aplicação das nossas responsabilidades 33 | 34 | A liderança da comunidade é responsável por esclarecer e aplicar nossos padrões de comportamento aceitáveis e tomará ações corretivas apropriadas e justas em resposta a qualquer comportamento que considerar impróprio, ameaçador, ofensivo ou problemático. 35 | 36 | A liderança da comunidade tem o direito e a responsabilidade de remover, editar ou rejeitar comentários, commits, códigos, edições na wiki, erros e outras contribuições que não estão alinhadas com este Código de Conduta e irá comunicar as razões por trás das decisões da moderação quando for apropriado. 37 | 38 | ## Escopo 39 | 40 | Este Código de Conduta se aplica dentro de todos os espaços da comunidade e também se aplica quando uma pessoa estiver representando oficialmente a comunidade em espaços públicos. 41 | Exemplos de representação da nossa comunidade incluem usar um endereço de e-mail oficial, postar em contas oficiais de mídias sociais ou atuar como uma pessoa indicada como representante em um evento online ou offline. 42 | 43 | ## Aplicação 44 | 45 | Ocorrências de comportamentos abusivos, de assédio ou que sejam inaceitáveis por qualquer outro motivo poderão ser reportadas para a liderança da comunidade, responsável pela aplicação, via contato [INSERIR MÉTODO DE CONTATO]. 46 | 47 | Todas as reclamações serão revisadas e investigadas imediatamente e de maneira justa. 48 | 49 | A liderança da comunidade tem a obrigação de respeitar a privacidade e a segurança de quem reportar qualquer incidente. 50 | 51 | ## Diretrizes de aplicação 52 | 53 | A liderança da comunidade seguirá estas Diretrizes de Impacto na Comunidade para determinar as consequências de qualquer ação que considerar violadora deste Código de Conduta: 54 | 55 | ### 1. Ação Corretiva 56 | 57 | **Impacto na comunidade**: Uso de linguagem imprópria ou outro comportamento considerado anti-profissional ou repudiado pela comunidade. 58 | 59 | **Consequência**: Aviso escrito e privado da liderança da comunidade, esclarecendo a natureza da violação e com a explicação do motivo pelo qual o comportamento era impróprio. Um pedido de desculpas público poderá ser solicitado. 60 | 61 | ### 2. Advertência 62 | 63 | **Impacto na comunidade**: Violação por meio de um incidente único ou atitudes repetidas. 64 | 65 | **Consequência**: Advertência com consequências para comportamento repetido. Não poderá haver interações com as pessoas envolvidas, incluindo interações não solicitadas com as pessoas que estiverem aplicando o Código de Conduta, por um período determinado. Isto inclui evitar interações em espaços da comunidade, bem como canais externos como as mídias sociais. A violação destes termos pode levar a um banimento temporário ou permanente. 66 | 67 | ### 3. Banimento Temporário 68 | 69 | **Impacto na comunidade**: Violação grave dos padrões da comunidade, incluindo a persistência do comportamento impróprio. 70 | 71 | **Consequência**: Banimento temporário de qualquer tipo de interação ou comunicação pública com a comunidade por um determinado período. Estarão proibidas as interações públicas ou privadas com as pessoas envolvidas, incluindo interações não solicitadas com as pessoas que estiverem aplicando o Código de Conduta. A violação destes termos pode resultar em um banimento permanente. 72 | 73 | ### 4. Banimento Permanente 74 | 75 | **Impacto na comunidade**: Demonstrar um padrão na violação das normas da comunidade, incluindo a persistência do comportamento impróprio, assédio a uma pessoa ou agressão ou depreciação a classes de pessoas. 76 | 77 | **Consequência**: Banimento permanente de qualquer tipo de interação pública dentro da comunidade. 78 | 79 | ## Atribuição 80 | 81 | Este Código de Conduta é adaptado do [Contributor Covenant][homepage], 82 | versão 2.0, disponível em 83 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 84 | 85 | As Diretrizes de Impacto na Comunidade foram inspiradas pela [Aplicação do código de conduta Mozilla](https://github.com/mozilla/diversity). 86 | 87 | [homepage]: https://www.contributor-covenant.org 88 | 89 | Para obter respostas a perguntas comuns sobre este código de conduta, veja a página de Perguntas Frequentes (*FAQ*) em 90 | https://www.contributor-covenant.org/faq. Traduções estão disponíveis em 91 | https://www.contributor-covenant.org/translations. 92 | 93 |
94 | 95 | ## Our Pledge 96 | 97 | We as members, contributors, and leaders pledge to make participation in our 98 | community a harassment-free experience for everyone, regardless of age, body 99 | size, visible or invisible disability, ethnicity, sex characteristics, gender 100 | identity and expression, level of experience, education, socio-economic status, 101 | nationality, personal appearance, race, religion, or sexual identity 102 | and orientation. 103 | 104 | We pledge to act and interact in ways that contribute to an open, welcoming, 105 | diverse, inclusive, and healthy community. 106 | 107 | ## Our Standards 108 | 109 | Examples of behavior that contributes to a positive environment for our 110 | community include: 111 | 112 | * Demonstrating empathy and kindness toward other people 113 | * Being respectful of differing opinions, viewpoints, and experiences 114 | * Giving and gracefully accepting constructive feedback 115 | * Accepting responsibility and apologizing to those affected by our mistakes, 116 | and learning from the experience 117 | * Focusing on what is best not just for us as individuals, but for the 118 | overall community 119 | 120 | Examples of unacceptable behavior include: 121 | 122 | * The use of sexualized language or imagery, and sexual attention or 123 | advances of any kind 124 | * Trolling, insulting or derogatory comments, and personal or political attacks 125 | * Public or private harassment 126 | * Publishing others' private information, such as a physical or email 127 | address, without their explicit permission 128 | * Other conduct which could reasonably be considered inappropriate in a 129 | professional setting 130 | 131 | ## Enforcement Responsibilities 132 | 133 | Community leaders are responsible for clarifying and enforcing our standards of 134 | acceptable behavior and will take appropriate and fair corrective action in 135 | response to any behavior that they deem inappropriate, threatening, offensive, 136 | or harmful. 137 | 138 | Community leaders have the right and responsibility to remove, edit, or reject 139 | comments, commits, code, wiki edits, issues, and other contributions that are 140 | not aligned to this Code of Conduct, and will communicate reasons for moderation 141 | decisions when appropriate. 142 | 143 | ## Scope 144 | 145 | This Code of Conduct applies within all community spaces, and also applies when 146 | an individual is officially representing the community in public spaces. 147 | Examples of representing our community include using an official e-mail address, 148 | posting via an official social media account, or acting as an appointed 149 | representative at an online or offline event. 150 | 151 | ## Enforcement 152 | 153 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 154 | reported to the community leaders responsible for enforcement at 155 | andreagriffiths11@github.com. 156 | All complaints will be reviewed and investigated promptly and fairly. 157 | 158 | All community leaders are obligated to respect the privacy and security of the 159 | reporter of any incident. 160 | 161 | ## Enforcement Guidelines 162 | 163 | Community leaders will follow these Community Impact Guidelines in determining 164 | the consequences for any action they deem in violation of this Code of Conduct: 165 | 166 | ### 1. Correction 167 | 168 | **Community Impact**: Use of inappropriate language or other behavior deemed 169 | unprofessional or unwelcome in the community. 170 | 171 | **Consequence**: A private, written warning from community leaders, providing 172 | clarity around the nature of the violation and an explanation of why the 173 | behavior was inappropriate. A public apology may be requested. 174 | 175 | ### 2. Warning 176 | 177 | **Community Impact**: A violation through a single incident or series 178 | of actions. 179 | 180 | **Consequence**: A warning with consequences for continued behavior. No 181 | interaction with the people involved, including unsolicited interaction with 182 | those enforcing the Code of Conduct, for a specified period of time. This 183 | includes avoiding interactions in community spaces as well as external channels 184 | like social media. Violating these terms may lead to a temporary or 185 | permanent ban. 186 | 187 | ### 3. Temporary Ban 188 | 189 | **Community Impact**: A serious violation of community standards, including 190 | sustained inappropriate behavior. 191 | 192 | **Consequence**: A temporary ban from any sort of interaction or public 193 | communication with the community for a specified period of time. No public or 194 | private interaction with the people involved, including unsolicited interaction 195 | with those enforcing the Code of Conduct, is allowed during this period. 196 | Violating these terms may lead to a permanent ban. 197 | 198 | ### 4. Permanent Ban 199 | 200 | **Community Impact**: Demonstrating a pattern of violation of community 201 | standards, including sustained inappropriate behavior, harassment of an 202 | individual, or aggression toward or disparagement of classes of individuals. 203 | 204 | **Consequence**: A permanent ban from any sort of public interaction within 205 | the community. 206 | 207 | ## Attribution 208 | 209 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 210 | version 2.0, available at 211 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 212 | 213 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 214 | enforcement ladder](https://github.com/mozilla/diversity). 215 | 216 | [homepage]: https://www.contributor-covenant.org 217 | 218 | For answers to common questions about this code of conduct, see the FAQ at 219 | https://www.contributor-covenant.org/faq. Translations are available at 220 | https://www.contributor-covenant.org/translations. 221 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | --- 6 |
7 | 8 | Read in English 9 | 10 | # Welcome to GitHub Brasil 🇧🇷 11 | 12 | In this repo, you can find resources and information for the developer community in Brasil. 13 | 14 | - ENGLISH [Welcome to GitHub Brasil 🇧🇷](#welcome-to-github-brasil-🇧🇷) 15 | - [🧑‍💻 Open Source](#🧑‍💻-open-source) 16 | - [Projects and Maintainers from Brasil](#projects-and-maintainers-from-brasil) 17 | - [Resources](#resources) 18 | - [:octocat: Developers](#octocat-developers) 19 | - [Meetups](#meetups) 20 | - [GitHub Stars](#github-stars) 21 | - [The ReadME Project](#the-readme-project) 22 | - [🧑‍🎓 Students](#🧑‍🎓-students) 23 | - [Campus Program](#campus-program) 24 | - [Student Developer Pack](#student-developer-pack) 25 | - [Campus Experts](#campus-experts) 26 | - [📈 Startups](#📈-startups) 27 | - [GitHub for Startups](#github-for-startups) 28 | - [📢 Events](#📢-events) 29 | - [💬 Let's connect](#💬-lets-connect) 30 | - [Contributing](#contributing) 31 | - [📜 License](#📜-license) 32 | - [Boas vindas ao GitHub Brasil 🇧🇷](#boas-vindas-ao-github-brasil-🇧🇷) 33 | - [🧑‍💻 Código Aberto](#🧑‍💻-código-aberto) 34 | - [Projetos e Pessoas Mantenedoras do Brasil](#projetos-e-pessoas-mantenedoras-do-brasil) 35 | - [Recursos](#recursos) 36 | - [:octocat: Devs](#octocat-devs) 37 | - [Meetups](#meetups-1) 38 | - [GitHub Stars](#github-stars-1) 39 | - [O Projeto ReadME](#o-projeto-readme) 40 | - [🧑‍🎓 Estudantes](#🧑‍🎓-estudantes) 41 | - [Programa Campus](#programa-campus) 42 | - [Student Developer Pack](#student-developer-pack-1) 43 | - [Campus Experts](#campus-experts-1) 44 | - [📈 Startups](#📈-startups-1) 45 | - [GitHub para Startups](#github-para-startups) 46 | - [📢 Eventos](#📢-eventos) 47 | - [💬 Vamos nos conectar](#💬-vamos-nos-conectar) 48 | - [Contribuindo](#contribuindo) 49 | - [📜 Licença](#📜-licença) 50 | 51 | --- 52 | 53 | ## 🧑‍💻 Open Source 54 | 55 | The open source movement in Brasil has gained significant momentum in recent years, with a growing number of developers and organizations adopting open source technologies and contributing to the open source community. 56 | 57 | ### Projects and Maintainers from Brasil 58 | 59 | There are many open-source projects that we might be using frequently, but unaware that it's a project that was created in or receiving significant contributions from Brasil. We have collated some of the projects and maintainers from Brasil on the [githubbrasil.com website](https://githubbrasil.com). 60 | 61 | If you know of any other projects or maintainers from Brasil, feel free to make a [contribution.](./CONTRIBUTING.md). 62 | 63 | ### Resources 64 | 65 | If you are looking to make your first contribution to open source, or even an experienced maintainer looking for ways to grow your community — we have resources to help you! Check out the [Open Source Guide](https://opensource.guide/pt/) which has many resources on how to start an open-source project, build communities, best practices for maintainers, and a lot more! 66 | 67 | --- 68 | 69 | ## :octocat: Developers 70 | 71 | GitHub is the platform where millions of developers and companies build, ship and maintain their software. We help developers with the resources they need and showcase their awesome work to the rest of the community. 72 | 73 | ### Meetups 74 | 75 | GitHub Brasil Virtual Meetup group is for developers in Brasil, by developers in Brszil, and fuelled by the love for Open Source! [Join us on the Meetup group](https://www.meetup.com/githubbrasil/) and come check out the latest on GitHub, learn about new open source projects, and meet maintainers & GitHub staff from Brasil. 76 | 77 | ### GitHub Stars 78 | 79 | The GitHub Stars program thanks GitHub’s most influential developers and gives them a platform to showcase their work, reach more people, and shape the future of GitHub. Say hello 👋🏼 to the [GitHub Stars from Brasil!](https://stars.github.com/profiles/?country=Brazil) 80 | 81 | If you know an inspiring community leader, [we want to hear about it](https://stars.github.com/nominate/). 82 | 83 | 84 | ### The ReadME Project 85 | 86 | The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source. 87 | 88 | Check out the stories of [Felipe De Morais](https://github.com/readme/stories/felipe-de-morais) and [Pedro Nauck](https://github.com/readme/stories/pedro-nauck) from Brazil. 89 | 90 | We’re always on the lookout for inspiring developers who passionately dedicate themselves to their communities. Know somebody whose story deserves to be told? [Let us know](https://github.com/readme/nominate), and they could end up being featured on The ReadME Project. 91 | 92 | --- 93 | 94 | ## 🧑‍🎓 Students 95 | 96 | GitHub Education helps students, teachers, and schools access the tools and events they need to shape the next generation of software development. 97 | 98 | ### Campus Program 99 | 100 | With the GitHub Campus Program, your school will get a package of technical tools, training for faculty members, and support to grow technical communities on campus. Learn more and enroll your school in the [GitHub Campus Program](https://education.github.com/schools). 101 | 102 | ### Student Developer Pack 103 | 104 | There's no substitute for hands-on experience. But for most students, real-world tools can be cost-prohibitive. That's why we created the GitHub Student Developer Pack with some of our partners and friends: to give students free access to the best developer tools in one place so they can learn by doing. Check out the tools and get your [Student Developer Pack](https://education.github.com/pack). 105 | 106 | ### Campus Experts 107 | 108 | Campus Experts are student leaders that strive to build diverse and inclusive spaces to learn skills, share their experiences, and build projects together. They can be found across the globe leading in-person and online conferences, meetups, and hackathons, and maintaining open source projects. Explore and connect with [Campus Experts from Brasil](https://githubcampus.expert/experts). 109 | 110 | --- 111 | 112 | ## 📈 Startups 113 | 114 | Brasil has a vibrant tech startup community, with many entrepreneurs choosing GitHub to enable innovation. 115 | 116 | ### GitHub for Startups 117 | 118 | GitHub for Startups program helps startups go from idea to IPO on the world’s best software development platform with free access to GitHub Enterprise. 119 | 120 | For details about the program, [check out startups.github.com](https://startups.github.com). 121 | 122 | --- 123 | 124 | ## 📢 Events 125 | 126 | Connect with the GitHub community through conferences, meetups and hackathons. 127 | 128 | --- 129 | 130 | ## 💬 Let's connect 131 | 132 | Stay tuned to what's happening with GitHub Brasil by [following us on Twitter](https://twitter.com/GitHubBrasil). 133 | 134 | You are also welcome to participate in [GitHub Discussions](https://github.com/github/brazil/discussions/categories/general) on this repository. Please respect the [code of conduct](CODE_OF_CONDUCT.md) and be awesome to each other! 135 | 136 | --- 137 | 138 | ## Contributing 139 | 140 | Contributions are welcome to certain parts of this repository. For getting started, check out [CONTRIBUTING.md](https://github.com/github/brasil/blob/main/CONTRIBUTING.md). 141 | 142 | --- 143 | 144 | ## 📜 License 145 | 146 | Content is released under CC0-1.0. Code is released under MIT License. 147 | 148 | When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos). 149 | 150 |
151 | 152 | # Boas vindas ao GitHub Brasil 🇧🇷 153 | 154 | Neste repositório, você pode encontrar recursos e informações para a comunidade de pessoas desenvolvedoras no Brasil. 155 | 156 | - PORTUGUÊS [Boas vindas ao GitHub Brasil 🇧🇷](#boas-vindas-ao-github-brasil-) 157 | - [🧑‍💻 Código Aberto](#-código-aberto) 158 | - [Projetos e Pessoas Mantenedoras do Brasil](#projetos-e-pessoas-mantenedoras-do-brasil) 159 | - [Recursos](#recursos) 160 | - [:octocat: Devs](#octocat-devs) 161 | - [Meetups](#meetups-1) 162 | - [GitHub Stars](#github-stars-1) 163 | - [O Projeto ReadME](#o-projeto-readme) 164 | - [🧑‍🎓 Estudantes](#-estudantes) 165 | - [Programa Campus](#programa-campus) 166 | - [Student Developer Pack](#student-developer-pack-1) 167 | - [Campus Experts](#campus-experts-1) 168 | - [📈 Startups](#-startups-1) 169 | - [GitHub para Startups](#github-para-startups) 170 | - [📢 Eventos](#-eventos) 171 | - [💬 Vamos nos conectar](#-vamos-nos-conectar) 172 | - [Contribuindo](#contribuindo) 173 | - [📜 Licença](#-licença) 174 | 175 | --- 176 | 177 | ## 🧑‍💻 Código Aberto 178 | 179 | O movimento de código aberto no Brasil tem ganhado impulso significativo nos últimos anos, com um número crescente de pessoas desenvolvedoras e organizações adotando tecnologias de código aberto e contribuindo para a comunidade. 180 | 181 | ### Projetos e Pessoas Mantenedoras do Brasil 182 | 183 | Existem muitos projetos de código aberto que podemos estar usando frequentemente, mas sem saber que é um projeto criado ou recebendo contribuições significativas do Brasil. Nós reunimos alguns dos projetos e pessoas do Brasil no site [githubbrasil.com](https://githubbrasil.com). 184 | 185 | Se você conhece outros projetos ou pessoa mantenedoras do Brasil, sinta-se à vontade para fazer uma [CONTRIBUTING.md](https://github.com/github/brasil/blob/main/CONTRIBUTING.md). 186 | 187 | ### Recursos 188 | 189 | Se você está procurando fazer sua primeira contribuição para o código aberto, ou é uma pessoa mantenedora experiente procurando maneiras de aumentar sua comunidade - temos recursos para ajudá-lo! Confira o [Guia de Código Aberto](https://opensource.guide/pt/) que possui muitos recursos sobre como iniciar um projeto de código aberto, construir comunidades, melhores práticas para manter projetos e muito mais! 190 | 191 | --- 192 | 193 | ## :octocat: Devs 194 | 195 | O GitHub é a plataforma onde milhões de pessoas desenvolvedoras e empresas constroem, entregam e mantêm seu software. Ajudamos essas pessoas com os recursos necessários e exibimos seu trabalho incrível para o restante da comunidade. 196 | 197 | ### Meetups 198 | 199 | O grupo de Meetup virtual do GitHub Brasil é para devs no Brasil, por devs no Brasil, e alimentado pelo amor pelo Código Aberto! [Junte-se a nós no grupo Meetup](https://www.meetup.com/githubbrasil/) e venha conferir as últimas novidades do GitHub, conhecer novos projetos de código aberto e encontrar pessoas mantenedoras e funcionários do GitHub do Brasil. 200 | 201 | ### GitHub Stars 202 | 203 | O programa Estrelas do GitHub agradece a pessoas desenvolvedoras mais influentes do GitHub e lhes dá uma plataforma para exibir seu trabalho, alcançar mais pessoas e moldar o futuro do GitHub. Dê um olá 👋🏼 às [Estrelas do GitHub do Brasil!](https://stars.github.com/profiles/?country=Brazil). 204 | 205 | Se você conhece uma pessoa líder comunitário inspiradora e que te ensinou algo sobre Git, GitHub ou Open Source no geral, [queremos saber](https://stars.github.com/nominate/). 206 | 207 | ### O Projeto ReadME 208 | 209 | O Projeto ReadME faz parte do esforço contínuo do GitHub para amplificar as vozes da comunidade É um espaço em constante evolução para se engajar com a comunidade e explorar as histórias, desafios, tecnologia e cultura que cercam o mundo do código aberto. 210 | 211 | Confira as histórias de [Felipe De Morais](https://github.com/readme/stories/felipe-de-morais) e [Pedro Nauck](https://github.com/readme/stories/pedro-nauck) do Brasil. 212 | 213 | Estamos sempre procurando por pessoas inspiradoras que se dediquem apaixonadamente às suas comunidades. Conhece alguém cuja história merece ser contada? [Nos conte](https://github.com/readme/nominate), e elas podem acabar sendo apresentadas no Projeto ReadME. 214 | 215 | --- 216 | 217 | ## 🧑‍🎓 Estudantes 218 | 219 | O GitHub Education ajuda estudantes, professores e escolas a acessar as ferramentas e eventos de que precisam para moldar a próxima geração de desenvolvimento de software. 220 | 221 | ### Programa Campus 222 | 223 | Com o Programa Campus do GitHub, sua escola receberá um pacote de ferramentas técnicas, treinamento para membros do corpo docente e suporte para crescer comunidades técnicas no campus. Saiba mais e inscreva sua escola no [Programa Campus do GitHub](https://education.github.com/schools). 224 | 225 | ### Student Developer Pack 226 | 227 | Não há substituto para a experiência prática. Mas, para a maioria dos estudantes, as ferramentas do mundo real podem ser proibitivas em termos de custo. É por isso que criamos o Student Developer Pack (Pacote de Desenvolvimento para Estudantes) do GitHub com alguns de nossos parceiros e amigos: para dar aos estudantes acesso gratuito às melhores ferramentas de desenvolvimento em um só lugar, para que possam aprender fazendo. Confira as ferramentas e obtenha seu [Student Developer Pack](https://education.github.com/pack). 228 | 229 | ### Campus Experts 230 | 231 | Campus Experts são líderes estudantis que se esforçam para construir espaços diversos e inclusivos para aprender habilidades, compartilhar suas experiências e construir projetos juntos. Podem ser encontrados em todo o mundo liderando conferências, meetups e hackathons presenciais e online, e mantendo projetos de código aberto. Explore e conecte-se com [Campus Experts do Brasil](https://githubcampus.expert/experts). 232 | 233 | --- 234 | 235 | ## 📈 Startups 236 | 237 | O Brasil possui uma grande comunidade de startups de tecnologia, com muitos empreendedores escolhendo o GitHub para permitir a inovação. 238 | 239 | ### GitHub para Startups 240 | 241 | O programa GitHub for Startups ajuda as startups a ir da ideia ao IPO na melhor plataforma de desenvolvimento de software do mundo com acesso gratuito ao GitHub Enterprise. 242 | 243 | Para obter detalhes sobre o programa, [confira startups.github.com](https://startups.github.com). 244 | 245 | --- 246 | 247 | ## 📢 Eventos 248 | 249 | Conecte-se com a comunidade do GitHub por meio de conferências, meetups e hackathons. 250 | 251 | --- 252 | 253 | ## 💬 Vamos nos conectar 254 | 255 | Fique por dentro do que está acontecendo com o GitHub Brasil [nos seguindo no Twitter](https://twitter.com/GitHubBrasil). 256 | 257 | Você também é bem-vindo para participar das [Discussões do GitHub](https://github.com/github/brazil/discussions/categories/general) neste repositório. Por favor, respeite o [código de conduta](CODE_OF_CONDUCT.md) e seja incrível com os outros! 258 | 259 | --- 260 | 261 | ## Contribuindo 262 | 263 | Contribuições são bem-vindas para certas partes deste repositório. Para começar, confira For contributing to the content, check out [CONTRIBUTING.md](https://github.com/github/brasil/blob/main/CONTRIBUTING.md). 264 | 265 | --- 266 | 267 | ## 📜 Licença 268 | 269 | O conteúdo é liberado sob CC0-1.0. O código é liberado sob a Licença MIT. 270 | 271 | Ao usar os logotipos do GitHub, certifique-se de seguir as [diretrizes de logotipo do GitHub](https://github.com/logos). 272 | --------------------------------------------------------------------------------