|
| 1 | +--- |
| 2 | +title: AsyncAPI Code Contributor Guide |
| 3 | +description: A guide for new contributors looking to contribute code to the AsyncAPI project. |
| 4 | +weight: 90 |
| 5 | +--- |
| 6 | +# AsyncAPI Code Contributor Guide |
| 7 | + |
| 8 | +Welcome to the AsyncAPI community! We're excited to have you here. Think of AsyncAPI as a collaborative puzzle - your contributions are essential to completing it. This guide will help you get started smoothly. |
| 9 | + |
| 10 | +## Understanding AsyncAPI |
| 11 | +[AsyncAPI](https://www.asyncapi.com/en) is an open-source initiative for defining and building event-driven architectures. Our repositories house tools, specifications, and generators that make event-driven systems easier to work with. Each repo has a purpose, detailed in its `README.md`. |
| 12 | + |
| 13 | +## Prerequisites |
| 14 | + Before you begin contributing code, make sure you're familiar with the following: |
| 15 | + |
| 16 | +- [Git Workflow Guide](https://github.com/asyncapi/community/blob/master/git-workflow.md): Learn how to fork, branch, commit, and open pull requests. |
| 17 | +- [Git](https://git-scm.com) and [GitHub](https://github.com): These are your primary tools for version control and collaboration. Learn the basics [here](https://docs.github.com/en/get-started). |
| 18 | +- Code Editor: Your tool to work with the source code of our repositories and version control. For example, [VS Code](https://code.visualstudio.com), [Sublime Text](https://www.sublimetext.com), [JetBrains IDEs](https://www.jetbrains.com/ides/), or any other tool you prefer. |
| 19 | +- [Node.js & npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm): AsyncAPI relies on JavaScript/TypeScript, so ensure these are installed and configured. |
| 20 | + |
| 21 | +## Contribution Etiquette |
| 22 | +1. Follow the [Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md) |
| 23 | +2. Stick to the [Contributing guidelines](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md) |
| 24 | +3. Document the "why" of your contribution(s). Make sure that someone who opens the code for the first time understands the changes you've made. |
| 25 | +4. Communicate openly through discussions on GitHub or designated Slack channels. |
| 26 | + |
| 27 | +## Submit Your First Pull Request (PR) |
| 28 | + |
| 29 | +Once you've made and committed your changes (following the Git Workflow guide), you need to create a Pull Request (PR) to propose merging your work into the official AsyncAPI repository. Make sure to use the [conventional commit style](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md#conventional-commits) while creating PRs and follow these steps: |
| 30 | + |
| 31 | +### Create a Pull Request (PR) |
| 32 | + |
| 33 | +Now, go to your forked repository on GitHub (ex.- `https://github.com/your-username/generator`): |
| 34 | + |
| 35 | +1. You’ll see a notification about your recently pushed branch. Click the "Compare & pull request" button. |
| 36 | +2. Make sure the base repository is `asyncapi/generator` (upstream) and the head repository is your fork (`your-username/generator`). |
| 37 | +3. Add a clear title and description explaining your changes. |
| 38 | +4. Click "Create pull request" to submit your PR for review. |
| 39 | + |
| 40 | +That's it! You've successfully submitted your first Pull Request. |
| 41 | + |
| 42 | +### Wait for Review & Merge |
| 43 | +- The maintainers will review your PR. |
| 44 | +- If needed, respond to their comments and make changes. |
| 45 | +- Once approved, a maintainer will merge your PR into the official AsyncAPI repository! |
| 46 | + |
| 47 | +Every contribution matters, no matter how small. Dive in and let’s build something amazing together! |
0 commit comments