diff --git a/docs/onboarding-guide/Onboarding-maintainer-guide.md b/docs/onboarding-guide/Onboarding-maintainer-guide.md new file mode 100644 index 000000000..11fa3868b --- /dev/null +++ b/docs/onboarding-guide/Onboarding-maintainer-guide.md @@ -0,0 +1,66 @@ +# Onboarding Guide for AsyncAPI Maintainers + +Welcome to the AsyncAPI Maintainer Onboarding Guide! + +This document provides you with guidelines about everything you need to know to begin your journey as a maintainer within the AsyncAPI ecosystem. Maintainers are the backbone of any open-source project, helping with different activities that help the project stay on track and foster a healthy, productive community. + +Before we go into getting you started, let's try and clarify just *who* a maintainer is. + +## Who is an AsyncAPI Maintainer? + +A maintainer is an individual who plays a crucial role in overseeing and guiding the development and growth of an open-source project. As a maintainer for AsyncAPI, you'll be responsible for: + +- Overseeing the technical direction of the project +- Helping with reviewing and resolving issues and pull requests (PR) +- Managing workflows and GitHub Actions to automate tasks +- Enforcing coding standards +- Identifying and appointing new maintainers +- Mentoring new contributors and helping them navigate their journey +- Recognizing and rewarding contributions to foster community engagement + +But being a maintainer goes beyond these responsibilities—it’s about **ownership** and **leadership**. You’re not just merging code; you’re shaping the project’s future. This means stepping up to unblock contributors stuck on a PR, advocating for improvements in the roadmap, or leading releases to ensure smooth deployments. You’ll proactively identify risks, mediate discussions to align decisions with AsyncAPI’s vision, and celebrate wins to keep the community motivated. + +Maintainers also **lead by example**. You’ll mentor others not just by answering questions, but by teaching contributors *why* coding standards matter or *how* to structure a feature. You’ll balance technical rigor with empathy, ensuring decisions serve both the project’s goals and its people. + +Essentially, you serve as a person that binds the project together and guarantees that everything runs smoothly. + +## Steps to becoming a Maintainer + +Before you can become a **maintainer**, you need to start as a **contributor**. The journey from contributor to maintainer is a rewarding one, and it involves the following steps: + +### 1. **Pick an Issue** + +- **Join existing PR reviews**: If you're not sure where to start, begin by reviewing open [PR](https://github.com/pulls?q=is%3Aopen+org%3Aasyncapi+sort%3Aupdated-desc+archived%3Afalse+) within the organization. This will give you a high-level understanding of the projects and where your contributions might fit in. + +- **Look for "*good first issue*" labels**: These [issues](https://github.com/issues?page=1&q=is%3Aopen+org%3Aasyncapi+sort%3Aupdated-desc+label%3A%22good+first+issue%22) are beginner-friendly and will help you get familiar with the project’s structure. Additionally, you can check out the [#97_bot-github-new-issues-prs](https://asyncapi.slack.com/archives/C01J06RL10X) channel on Slack for new issues and PRs. + +- **Participate in live streams**: AsyncAPI maintainers sometimes host [live streams](https://www.asyncapi.com/community/events) where they walk through parts of the project. You can request a session on the specific area you want to contribute to. + +> [!NOTE] +> Make sure whatever issue you pick isn't marked "Do-not-merge," or else your PR won't be merged. + +### 2. **Open a PR** + +For a comprehensive guide on how to create a fork and start contributing, refer to the [AsyncAPI Git Workflow Guide](https://github.com/asyncapi/community/blob/master/git-workflow.md). + +- **Fork the repository**: Fork the repository you want to contribute to and create a new branch for your changes. + +- **Make changes**: Implement the changes required to resolve the issue you picked. Ensure your code adheres to the project’s coding standards. + +- **Submit a PR**: Once you’re done with the changes, submit a PR to the main repository. Make sure to include a detailed description of your changes. + +- **Participate in discussions**: Engage with maintainers and other contributors in the PR comments section. This will help you understand the project better and improve your contributions. + +### 3. **Get your PR merged** + +- **PR review process**: After submitting a PR, maintainers need to review it. + +- **Contact maintainers**: If a PR is not being reviewed (which is rare) or needs urgent review, contact maintainers on Slack or GitHub. + +- **Ensure smooth merge**: Ensure all checks (tests, style checks, etc.) pass before merging your PR. + +### 4. **Receive an invitation to become a Maintainer 🎉** + +- **Recognition**: After contributing consistently and demonstrating leadership — whether through code, reviews, mentorship, or strategic input — the maintainers will invite you to join the team. This invitation is a recognition of your ownership and dedication to AsyncAPI’s success. + +- If you haven't received an invitation despite contributing consistently, you can open an issue in the corresponding repository to discuss your contributions with the maintainers. You can see an example of such an issue [here](https://github.com/asyncapi/cli/issues/1616). \ No newline at end of file