-
-
Notifications
You must be signed in to change notification settings - Fork 993
docs(community): update latest community documentation #4268
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 |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| --- | ||
| title: Onboarding | ||
| weight: 10 | ||
| --- |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,22 +1,22 @@ | ||
| --- | ||
| title: 'Docs onboarding checklist' | ||
| weight: 30 | ||
| title: Docs Onboarding Checklist | ||
| weight: 60 | ||
| --- | ||
| ## AsyncAPI docs onboarding checklist | ||
|
|
||
| As an open-source initiative with a global community, technical writer contributors should learn about our governance documents, documentation processes, and communication channels. | ||
|
|
||
| Complete in order the following onboarding tasks: | ||
|
|
||
| - [ ] Read the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md). | ||
| - [ ] Read the [AsyncAPI Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md). | ||
| - [ ] Read the [AsyncAPI Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). | ||
|
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 Default branch is The Code of Conduct URL still targets 🤖 Prompt for AI Agents |
||
| - [ ] Read the [AsyncAPI Slack etiquette](../060-meetings-and-communication/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.md). | ||
| - [ ] Read and familiarize yourself with the [prerequisite knowledge topics](../010-contribution-guidelines/prerequisite-knowledge.md). | ||
| - [ ] 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). | ||
| - [ ] Set up your local environment following our instructions for the [AsyncAPI git workflow](../010-contribution-guidelines/git-workflow.md). | ||
| - [ ] Introduce yourself in AsyncAPI Slack in the `#01_introductions` channel and the `#13_docs` channel. Ask docs-related questions in #13_docs. | ||
| - [ ] Request a good first docs issue in the [`#13_docs` Slack channel](https://asyncapi.com/slack-invite). | ||
| - [ ] Attend [OPEN docs meetings](https://www.asyncapi.com/community/events) to chat with other maintainers, ask docs questions, and request help on docs blockers. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| title: Documentarian Onboarding Guide | ||
| weight: 30 | ||
| --- | ||
|
|
||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,103 @@ | ||
| --- | ||
| title: Utilizing GitHub Actions | ||
| weight: 80 | ||
| --- | ||
|
|
||
| ## Overview | ||
|
|
||
| [GitHub Actions](https://docs.github.com/actions) is a continuous integration and continuous delivery (CI/CD) platform that automates software development workflows directly within a GitHub repository. | ||
|
|
||
| At AsyncAPI, GitHub Actions is crucial for maintaining consistency, efficiency, and quality across our projects by handling repetitive tasks automatically. | ||
|
|
||
| This document outlines how AsyncAPI utilizes GitHub Actions to automate and optimize workflows. It provides a comprehensive guide for maintainers and contributors, explaining global and local workflows, common commands, repository setup, and best practices. | ||
|
|
||
| ## Types of GitHub Actions workflows | ||
|
|
||
| At AsyncAPI, there are two types of workflows: [local](#local-workflows) and [global](#global-workflows). | ||
|
|
||
| ### Local workflows | ||
|
|
||
| Local workflows are specific to a repository. They are stored in the `.github/workflows` directory and typically handle: | ||
|
|
||
| - Running tests on pull requests (PRs). | ||
| - Linting code. | ||
| - Building and deploying applications. | ||
|
|
||
| A few key points about local workflows in AsyncAPI: | ||
|
|
||
| - Multiple workflows can be triggered for a single PR. | ||
| - Not all workflows are required to pass for a PR to be merged. | ||
| - Some workflows are marked as required; if these fail, the PR will be blocked. | ||
| - External workflows can sometimes affect local checks. | ||
|
|
||
| You can view these workflows under the **Actions** tab or at the bottom of each PR page. | ||
|
|
||
| ### Global workflows | ||
|
|
||
| Global workflows are shared across multiple repositories and maintained centrally in the [AsyncAPI `.github` repository](https://github.com/asyncapi/.github). | ||
|
|
||
| They help: | ||
|
|
||
| - Enforce consistent configurations. | ||
| - Automate releases. | ||
| - Synchronize files across repositories. | ||
|
|
||
| Changes made to global workflows can automatically propagate to opted-in repositories. | ||
|
|
||
| #### How to understand global workflows | ||
|
|
||
| AsyncAPI maintains a set of global GitHub Actions workflows inside the [`.github`](https://github.com/asyncapi/.github/tree/master/.github/workflows) repository. These workflows are shared across many repositories and automate common tasks such as issue labeling, automerging, Slack notifications, and more. | ||
|
|
||
| Each workflow is self-documented with comments inside its `.yml` file, so the best way to learn what a workflow does is to read it directly. | ||
|
|
||
| For example, say you want to understand what the `PTAL Command` workflow does. Here's how you can explore it: | ||
|
|
||
| 1. Go to the [`please-take-a-look-command.yml`](https://github.com/asyncapi/.github/blob/master/.github/workflows/please-take-a-look-command.yml) file in the `.github/workflows` directory. | ||
| 2. Read the top comments to learn: | ||
|
|
||
| * When the workflow is triggered (e.g., on `/ptal` or `/please-take-a-look` comments), | ||
| * What problem it solves (e.g., reminding unresponsive reviewers), | ||
| * Any conditions or repository limitations. | ||
|
|
||
| This structure makes workflows easier to maintain and allows contributors to understand them directly from their local copies without jumping to external docs. | ||
|
|
||
| #### Global replicator workflow | ||
|
|
||
| The [global replicator workflow](https://github.com/asyncapi/.github/blob/master/.github/workflows/global-replicator.yml) is a central GitHub Actions workflow that helps keep essential files and workflows consistent across all AsyncAPI repositories. | ||
|
|
||
| This workflow automatically replicates things like: | ||
|
|
||
| * Community health files (e.g., `CODE_OF_CONDUCT.md`, `CONTRIBUTING.md`) | ||
| * Language-specific test and release workflows (e.g., for Go, Node.js, Docker) | ||
| * Common automation scripts and workflows (e.g., auto-merge, stale issue handling, update notifications) | ||
|
|
||
| Each job in the YAML file is scoped to specific topics, paths, or files, and often uses GitHub Topics (like `golang`, `nodejs`, or `docker`) to decide which repositories should receive what. | ||
|
|
||
| Rather than duplicating the logic here in the docs (which can get outdated quickly), we recommend reviewing the comments and job names directly in the [global-replicator.yml file](https://github.com/asyncapi/.github/blob/master/.github/workflows/global-replicator.yml). Each job is clearly labeled and annotated to explain what it does and why. | ||
|
|
||
| > If you're unsure why a certain workflow or file exists in your repository, check if it's managed globally through this replicator and look for its corresponding job in the YAML file. | ||
|
|
||
| #### Basic requirements to use global workflows | ||
|
|
||
| Before a repository can start using the global workflows managed through the `.github` repository, a few setup steps are required. This ensures that bots can properly push and merge workflow files. Without these steps, the automation will not work as expected. | ||
|
|
||
| The basic requirements are: | ||
|
|
||
| - **Add the `@asyncapi/bots` team as maintainers**: In the repository settings, under *Collaborators and Teams*, add the `@asyncapi/bots` team with maintainer permissions. | ||
| - **Add `@asyncapi-bot-eve` to CODEOWNERS**: In the `.github/CODEOWNERS` file, include `@asyncapi-bot-eve` to make the Eve bot a code owner. This allows automatic approval of pull requests it generates, as GitHub treats code owners as authorized reviewers. | ||
| - **Trigger initial setup**: Reach out to the maintainers of the `.github` repository and ask them to manually run the "Global Workflow to Rule Them All" action, providing your repository name. | ||
| - **Manually approve initial PRs**: The first set of workflow-related pull requests must be manually merged, as the automation for merging only becomes available after the necessary workflows are installed. | ||
|
|
||
| Once these steps are complete, the repository will start automatically receiving and merging global workflow updates as expected. | ||
|
|
||
| #### How to opt in or out of global workflows | ||
|
|
||
| **Opt-in** | ||
|
|
||
| To opt in to a global workflow managed in the AsyncAPI `.github` repository, you can either add a specific topic to your repository (via GitHub settings or the GitHub CLI) or ask a maintainer to trigger it manually for you. | ||
|
|
||
| To do this, reach out on Slack or open an issue, and a maintainer can run the “Global workflow to rule them all” from the **Actions** tab, optionally targeting your repo by name. | ||
|
|
||
| **Opt-out** | ||
|
|
||
| Some workflows are applied automatically to all repositories. If you’d like to opt out of one of those, your repository must be added to the `repos_to_ignore` list in the relevant job. This change has to be made in the global workflow by a maintainer, so just ask in Slack or open an issue if you'd like to be excluded. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| title: How to Contribute | ||
| weight: 20 | ||
| --- | ||
|
|
||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,12 +1,12 @@ | ||
| --- | ||
| title: 'Introduction' | ||
| weight: 10 | ||
| title: Introduction | ||
| weight: 5 | ||
| --- | ||
| ## Technical writer onboarding guide | ||
|
|
||
| The AsyncAPI technical writer onboarding guide teaches new community members how to contribute to our documentation effectively. | ||
|
|
||
| > For a comprehensive understanding of the various ways you can contribute to the AsyncAPI Initiative, please consult the [AsyncAPI contributing guidelines](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md). | ||
| > For a comprehensive understanding of the various ways you can contribute to the AsyncAPI Initiative, please consult the [AsyncAPI contributing guidelines](../../CONTRIBUTING.md). | ||
|
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. 💡 Verification agent 🛠️ Refactor suggestion 🧩 Analysis chainRelative link may resolve to a non-existent path 🏁 Script executed: #!/bin/bash
set -e
echo "=== All CONTRIBUTING.md files in repository ==="
rg --files | grep -i "contributing.md" || echo "No CONTRIBUTING.md found"
echo
echo "=== CONTRIBUTING.md under markdown/docs ==="
rg --files markdown/docs | grep -i "contributing.md" || echo "None under markdown/docs"Length of output: 385 Fix broken CONTRIBUTING.md link
🤖 Prompt for AI Agents |
||
| The goal is providing docs contributors with the necessary tools and knowledge to: | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| --- | ||
| title: Upholding the Code of Conduct | ||
| description: This onboarding guide outlines how to uphold the Code of Conduct document for new contributors | ||
| weight: 70 | ||
| --- | ||
|
|
||
| # Contributor Guide to Upholding the Code of Conduct | ||
|
|
||
| Welcome to the AsyncAPI community! As a contributor, you are an essential part of building a safe, inclusive, and respectful environment for everyone. This guide will help you understand how to follow and uphold our [Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). | ||
|
|
||
|
|
||
|
|
||
| ## Why This Matters | ||
|
|
||
| The Code of Conduct (CoC) sets expectations for behavior in all AsyncAPI spaces, including repositories, GitHub discussions, communication platforms (such as Slack), and online and physical events. | ||
|
|
||
| Following it helps: | ||
|
|
||
| - Foster inclusion and belonging | ||
| - Prevent and resolve conflicts | ||
| - Protect the well-being of all contributors | ||
|
|
||
|
|
||
|
|
||
| ## Your Responsibilities as a Contributor | ||
|
|
||
| - **Be Respectful:** Treat others with kindness and professionalism. | ||
| - **Be Inclusive:** Welcome diverse perspectives and backgrounds. | ||
| - **Be community-oriented:** Encourage collaboration, help others when you can, and gracefully accept constructive criticism. | ||
| - **Speak Up:** If you witness inappropriate behavior, report it. | ||
|
|
||
| You are expected to read and understand the full [CoC](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md) before contributing. | ||
|
|
||
|
|
||
| ## What to Do If You Experience or Witness a Violation | ||
|
|
||
| If you experience or observe discrimination, harassment, or any behavior that violates the CoC: | ||
|
|
||
| ### 1. Document What Happened | ||
| - Note what was said or done | ||
| - Include context (e.g., link to a GitHub issue, Slack conversation) | ||
| - If possible, take a screenshot | ||
|
|
||
| ### 2. Report the Incident | ||
| You can report a CoC violation by: | ||
|
|
||
| - Emailing **[email protected]** – this forwards directly to the [Code of Conduct Committee](../CODE_OF_CONDUCT_COMMITTEE.md) | ||
| - Reaching out to a specific CoC Committee member if the issue involves someone on the committee | ||
|
|
||
| All reports are handled with confidentiality, respect, and prompt action. | ||
|
|
||
|
|
||
| ## Conflict Resolution | ||
|
|
||
| Not all disagreements are violations. When conflicts happen: | ||
|
|
||
| - First, try a respectful discussion or ask a neutral contributor to help mediate. | ||
| - If the situation escalates or becomes hostile, report the issue to the CoC Committee. | ||
|
|
||
| The Code of Conduct Committee is trained to resolve conflicts fairly and ensure everyone feels safe. | ||
|
|
||
|
|
||
| ## Additional Resources | ||
| - [Incident Resolution Procedures](../COC-incident-resolution-procedures.md) | ||
| - [Slack Etiquette Guidelines](../060-meetings-and-communication/slack-etiquette.md) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| title: Where to Contribute | ||
| weight: 10 | ||
| --- | ||
|
|
||
| 🚧 This document is under construction. | ||
|
|
||
| Please be patient as we work on it. Thank you. 🫶 |
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.
💡 Verification agent
🧩 Analysis chain
Potential broken link – path looks off
../050-mentorship-program/ambassador-program/AMBASSADOR_PROGRAM.mdnavigates:community/050-mentorship-program/…The Ambassador Program file described in the PR summary is under
020-governance-and-policies/ambassador-program/.Please verify the actual location or adjust the link accordingly to avoid a 404.
I’ll locate the actual
AMBASSADOR_PROGRAM.mdfiles to verify the correct path:🏁 Script executed:
Length of output: 119
Fix broken link – update path to Ambassador Program doc
The link currently points to the non-existent
050-mentorship-programfolder. The correct file location is under020-governance-and-policies.• File: markdown/docs/community/000-onboarding/ambassador-guide.md
• Line: 41
Diff:
📝 Committable suggestion
🤖 Prompt for AI Agents