메인 콘텐츠로 건너뛰기

Casdoor에 기여하는 방법에 대한 가이드

Casdoor에 오신 것을 환영합니다! 잘못되거나 누락된 정보를 발견하면 의견이나 제안을 남겨주세요.

참여하기

Casdoor를 사용하고 문제를 보고하세요.

시작하기 위한 몇 가지 아이디어는 다음과 같습니다: 기본 요구사항은 PR 제목이나 적어도 하나의 커밋 메시지만 있으면 됩니다.

  • Casdoor를 사용하고 문제를 보고하십시오. Casdoor를 사용할 때, 버그나 제안사항 등의 문제가 발생하면 GitHub Discussions 또는 Discord에서 보고하기 전에 GitHub에서 이슈를 제기해주세요.
정보

문제를 보고할 때 문제의 세부 사항을 영어로 설명해주세요.

  • 문서 작업을 도와주세요. 문서 작업부터 기여 작업을 시작하는 것이 좋은 선택입니다.

  • 문제 해결에 도움을 주세요. Casdoor Easy Tasks에 초보자에게 적합한 쉬운 작업이 포함된 표가 있으며, 다른 태그로 다양한 수준의 도전 과제가 표시되어 있습니다.

기여하기

PR을 생성할 준비가 되었다면, 다음은 기여자를 위한 작업 흐름입니다:

  1. 자신의 저장소로 포크하세요.

  2. 포크한 것을 로컬 저장소로 복제하세요.

  3. 새로운 브랜치를 생성하고 그 위에서 작업하세요.

  4. 브랜치를 동기화 상태로 유지하세요.

  5. 변경 사항을 커밋하세요. 커밋 메시지가 간결한지 확인하세요.

  6. 커밋을 포크한 저장소로 푸시하세요.

  7. 당신의 브랜치에서 우리의 master 브랜치로 풀 요청을 생성하세요.

풀 요청

시작하기 전에

Casdoor는 GitHub를 개발 플랫폼으로 사용하며, 풀 리퀘스트가 주요 기여원입니다.

풀 리퀘스트를 열기 전에 알아야 할 몇 가지 사항들이 있습니다:

  • 처음 풀 리퀘스트를 생성할 때 CLA에 서명해야 합니다.

  • 풀 리퀘스트를 제출하는 이유와 이것이 저장소에 무엇을 할 것인지 설명하세요.

  • 하나의 커밋만 허용됩니다. PR이 여러 가지 작업을 수행한다면, 분할해주세요.

  • 새로 추가된 파일이 있다면, 새 파일 상단에 Casdoor 라이선스를 포함해주세요.

// 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

풀 요청은 기본 브랜치에 있어야 합니다. 예를 들어, 아래에 주로 사용되는 세 가지 PR 제목이 제공됩니다: 풀 요청의 설명이나 커밋 메시지에서 지원되는 키워드를 사용하여 풀 요청을 이슈에 연결할 수 있습니다.

주의

PR 제목은 소문자로 작성해야 합니다.

  1. fix는 코드베이스의 버그를 수정합니다. feat: type의 커밋

    fix: prevent racing of requests
  2. feat는 코드베이스에 새로운 기능을 도입합니다. docs: type의 커밋

    feat: allow provided config object to extend other configs
  3. 기여자 가이드 docs는 문서를 추가하거나 개선합니다.

    docs: correct spelling of CHANGELOG

자세한 내용은 Conventional Commits 페이지를 참조해주세요.

PR과 이슈 연결하기

풀 리퀘스트를 이슈에 연결하여 수정이 진행 중임을 보여주고, 풀 리퀘스트가 병합되면 이슈를 자동으로 닫을 수 있습니다.

키워드를 사용하여 풀 리퀘스트를 이슈에 연결하기

fix: type의 커밋 코드 관련

  • close
  • fix
  • resolve

예를 들어, 같은 저장소의 이슈:

Fix: #902

자세한 내용은 풀 리퀘스트를 이슈에 연결하기를 참조해주세요.

PR 수정하기

PR이 수정이 필요할 수 있습니다. 코드에 변경이 필요한 경우 동일한 PR을 수정하십시오; PR을 닫고 새로운 것을 열지 마십시오. 다음은 예입니다:

  • 로컬에서 코드를 수정하십시오.

  • 커밋을 수정하십시오.

git commit --amend
  • Casdoor에 기여하는 방법은 많습니다.
git push --force

그런 다음, PR을 성공적으로 수정했음을 알 수 있습니다!

i18n/generate_test.go 실행:

일부 원칙:

  • 가독성: 중요한 코드는 잘 문서화되어야 합니다. 코드 스타일은 기존 것을 준수해야 합니다.

이름 짓기 규칙

예를 들어, 변수 이름에는 signupUrl, UI에는 Signup URL을 사용합니다.

i18n 데이터를 어떻게 업데이트하나요?

Crowdin을 번역 플랫폼으로, i18next를 번역 도구로 사용한다는 점을 유의하십시오. web/ 디렉토리에서 i18next를 사용하여 문자열을 추가하면, i18n/generate_test.go를 실행하여 web/src/locales/**/data.json을 자동 생성할 수 있습니다.

모든 언어는 기본적으로 영어로 채워집니다.

cd i18n && go test

라이센스 PR이 병합된 후에는 Crowdin에서 web/src/locales/zh/data.json에 새로 추가된 문자열을 번역하는 데 도움을 주시는 것이 좋습니다.

주의

어떤 언어에 익숙하지 않다면 번역하지 마십시오; 파일을 그대로 유지하십시오.

원격 저장소에 푸시하세요.

Casdoor에 기여함으로써, 귀하의 기여가 Apache 라이선스에 따라 라이선스가 부여될 것에 동의하는 것입니다.