Contributing
Casbin is an open-source authorization library with implementations in many languages. We welcome contributors in any of the supported languages.
The project splits into two main areas:
- Core and language ports â Implementing Casbinâs core and ecosystem in Go, Java, Node.js, PHP, Python, .NET, C++, Rust, and others.
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
| Casbin | jCasbin | node-Casbin | PHP-Casbin |
| à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸ | à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸ | Production-ready | Production-ready |
![]() | ![]() | ![]() | |
|---|---|---|---|
| PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
| à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸ | à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸ | Production-ready | Production-ready |
- Applications and tools â Projects built on top of Casbin (e.g. editors, dashboards).
| à¹à¸à¸£à¹à¸à¹à¸à¸à¹ | à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ | รายละà¹à¸à¸µà¸¢à¸ | Tech Stack |
|---|---|---|---|
| Casbin Editor | Casbin Editor | A browser-based editor for creating and testing Casbin models and policies. | TypeScript + React |
Ways to contributeâ
-
Use Casbin and give feedback â Report bugs or suggest features on GitHub. For bigger ideas, discuss first on Discord or GitHub Discussions. Please use English for issues and discussions.
-
Improve documentation â Docs are a great way to get started; fixes and clarifications are always welcome.
-
Tackle issues â See the project board for open issues; many are labeled by difficulty.
Submitting pull requestsâ
We use GitHub and standard pull-request workflow.
Before you submit:
-
Describe the purpose and impact of your change clearly.
-
Keep each PR focused (one feature or fix). Split unrelated changes into separate PRs.
-
When adding new files, include the Casbin license header at the top:
// 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>.<scope>à¹à¸à¹à¸à¸à¸±à¸§à¹à¸¥à¸·à¸à¸ For detailed guidelines, see Conventional Commits.






