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 |
| Listo para producción | Listo para producción | Production-ready | Production-ready |
![]() | ![]() | ![]() | |
|---|---|---|---|
| PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
| Listo para producción | Listo para producción | Production-ready | Production-ready |
- Applications and tools — Projects built on top of Casbin (e.g. editors, dashboards).
| Proyecto | Demo | Detalles | Tech Stack |
|---|---|---|---|
| Casbin Editor | Editor Casbin | 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>. El<scope>es opcional. For detailed guidelines, see Conventional Commits.
Licensing
All contributions to Casbin are licensed under the Apache License.






