|
| 1 | +# Contributing |
| 2 | + |
| 3 | +AdonisJs is a community driven project. You are free to contribute in any of the following ways. |
| 4 | + |
| 5 | +- [Coding style](coding-style) |
| 6 | +- [Fix bugs by creating PR's](fix-bugs-by-creating-prs) |
| 7 | +- [Share an RFC for new features or big changes](share-an-rfc-for-new-features-or-big-changes) |
| 8 | +- [Report security issues](report-security-issues) |
| 9 | +- [Be a part of the community](be-a-part-of-community) |
| 10 | + |
| 11 | +## Coding style |
| 12 | + |
| 13 | +Majority of AdonisJs core packages are written in Typescript. Having a brief knowledge of Typescript is required to contribute to the core. [Learn more](https://adonisjs.com/coding-style) about the same. |
| 14 | + |
| 15 | +## Fix bugs by creating PR's |
| 16 | + |
| 17 | +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. |
| 18 | + |
| 19 | +Go through the following points, before creating a new PR. |
| 20 | + |
| 21 | +1. Create an issue discussing the bug or short-coming in the framework. |
| 22 | +2. Once approved, go ahead and fork the REPO. |
| 23 | +3. Make sure to start from the `develop`, since this is the upto date branch. |
| 24 | +4. Make sure to keep commits small and relevant. |
| 25 | +5. We follow [conventional-commits](https://github.com/conventional-changelog/conventional-changelog) to structure our commit messages. Instead of running `git commit`, you must run `npm commit`, which will show you prompts to create a valid commit message. |
| 26 | +6. Once done with all the changes, create a PR against the `develop` branch. |
| 27 | + |
| 28 | +## Share an RFC for new features or big changes |
| 29 | + |
| 30 | +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. |
| 31 | + |
| 32 | +### What is an RFC? |
| 33 | + |
| 34 | +RFC stands for **Request for Commits**, a standard process followed by many other frameworks including [Ember](https://github.com/emberjs/rfcs), [yarn](https://github.com/yarnpkg/rfcs) and [rust](https://github.com/rust-lang/rfcs). |
| 35 | + |
| 36 | +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. |
| 37 | + |
| 38 | +The RFC proposals are created as issues on [adonisjs/rfcs](https://github.com/adonisjs/rfcs) repo. Make sure to read the README to learn about the process in depth. |
| 39 | + |
| 40 | +## Report security issues |
| 41 | + |
| 42 | +All of the security issues, must be reported via [email ](mailto:[email protected]) and not using any of the public channels. [Learn more ](https://adonisjs.com/security) about the security policy |
| 43 | + |
| 44 | +## Be a part of community |
| 45 | + |
| 46 | +We welcome you to participate in the [forum](https://forum.adonisjs.com/) and the AdonisJs [discord server](https://discord.me/adonisjs). You are free to ask your questions and share your work or contributions made to AdonisJs eco-system. |
| 47 | + |
| 48 | +We follow a strict [Code of Conduct](https://adonisjs.com/community-guidelines) to make sure everyone is respectful to each other. |
0 commit comments