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

Contributing

Casbinは、多くのプログラミング言語での実装をサポートする強力な認証ライブラリです。 あなたが何かのプログラミング言語に熟練しているなら、Casbinの開発に貢献することができます。 新しい貢献者はいつでも歓迎です。

現在、主に2種類のプロジェクトがあります:

  • アルゴリズム指向のプロジェクト - これらのプロジェクトは、異なるプログラミング言語でアルゴリズムを実装することを含みます。 Casbinは、Golang、Java、C++、Elixir、Dart、Rustなど、幅広い言語とそれらに関連する製品をサポートしています。
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
本番環境で使用可能本番環境で使用可能本番環境で使用可能本番環境で使用可能
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
本番環境で使用可能本番環境で使用可能本番環境で使用可能本番環境用
  • アプリケーション指向のプロジェクト - これらのプロジェクトは、Casbinの上に構築されたアプリケーションに関連しています。
プロジェクトデモ詳細スキルスタック
CasdoorCasdoorCasdoorは、OAuth 2.0/OIDCに基づくUIファーストの集中認証/シングルサインオン(SSO)プラットフォームです。JavaScript + React と Golang + Beego + SQL
CasnodeCasbin ForumCasnodeは次世代のフォーラムソフトウェアです。JavaScript + React と Golang + Beego + SQL
Casbin OAOA systemCasbin-OAは、Casbinの技術ライター向けの公式の原稿処理、評価、表示システムです。JavaScript + React と Golang + Beego + MySQL
Casbin EditorCasbin EditorCasbin-editorは、Casbinのモデルとポリシーのためのウェブベースのエディタです。TypeScript + React

参加する

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

  • Casbinを使用し、問題を報告してください! Casbinを使用しているときに遭遇した問題を報告して、Casbinの開発を促進してください。 バグであろうと提案であろうと、GitHubで問題を提出することをお勧めします。 ただし、問題を提出する前に、まずDiscordGitHub Discussionsで議論をする方が良いでしょう。

    注: 問題を報告するときは、問題の詳細を英語で記述してください。

  • ドキュメンテーションに協力してください! ドキュメンテーションに貢献することは、あなたの貢献の良いスタートポイントです。

  • 問題を解決しましょう! 初心者向けの簡単なタスクを含むテーブルを用意しました。異なるレベルの挑戦が異なるタグでラベル付けされています。 テーブルはここで確認できます。

プルリクエスト

CasbinはGitHubを開発プラットフォームとして使用しているため、プルリクエストが主な貢献方法です。

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

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

  • プルリクエストが一つのことだけを行うように確認してください。 複数の変更がある場合は、それらを別々のプルリクエストに分割してください。

  • 新しいファイルを追加する場合は、新しいファイルの先頭にCasbinライセンスを含めてください。

    // Copyright 2021 The casbin 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.
  • CasdoorCasnodeCasbin OAのようなプロジェクトでは、プルリクエストがプロジェクトの開発にどのように役立つかをメンテナに示すためにデモを設定する必要があるかもしれません。

  • プルリクエストを開き、貢献をコミットする際には、次の形式でセマンティックコミットを使用することを推奨します:<type>(<scope>): <subject><scope>はオプションです。 詳細な使用方法については、Conventional Commitsを参照してください。

ライセンス

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