Identifying Good First Issues
Welcome to the AsyncAPI community! Not sure where to make your first contribution? This guide is a treasure map to help you navigate the process, find the right issues, and get started with contributing to AsyncAPI.
Your First Contribution
Find Something to Work On
The first step in contributing to AsyncAPI is identifying an issue to work on. Contributions come in many forms, and every contribution, big or small, matters. Here are a few ways to get started:
- Improve the documentation (fix typos, enhance explanations, add examples).
- Clarify code comments, improve variable names, or refactor code.
- Add test coverage for untested areas.
- Help triage issues (identify duplicates, provide additional context).
How to Find Good First Issues
Imagine you're a detective searching for clues. In open-source, your clues are GitHub issues - tasks that need to be solved. Some issues are complex mysteries, while others are simple puzzles that are perfect for beginners.
Look for Issue Labels
If none of the above resonates with you, check out issues labeled good first issue
or help wanted
in the repositories. These labels indicate tasks that are well-scoped for new contributors.
To find good first issues, follow these steps:
- Navigate to the AsyncAPI GitHub organization.
- Click on the "Issues" tab of a repository.
- Use the search bar or label filters to locate issues labeled like:
good first issue
orhelp wanted
.
Understanding Issue Labels
When looking at issues, you might see different labels. Here's what they mean:
Label | Meaning |
---|---|
good first issue | Great for newcomers! Clearly defined and simple. |
help wanted | Extra attention is needed, may require some research. |
enhancement | Suggests a new feature or improvement. |
docs | Documentation-related issues. |
docs bug | Documentation errors or inconsistencies. |
design | Design thinking/mockups needed. |
area/docs | Issues related to documentation. |
area/design | Issues related to design improvements. |
area/ci-cd | Issues related to CI/CD pipelines. |
area/go | Issues specific to Go projects. |
bug | Something isn't working correctly, so it's time to fix it! |
area/javascript | Issues specific to JavaScript projects. |
area/typescript | Issues specific to TypeScript projects. |
bounty | AsyncAPI Bounty program-related issue. |
gsoc | Google Summer of Code-related ideas/issues. |
Hacktoberfest | Available for Hacktoberfest participants. |
dependencies | Pull requests that update dependencies. |
Epic | Large issues that track multiple related tasks. |
level/advanced | Issues requiring advanced knowledge. |
level/medium | Issues requiring intermediate skills. |
invalid | This issue or PR doesn't seem valid. |
duplicate | This issue or PR already exists. |
keep-open | Issue should remain open for tracking. |
Next Steps
⚠ Note: We do not pre-assign issues. Instead, contributors must comment on an issue they want to work on.
AsyncAPI follows a "first come, first served" approach for assigning issues. Here are some tips to help you increase your chances of getting assigned to an issue:
-
Comment on the issue: Start with saying something like, "Hey, I'd like to work on this!" so maintainers know you're interested.
-
Once you comment, wait for approval by maintainers: They may guide you further (if needed) or might assign the issue to you. If there are no blockers, you can start working!
-
Start coding: Once approved, head on to the git workflow guide, and start working!
-
Ask for help: Don't hesitate to ask in the issue comments or the dedicated AsyncAPI Slack Channel if you're stuck.
So what are you waiting for? Go find your first quest, and let's build something awesome together!