跳到主要内容

贡献指南

Casbin 是一个开源授权库,拥有多种语言的实现。我们欢迎来自任何受支持语言的贡献者。

该项目分为两个主要领域:

  • Core and language ports — 在 Go、Java、Node.js、PHP、Python、.NET、C++、Rust 等语言中实现 Casbin 的核心和生态系统。
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
生产就绪生产就绪生产就绪生产就绪
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
生产就绪生产就绪生产就绪生产就绪
  • Applications and tools — 基于 Casbin 构建的项目(例如编辑器、仪表板)。
项目演示详情技术栈
Casbin EditorCasbin Editor用于创建和测试 Casbin 模型及策略的基于浏览器的编辑器。TypeScript + React

贡献方式​

  • 使用 Casbin 并提供反馈 — 在 GitHub 上报告错误或建议功能。对于更大的想法,请先在 Discord 或 GitHub Discussions 上讨论。请使用英语提交 Issue 和参与讨论。

  • 改进文档 — 文档是入门的好方法;随时欢迎修正和澄清。

  • 处理 Issue — 查看 project board 了解未解决的 Issue;许多已按难度标记。

提交 Pull Request​

我们使用 GitHub 和标准的 Pull Request 工作流程。

在提交之前:

  • 清晰描述您更改的目的和影响。

  • 保持每个 PR 聚焦(一个功能或修复)。将不相关的更改拆分为单独的 PR。

  • 添加新文件时,请在顶部包含 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.
  • Use semantic commit messages following the format: <type>(<scope>): <subject>. The <scope> is optional. For detailed guidelines, see Conventional Commits.

许可证​

所有对 Casbin 的贡献均根据 Apache License 进行许可。

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.