You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,14 +30,16 @@ We use [All Contributors](https://allcontributors.org/docs/en/specification) spe
30
30
31
31
## Guidelines for New Contributors
32
32
33
-
1. Read the [generator docs](https://www.asyncapi.com/docs/tools/generator) to get an overview of what the project is about.
34
-
2. While reading through the docs one might identify issues (e.g., broken links, text formatting issues, etc.).
35
-
3. Some concepts in the documentation might not be presented clearly, so contributors can suggest improvements (e.g., adding more examples or code snippets to make the documentation easy to understand).
36
-
4. Familiarize yourself with the project's structure by reviewing the source code and understanding the roles of different files and components.
37
-
5. Testing is one of the areas where new contributors can contribute, as running tests reveals uncovered lines in a particular file (e.g., a **test coverage report**).
38
-
6. You can then try to add tests for those uncovered lines (e.g., a function within a file might not be covered). For reference, you can check out this [PR](https://github.com/asyncapi/generator/pull/1379).
39
-
7. Instead of creating entirely new tests, consider enhancing existing ones by adding more edge cases to include additional test scenarios.
40
-
8. We encourage contributors to help improve code quality by reviewing reported issues on [SonarCloud](https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=asyncapi_generator) and suggesting improvements, identifying false reported issues that may need to be removed, and proposing fixes for valid issues.
33
+
1.**Watch the Onboarding Webinar** - Before diving into code, watch our [Generator onboarding webinar](https://www.youtube.com/watch?v=Mkd7FgKOMNE) to understand the architecture and design decisions.
34
+
2. Read the [generator docs](https://www.asyncapi.com/docs/tools/generator) to get an overview of what the project is about.
35
+
3. While reading through the docs one might identify issues (e.g., broken links, text formatting issues, etc.).
36
+
4. Some concepts in the documentation might not be presented clearly, so contributors can suggest improvements (e.g., adding more examples or code snippets to make the documentation easy to understand).
37
+
5. Familiarize yourself with the project's structure by reviewing the source code and understanding the roles of different files and components.
38
+
6. Testing is one of the areas where new contributors can contribute, as running tests reveals uncovered lines in a particular file (e.g., a **test coverage report**).
39
+
7. You can then try to add tests for those uncovered lines (e.g., a function within a file might not be covered). For reference, you can check out this [PR](https://github.com/asyncapi/generator/pull/1379).
40
+
8. Instead of creating entirely new tests, consider enhancing existing ones by adding more edge cases to include additional test scenarios.
41
+
9. We encourage contributors to help improve code quality by reviewing reported issues on [SonarCloud](https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&id=asyncapi_generator) and suggesting improvements, identifying false reported issues that may need to be removed, and proposing fixes for valid issues.
42
+
10. See the [Development Guide](Development.md#before-you-begin---new-contributor-onboarding) for more details on what you'll learn during onboarding.
41
43
42
44
## Few Tips for Effective Contributions
43
45
@@ -46,10 +48,10 @@ We use [All Contributors](https://allcontributors.org/docs/en/specification) spe
46
48
3.**PATIENCE** is crucial. Focus on creating meaningful contributions rather than rushing to submit a PR that adds little or no value to the project.
47
49
4. Adding entirely new features might be challenging because most features are already well-established. You may need to spend more time understanding the repository to identify areas for improvement.
48
50
5. You should research on Google regarding the @asyncapi/generator and related repositories (e.g., @asyncapi/parser or any of the template repositories) to identify potential improvements. AI can be a helpful assistant, but always double-check the information it provides with Google or StackOverflow.
49
-
6. Follow **Issue First, PR Later** - Always check if there’s an existing issue before creating a new one, and raise your PR once the issue is confirmed/approved by any of the maintainers.
51
+
6. Follow **Issue First, PR Later** - Always check if there's an existing issue before creating a new one, and raise your PR once the issue is confirmed/approved by any of the maintainers.
50
52
7. Keep **PRs small and focused** – A small PR with a well-defined scope is easier to review and merge. Avoid bundling multiple changes into one PR.
51
53
8. Collaborate with Other Contributors – If someone else has already raised an issue and you are interested in contributing to it, please communicate with them and collaborate instead of raising a separate PR independently. Working together leads to better contributions and avoids duplication of efforts. Open source is driven by **collaboration, not competition**.
52
-
9.**Respond to Maintainer Reviews Promptly** - If a maintainer requests changes or provides feedback on your PR, please try to address them within **7 days**. If you’re unable to respond by then, the PR may be closed. Contributors are always welcome to open a new PR once they’re ready to continue.
54
+
9.**Respond to Maintainer Reviews Promptly** - If a maintainer requests changes or provides feedback on your PR, please try to address them within **7 days**. If you're unable to respond by then, the PR may be closed. Contributors are always welcome to open a new PR once they're ready to continue.
53
55
54
56
## Summary of the Contribution Flow
55
57
@@ -207,4 +209,4 @@ This document was adapted from:
Copy file name to clipboardExpand all lines: Development.md
+20-1Lines changed: 20 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,25 @@
2
2
3
3
This guide will help you set up the `generator` locally, run tests, and use Docker for isolated testing.
4
4
5
+
## Before You Begin - New Contributor Onboarding
6
+
7
+
New to AsyncAPI Generator? We strongly recommend watching our comprehensive onboarding webinar first:
8
+
9
+
**Watch: [One Tool, One Flow: AsyncAPI's New Take on Code/Docs/Config Generation](https://www.youtube.com/watch?v=Mkd7FgKOMNE)**
10
+
11
+
### What you'll learn:
12
+
13
+
- What AsyncAPI is and the challenges it solves
14
+
- The origins and evolution of the Generator (legacy vs. future architecture)
15
+
- Understanding event-driven architectures and protocol complexity
16
+
- How the Generator works: templates, render engines, and the generation process
17
+
- The shift from Nunjucks to React render engine
18
+
- Component-based template development for better reusability
19
+
- Baked-in templates and the monorepo structure
20
+
- Live demonstrations of code generation from AsyncAPI documents
21
+
22
+
This webinar provides essential context about the Generator's architecture, design decisions, and development workflow. Watching it will make the rest of this development guide much clearer and help you contribute more effectively.
23
+
5
24
## Getting started
6
25
7
26
1. Fork & Clone the repository:
@@ -181,4 +200,4 @@ If you encounter any issues during development or testing, please check the foll
181
200
2. Clear the `node_modules` directory and reinstall dependencies if you encounter unexpected behavior.
182
201
3. For Docker-related issues, make sure Docker is running and you have sufficient permissions.
183
202
184
-
If problems persist, please open an issue on the GitHub repository.
203
+
If problems persist, please open an issue on the GitHub repository.
0 commit comments