-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
docs(community): update latest community documentation #4222
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,8 +12,8 @@ Complete in order the following onboarding tasks: | |
| - [ ] Read the [AsyncAPI Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md). | ||
| - [ ] Join [the AsyncAPI Slack workspace](https://asyncapi.com/slack-invite). | ||
| - [ ] Add the AsyncAPI calendar found in [the AsyncAPI events page](https://www.asyncapi.com/community/events). | ||
| - [ ] Read the list of [technical writer contributor responsibilities](technical-writer-contributor-responsibilities). | ||
| - [ ] Read and familiarize yourself with the [prerequisite knowledge topics](prerequisite-knowledge). | ||
| - [ ] Read the list of [technical writer contributor responsibilities](../010-contribution-guidelines/technical-writer-contributor-responsibilities). | ||
| - [ ] Read and familiarize yourself with the [prerequisite knowledge topics](../010-contribution-guidelines/prerequisite-knowledge). | ||
|
Comment on lines
+15
to
+16
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Broken relative links – missing Both updated links omit the file extension. In GitHub-rendered markdown a path without the 🤖 Prompt for AI Agents |
||
| - [ ] Familiarize yourself with the _work-in-progress_ [AsyncAPI Style Guide](https://github.com/asyncapi/community/pulls?q=is%3Apr+is%3Aopen+style+guide). | ||
| - [ ] Read all docs under the following content buckets: `Concepts`, `Tutorials`, `Reference`. (Take the time to go through each tutorial.) | ||
| - [ ] Set up your local environment following our instructions for the [AsyncAPI git workflow](https://github.com/asyncapi/community/blob/master/git-workflow.md). | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 | ||
|
Comment on lines
+1
to
+3
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing YAML front-matter header All community docs normally start with a front-matter block ( Please add a minimal header consistent with neighbouring docs before merging. 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 | ||
|
Comment on lines
+1
to
+3
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Add metadata before publishing The onboarding docs section expects every file to carry a YAML front-matter header; omitting it will break link resolution and may cause 404s. Recommend adding at least: 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 | ||
|
Comment on lines
+1
to
+3
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Front-matter header is required This placeholder page lacks the mandatory 🤖 Prompt for AI Agents |
||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| ### Become Maintainer in Existing Project | ||
|
|
||
| We know you are nervous about making your first contribution. In this section, we guide you on the steps towards becoming a TSC member: | ||
|
|
||
| 1. Pick an issue | ||
| 2. Open a pull request | ||
| 3. Get pull request merged | ||
| 4. Receive an invitation to become a code owner | ||
| 5. Become a TSC member | ||
|
|
||
| **Step 1: Pick an Issue** | ||
|
|
||
| Here's how to select an issue to contribute to: | ||
| * Join existing PR reviews | ||
| * Look for issues with a [**good first issue** label](https://github.com/issues?page=1&q=is%3Aopen+org%3Aasyncapi+sort%3Aupdated-desc+label%3A%22good+first+issue%22) | ||
| * Join the [AsyncAPI Slack community workspace](https://asyncapi.com/slack-invite) and the `#11_how-to-contribute` channel | ||
| * Ask maintainers to do a public live stream called **Let's talk about contributing** where they can explain a specific part of the project where you want to contribute. | ||
|
|
||
| **Step 2: Open a Pull Request** | ||
|
|
||
| To open a pull request successfully, follow our [Git workflows contributors guide](https://github.com/asyncapi/community/blob/master/git-workflow.md). | ||
|
|
||
| Use the following steps to open your pull request: | ||
| 1. Configure a fork | ||
| 2. Work on it locally | ||
| 3. Write an appropriate PR title using the [conventional commits specification](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md#conventional-commits) | ||
| 4. Test your PR against GitHub checks to ensure they all pass | ||
|
|
||
| **Step 3: Get Pull Request Merged** | ||
|
|
||
| After making a pull request, allow the maintainers to review your PR. If no one is alerted to review your PR, feel free to bring the issue to the maintainer's attention by pinging them on Slack or GitHub. We sometimes delay in response for many reasons; no one intends to ignore you 🙏🏼 . | ||
|
|
||
| Make sure all your PR checks pass (turn green) to ensure your PR is merged quickly. | ||
|
|
||
| **Step 4: Invitation to Become a Maintainer** | ||
|
|
||
| After making several contributions to AsyncAPI, maintainers will recognize you. You will then receive an invitation to join the TSC. Look at this [maintainer invitation example from the website repository](https://github.com/asyncapi/website/pull/890). If you feel that you contributed enough to become a maintainer, but maintainers did not recognize it, please open a GitHub issue in a related repository and indicate what you contributed so far and ask what else is needed to become a maintainer. | ||
|
|
||
| **Step 5: Become a TSC Member** | ||
|
|
||
| Once you become a maintainer in one of the repositories, you can apply to join a group of [TSC members](https://www.asyncapi.com/community/tsc). | ||
|
|
||
| Open a PR in the **community** repository to add your name to the [list of TSC members](https://github.com/asyncapi/community/blob/master/TSC_MEMBERS.json). Specify your name, repositories that you maintain, and if you are sponsored by some company. For example [see this PR that introduced one of the new TSC members](https://github.com/asyncapi/community/pull/277). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| ## Contribute AsyncAPI blog posts | ||
|
|
||
| The AsyncAPI blog is open to everyone; any contribution is allowed, including reposting. You can share use cases, projects, or tools in the form of a blog post to reach out to the entire AsyncAPI community. | ||
|
|
||
| Posting on the AsyncAPI blog has many advantages. We'll ask on the community Slack to help promote it whenever it is released. | ||
| We'll also share it on the official AsyncAPI Twitter, LinkedIn, Hacker News, and Reddit accounts. | ||
|
|
||
| Steps to submit an AsyncAPI blog post: | ||
| 1. Open an [AsyncAPI blog post issue](https://github.com/asyncapi/website/issues/new?template=blog.md). | ||
| 1. Open a PR with your blog post. | ||
| 1. Address all PR feedback until it gains approval from maintainers. | ||
|
|
||
| # Blog post requirements | ||
| Please observe the following requirements for all AsyncAPI blog post contributions: | ||
| - [Fork the AsyncAPI `website` repo](https://github.com/asyncapi/website) | ||
| - [Add a new markdown file](https://github.com/asyncapi/website/tree/master/pages/blog) with proper metadata (front matter) and the blog post content. The blog post content is up to you; it just needs to feature "AsyncAPI." | ||
| - [Place all images in our blog assets folder](https://github.com/asyncapi/website/tree/master/public/img/posts). | ||
| - Compress the image as much as possible; we recommend using the following tool: https://squoosh.app. | ||
| - The output format needs to be `.webp`. | ||
| - Include detailed `alt` descriptions for screenreader users. | ||
|
|
||
| - [Run our website locally or with Gitpod](https://github.com/asyncapi/website#usage) to test changes. | ||
| - Open a PR with your blog post and review your changes with the Netlify preview link. | ||
| - Address all PR feedback left by Maintainers reviewing your blog post. | ||
| - When merged, your blog post will immediately become live in production! | ||
|
|
||
| We encourage you to write a blog post and share it with the community. We can't wait to read it! |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,129 @@ | ||
| # Git Workflow | ||
|
|
||
| This document is the best practice guide that contains the rules to follow when working with AsyncAPI repositories. | ||
|
|
||
| ## Overview | ||
|
|
||
| AsyncAPI uses a fork model for all community members, including maintainers. In this model, you push changes to your own working copy of the original (`upstream`) repository, and then create one or more pull requests (PRs) to incorporate changes from your fork to `upstream`. This unified workflow allows both members and external contributors to contribute through the same process, keeping the main repository branches clean. | ||
|
|
||
| ### Rules | ||
|
|
||
| Each contributor and maintainer in AsyncAPI must follow this workflow: | ||
|
|
||
| - Work on forked repositories. | ||
| - Create branches on the fork. | ||
| - Avoid working directly on the `master` branch of the fork. | ||
| - Create pull requests from the fork to the upstream repository. | ||
|
|
||
| ## Fork a repository | ||
|
|
||
| 1. On GitHub, navigate to the AsyncAPI repository you want to fork. | ||
| 2. In the top-right corner of the page, click **Fork**. | ||
| 3. Under **Owner**, select the dropdown menu and click an owner for the forked repository. | ||
| 4. Ensure that the **Copy the `DEFAULT` branch only** is selected. | ||
| 5. Click **Create fork**. | ||
|
|
||
| ## Clone the forked repository | ||
|
|
||
| 1. On GitHub, navigate to the forked repository. | ||
| 2. Click the **Code** button. | ||
| 3. Copy the URL. | ||
| 4. In the terminal, navigate to the directory where you want to clone the repository. | ||
| 5. Run the following command: | ||
|
|
||
| ```bash | ||
| # Command syntax | ||
| git clone URL | ||
|
|
||
| # Examples | ||
| git clone https://github.com/YOUR-USERNAME/asyncapi-community.git | ||
| git clone git@github.com:YOUR-USERNAME/asyncapi-community.git | ||
| ``` | ||
|
|
||
| ## Configure your fork | ||
|
|
||
| Configure a remote repository that points to the `upstream` repository (from which you forked). This allows you to synchronize changes you make on the fork with the original repository. Configuration can be done manually or using the GitHub UI. | ||
|
|
||
| > [!TIP] | ||
| > If you perform fork configuration for the first time, it is recommended to do it manually to understand all the steps. | ||
| > | ||
| > Next time you can write a script to synchronize master branch of your fork with the master branch of upstream git repository. Check [this script](https://gist.github.com/derberg/87319e9c486e4a6c9bef5b629ab0d386) as an example to get started. | ||
|
|
||
| ### Manual configuration | ||
|
|
||
| In the terminal, navigate to your fork's location and perform the following steps: | ||
|
|
||
| 1. Check the current list of remotes: | ||
|
|
||
| ```bash | ||
| # Command | ||
| git remote -v | ||
|
|
||
| # Output | ||
| origin https://github.com/YOUR-USERNAME/FORK-NAME.git (fetch) | ||
| origin https://github.com/YOUR-USERNAME/FORK-NAME.git (push) | ||
| ``` | ||
|
|
||
| 2. Add the `upstream` repository. In other words, point to the main project located in the AsyncAPI GitHub organization: | ||
|
|
||
| ```bash | ||
| # Command | ||
| git remote add upstream https://ORIGINAL-OWNER/ORIGINAL-REPOSITORY-NAME.git | ||
|
|
||
| # Example | ||
| git remote add upstream https://github.com/asyncapi/community.git | ||
| ``` | ||
|
|
||
| Verify that the `upstream` has been added: | ||
|
|
||
| ```bash | ||
| git remote -v | ||
|
|
||
| # Output | ||
| origin https://github.com/YOUR-USERNAME/FORK-NAME.git (fetch) | ||
| origin https://github.com/YOUR-USERNAME/FORK-NAME.git (push) | ||
| upstream git@github.com:asyncapi/asyncapi-community.git (fetch) | ||
| upstream git@github.com:asyncapi/asyncapi-community.git (push) | ||
| ``` | ||
|
|
||
| 3. Fetch changes from the `upstream`: | ||
|
|
||
| ```bash | ||
| # Command | ||
| git fetch upstream master | ||
| ``` | ||
|
|
||
| 4. Set the `master` branch of your fork to track the `master` branch of the `upstream` repository: | ||
|
|
||
| ```bash | ||
| git branch -u upstream/master master | ||
| ``` | ||
|
|
||
| Verify with `git branch -vv`: | ||
| ```bash | ||
| * master c2226e0 [upstream/master] Update the README.md document | ||
| ``` | ||
|
|
||
| By setting the `upstream` branch, you can simplify your workflow. For example, you can use `git pull` and `git push` without specifying the remote and branch names, as Git will automatically use the `upstream` branch you have set. This is particularly useful when you frequently need to synchronize your local branch with a remote branch. | ||
|
|
||
| ### Using GitHub UI | ||
|
|
||
| You can follow the steps from the [GitHub documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to sync your fork and keep it up-to-date with the `upstream` repository. | ||
|
|
||
| ## Start Contributing | ||
|
|
||
| 1. Create a branch on your fork. | ||
| 2. Commit changes with clear messages. Use the [Conventional Commits](https://github.com/asyncapi/community/pull/1733) format. | ||
| 3. Push changes to your fork: | ||
|
|
||
| ```bash | ||
| git push -u origin BRANCH-NAME | ||
| ``` | ||
|
|
||
| For subsequent pushes, use the shorthand: | ||
|
|
||
| ```bash | ||
| git push | ||
| ``` | ||
|
|
||
| 4. Create a pull request from your branch of the fork repository to the `master` branch of the `upstream` repository and await review. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| # Recognize Contributors | ||
|
|
||
| We do our best to recognize every contribution to the project. We do it individually in every repository from the AsyncAPI GitHub organization. | ||
|
|
||
| There should always be a **Contributors** section in the readme, like [this one](https://github.com/asyncapi/asyncapi/blob/master/README.md#contributors). We use [All Contributors](https://allcontributors.org/docs/en/specification) specification to handle recognitions. | ||
|
|
||
| Remember, not only code matters! You can contribute to AsyncAPI in different ways. You can: | ||
| - Report a well-written issue that explains a bug or a feature that later is fixed/implemented. | ||
| - Share with us feedback on [slack](https://asyncapi.com/slack-invite) or some other channel. You come up with the idea that we used to do something great with the project. | ||
| - Improve documentation. | ||
| - Help with a review of pull requests. You are a language expert and can review docs or an expert in a specific programming language. As a result, you can review pull requests for a template written for a particular language. | ||
| - Write a blog post on the AsyncAPI blog. | ||
| - Answer to questions under issues or in Slack | ||
|
|
||
| You can help us out in many different ways. Just check out [this](https://allcontributors.org/docs/en/emoji-key) list of possible contributions. All of this is a contribution! | ||
|
|
||
| > We apologize in advance if we failed in recognizing your work. Feel free to contact us on [slack](https://asyncapi.com/slack-invite), and we will fix it immediately, or talk to All Contributors bot directly. | ||
|
|
||
| ## All Contributors cheat sheet | ||
|
|
||
| To recognize work, after it is done, in closed issue or pull request, add a proper comment. The comment must look like this: | ||
|
|
||
| `@all-contributors please add @{GITHUB_USERNAME} for {EMOJI_KEY}`. | ||
|
|
||
| Check out a full list of [emoji keys](https://allcontributors.org/docs/en/emoji-key) although here you can find a shortlist of the most popular one: | ||
|
|
||
| Emoji/Type | Represents | | ||
| :---: | :---: | ||
| 🐛 <br /> `bug` | Bug reports | | ||
| 📝 <br /> `blog` | Blogposts | | ||
| 💻 <br /> `code` | Code | | ||
| 📖 <br /> `doc` | Documentation | | ||
| 🎨 <br /> `design` | Design | | ||
| 💡 <br /> `example` | Examples | | ||
| 🤔 <br /> `ideas` | Ideas & Planning | | ||
| 🚧 <br /> `maintenance` | Maintenance | | ||
| 💬 <br /> `question` | Answering Questions | | ||
| 👀 <br /> `review` | Reviewed Pull Requests | | ||
| 📢 <br /> `talk` | Talks | | ||
| 📹 <br /> `video` | Videos | | ||
|
|
||
| For example: | ||
| * `@all-contributors please add @derberg for doc` | ||
| * `@all-contributors please add @derberg for talk, video` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New community entries are shadowed by the fallback matcher
The fallback rule
{ "value": "", "href": "https://github.com/asyncapi/website/blob/master/markdown" }appears earlier in the array (lines 15-17).
determineEditLink()stops at the first match, therefore every path added after that point will never be reached, and edit links will resolve to the generic fallback instead of the specific community repos.Move the empty-string fallback to the bottom (or re-order the new objects above it).
🤖 Prompt for AI Agents