Welcome to Permify contribution guidelines, happy to see you here 😊
Before participating in the community, we must specify that all of the contributions must follow our Code of Conduct. Please read it before you make any contributions.
If you need any help or want to talk about about a specific issue, you can always reach out to me from my mail:[email protected].
You're always more than welcome to our other communication channels.
- Contribute to codebase: We're collaboratively working with our community to make Permify the best it can be! You can develop new features, fix existing issues or make third-party integrations/packages.
- Improve documentation: Alongside our codebase, documentation is one of the most significant things in our open-source journey. We're trying to give the best DX possible to explain ourselves and Permify. And you can help on that by improving resources or adding new ones.
- Contribute to playground: Permify playground allows you to visualize and test your authorization logic. You can contribute to our playground by improving its user interface, fixing glitches, or adding new features.
- Fork this repository.
- Clone the repository you forked.
- Create a branch with specified name. It's better to relate it with your issue title.
- Make necessary changes and commit those changes. Make sure to test your changes.
- Push changes to your branch.
- Submit your changes for review.
We use conventional commits to keep our commit messages consistent and easy to understand. Here is the applied form of a commit message.
<type>(optional scope): <description>
Examples:
feat: added multi tenant authentication support
fix: fixed welcomeServer duplicated syntax
docs: update the deployment options on set up section
fix:
, feat:
, build:
, chore:
, ci:
, docs:
, style:
, refactor:
, perf:
, test:
In order to contribute and test in our codebase you need to have Go version 1.19 or higher.
go test -v ./...
Permify is not using anything other than the standard Go modules toolchain to manage dependencies.
go get github.com/org/newdependency@version
All Protobuf code is managed using buf.
buf generate
If you found any bug, have feature request or just want to improve our code base, docs or other resources; you can open an issue about it to let us know. If you plan to work on an existing issue, mention us on the issue page before you start working on it so we can assign you to it.
- If you plan to work on a problem, please check that same problem or topic does not already exist.
- If you plan to work on a new feature, our advise is to discuss it with other community members/maintainers who might give you an idea or support.
- If you're stuck anywhere, ask for help in our discord community.
- Please relate one bug with one issue, do not use issues as bug lists.
You can create an issue and contribute to anything you want, but please ensure to follow the steps above. We will definitely ease your work and help on anything when needed.