Skip to content

docs: add onboarding guide for identifying good first issues #1815

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
Changes from 14 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions docs/onboarding-guide/identifying-good-first-issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Identifying Good First Issues
description: A guide to help new contributors find and work on beginner-friendly issues in AsyncAPI projects
weight: 50
---

# Start Contributing to AsyncAPI
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:

1. Navigate to the [AsyncAPI GitHub organization](https://github.com/asyncapi).

![Screenshot 2025-05-24 020543](https://github.com/user-attachments/assets/13573e2d-8d30-460f-8923-fcad82eeaedc)

2. Click on the **"Issues"** tab of a repository.

![Screenshot 2025-05-24 020327](https://github.com/user-attachments/assets/8f343ae0-2206-4be9-b1e6-9cd6ec192ef8)


3. Use the search bar or label filters to locate issues labeled like: `good first issue` or `help wanted`.

![Screenshot 2025-05-24 020450](https://github.com/user-attachments/assets/49dab98c-2b51-4374-8abe-130c2c269110)

### 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. |
Comment on lines +44 to +45
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 22-25, 43, 50-51 repeat the same information over and over again

| **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](https://github.com/asyncapi/community/blob/master/git-workflow.md), 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!