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.
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:
Faça um fork para o seu próprio repositório.
Clone seu fork para um repositório local.
Crie uma nova branch e trabalhe nela.
Mantenha sua branch sincronizada.
Cometa suas mudanças. Certifique-se de que sua mensagem de commit seja concisa.
Envie seus commits para o seu repositório bifurcado.
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:
Os títulos dos PRs devem estar em minúsculas.
fix: um commit do tipo
fix
corrige um bug na sua base de código.fix: prevent racing of requests
feat: um commit do tipo
feat
introduz um novo recurso na base de código.feat: allow provided config object to extend other configs
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.
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.