Pular para o conteúdo principal

Guia do Colaborador

Bem-vindo ao Casdoor! Este documento serve como uma diretriz sobre como contribuir para o Casdoor.

Se você encontrar alguma informação incorreta ou faltante, por favor deixe seus comentários ou sugestões.

Participe

Há muitas maneiras de contribuir para o Casdoor. Aqui estão algumas ideias para começar:

  • Use o Casdoor e relate problemas. Ao usar o Casdoor, relate quaisquer problemas - sejam eles bugs ou propostas - no GitHub Discussions ou no Discord antes de abrir uma issue no GitHub.
informação

Por favor, use o inglês para descrever os detalhes do seu problema ao relatar uma issue.

  • Ajude com a documentação. Começar seu trabalho de contribuição com a documentação é uma boa escolha.

  • Ajude a resolver problemas. Temos uma tabela que contém tarefas fáceis adequadas para iniciantes em Casdoor Easy Tasks, com diferentes níveis de desafios marcados com diferentes tags.

Contribuindo

Se você está pronto para criar um PR, aqui está o fluxo de trabalho para colaboradores:

  1. Faça um fork para o seu próprio repositório.

  2. Clone seu fork para um repositório local.

  3. Crie uma nova branch e trabalhe nela.

  4. Mantenha sua branch sincronizada.

  5. Cometa suas mudanças. Certifique-se de que sua mensagem de commit seja concisa.

  6. Envie seus commits para o seu repositório bifurcado.

  7. Crie um pull request da sua branch para a nossa branch master.

Pull Requests

Antes de Começar

O Casdoor usa o GitHub como sua plataforma de desenvolvimento, e os pull requests são a principal fonte de contribuições.

Aqui estão algumas coisas que você precisa saber antes de abrir um pull request:

  • Você precisa assinar o CLA quando criar um pull request pela primeira vez.

  • Explique por que você está submetendo o pull request e o que ele fará pelo repositório.

  • Apenas um commit é permitido. Se o PR fizer mais de uma coisa, por favor divida-o.

  • Se houver arquivos recém-adicionados, por favor inclua a licença do Casdoor no topo dos novos arquivos.

// Copyright 2022 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

PRs Semânticos

Seus pull requests devem seguir a especificação Conventional Commits. O requisito básico é que apenas o título do PR ou pelo menos uma mensagem de commit. Por exemplo, três títulos de PR comumente usados são dados abaixo:

cuidado

Os títulos dos PRs devem estar em minúsculas.

  1. fix: um commit do tipo fix corrige um bug na sua base de código.

    fix: prevent racing of requests
  2. feat: um commit do tipo feat introduz um novo recurso na base de código.

    feat: allow provided config object to extend other configs
  3. docs: um commit do tipo docs adiciona ou melhora a documentação.

    docs: correct spelling of CHANGELOG

Para mais detalhes, por favor consulte a página Conventional Commits.

Vinculando PRs com Issues

Você pode vincular um pull request a uma issue para mostrar que uma correção está em andamento e para fechar automaticamente a issue quando o pull request for mesclado.

Vinculando um Pull Request a uma Issue Usando uma Palavra-chave

Você pode vincular um pull request a uma issue usando uma palavra-chave suportada na descrição do pull request ou em uma mensagem de commit. O pull request deve estar na branch padrão.

  • close
  • fix
  • resolve

Uma issue no mesmo repositório, por exemplo:

Fix: #902

Para mais detalhes, por favor consulte Linking a Pull Request to an Issue.

Modificando PRs

Seu PR pode precisar de revisão. Por favor, modifique o mesmo PR quando o código precisar de mudanças; não feche o PR e abra um novo. Aqui está um exemplo:

  • Modifique o código no seu local.

  • Modifique seu commit.

git commit --amend
  • Envie para o seu repositório remoto.
git push --force

Então, você terá modificado com sucesso o PR!

Relacionado ao Código

Alguns Princípios:

  • Legibilidade: código importante deve ser bem documentado. O estilo de código deve estar em conformidade com o existente.

Convenção de Nomenclatura

Por exemplo, signupUrl para nomes de variáveis, Signup URL para UI.

Como Atualizar Dados i18n?

Por favor, note que usamos o Crowdin como plataforma de tradução e i18next como ferramenta de tradução. Quando você adicionar strings usando i18next no diretório web/, você pode executar o i18n/generate_test.go para gerar automaticamente web/src/locales/**/data.json.

Execute i18n/generate_test.go:

cd i18n && go test

Todos os idiomas são preenchidos em inglês por padrão. Após o seu PR ter sido mesclado, você é encorajado a ajudar a traduzir as strings recém-adicionadas em web/src/locales/zh/data.json pelo Crowdin.

cuidado

Se você não estiver familiarizado com um idioma, por favor, não o traduza; mantenha o arquivo como está.

Licença

Ao contribuir para o Casdoor, você concorda que suas contribuições serão licenciadas sob a Licença Apache.