AdonisJS is a community driven project. You are free to contribute in any of the following ways.
- Coding style
- Fix bugs by creating PR's
- Share an RFC for new features or big changes
- Report security issues
- Be a part of the community
Majority of AdonisJS core packages are written in Typescript. Having a brief knowledge of Typescript is required to contribute to the core.
We appreciate every time you report a bug in the framework or related libraries. However, taking time to submit a PR can help us in fixing bugs quickly and ensure a healthy and stable eco-system.
Go through the following points, before creating a new PR.
- Create an issue discussing the bug or short-coming in the framework.
- Once approved, go ahead and fork the REPO.
- Make sure to start from the
develop
, since this is the upto date branch. - Make sure to keep commits small and relevant.
- We follow conventional-commits to structure our commit messages. Instead of running
git commit
, you must runnpm commit
, which will show you prompts to create a valid commit message. - Once done with all the changes, create a PR against the
develop
branch.
Sharing PR's for small changes works great. However, when contributing big features to the framework, it is required to go through the RFC process.
RFC stands for Request for Commits, a standard process followed by many other frameworks including Ember, yarn and rust.
In brief, RFC process allows you to talk about the changes with everyone in the community and get a view of the core team before dedicating your time to work on the feature.
The RFC proposals are created as Pull Request on adonisjs/rfcs repo. Make sure to read the README to learn about the process in depth.
All of the security issues, must be reported via email and not using any of the public channels.
We welcome you to participate in GitHub Discussion and the AdonisJS Discord Server. You are free to ask your questions and share your work or contributions made to AdonisJS eco-system.