メインコンテンツにスキップ

コントリビューターガイド

Casdoorへようこそ! この文書はCasdoorへの貢献方法に関するガイドラインとして機能します。

誤った情報や不足している情報を見つけた場合は、コメントや提案を残してください。

関与する

Casdoorに貢献する方法はたくさんあります。 始めるためのいくつかのアイデアはこちらです:

  • Casdoorを使用し、問題を報告してください。 Casdoorを使用する際には、GitHubのGitHub DiscussionsDiscordでバグや提案があれば報告してください。GitHubで問題を提出する前に。
情報

問題を報告する際は、問題の詳細を英語で説明してください。

  • ドキュメントの手助けをする。 ドキュメントの作業から貢献を始めることは良い選択です。

  • 問題を解決する手助けをする。 Casdoor Easy Tasksには、異なるタグでラベル付けされた異なるレベルの挑戦を含む初心者向けの簡単なタスクが含まれています。

貢献する

PRを作成する準備ができたら、こちらがコントリビューターのためのワークフローです:

  1. あなた自身のリポジトリにフォークしてください。

  2. フォークしたものをローカルリポジトリにクローンしてください。

  3. 新しいブランチを作成し、その上で作業してください。

  4. あなたのブランチを同期させておいてください。

  5. 変更をコミットしてください。 コミットメッセージが簡潔であることを確認してください。

  6. フォークしたリポジトリにコミットをプッシュしてください。

  7. あなたのブランチから私たちのmasterブランチへプルリクエストを作成してください。

プルリクエスト

始める前に

CasdoorはGitHubを開発プラットフォームとして使用しており、プルリクエストが主な貢献源です。

プルリクエストを開く前に知っておくべきいくつかのことがあります:

  • 初めてプルリクエストを作成するときにCLAに署名する必要があります。

  • プルリクエストを提出する理由と、それがリポジトリに何をもたらすかを説明してください。

  • 1つのコミットのみが許可されます。 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.

セマンティックPR

あなたのプルリクエストはConventional Commitsの仕様に従うべきです。 基本的な要件は、PRのタイトルか少なくとも1つのコミットメッセージのみです。 例として、よく使われる3つのPRタイトルを以下に示します:

注意

PRのタイトルは小文字でなければなりません。

  1. fixtypeのコミット fixはあなたのコードベースのバグを修正します。

    fix: prevent racing of requests
  2. feattypeのコミット featはコードベースに新機能を導入します。

    feat: allow provided config object to extend other configs
  3. docstypeのコミット docsはドキュメントを追加または改善します。

    docs: correct spelling of CHANGELOG

詳細については、Conventional Commitsのページを参照してください。

PRと問題のリンク

プルリクエストを問題にリンクすることで、修正が進行中であることを示し、プルリクエストがマージされたときに自動的に問題を閉じることができます。

キーワードを使用してプルリクエストを問題にリンクする

プルリクエストの説明またはコミットメッセージでサポートされているキーワードを使用することで、プルリクエストを問題にリンクすることができます。 プルリクエストは必ずデフォルトブランチにする必要があります。

  • close
  • fix
  • resolve

たとえば、同じリポジトリ内の問題:

Fix: #902

詳細については、Linking a Pull Request to an Issueを参照してください。

PRの修正

あなたのPRは改訂が必要かもしれません。 コードに変更が必要な場合は、同じPRを修正してください。PRを閉じて新しいものを開かないでください。 例を示します:

  • ローカルでコードを修正してください。

  • コミットを修正してください。

git commit --amend
  • あなたのリモートリポジトリにプッシュしてください。
git push --force

そうすれば、PRの修正に成功したことになります!

コード関連

いくつかの原則:

  • 可読性:重要なコードはよく文書化されているべきです。 コードスタイルは既存のものに準拠すべきです。

命名規則

例えば、変数名にはsignupUrl、UIにはSignup URL

i18nデータを更新する方法は?

翻訳プラットフォームとしてCrowdinを、翻訳ツールとしてi18nextを使用していることに注意してください。 web/ディレクトリでi18nextを使用して文字列を追加するとき、i18n/generate_test.goを実行してweb/src/locales/**/data.jsonを自動生成できます。

i18n/generate_test.goを実行してください:

cd i18n && go test

すべての言語はデフォルトで英語で記入されます。 あなたのPRがマージされた後、Crowdinweb/src/locales/zh/data.jsonに新しく追加された文字列の翻訳を手伝っていただければ幸いです。

注意

ある言語に精通していない場合は、翻訳せずにファイルをそのままにしてください。

ライセンス

Casdoorに貢献することで、あなたの貢献がApache Licenseの下でライセンスされることに同意したことになります。