Skip to content
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

docs: add first elements of the onboarding guide. #960

Merged
merged 11 commits into from
Jan 19, 2024
4 changes: 4 additions & 0 deletions docs/onboarding-guide/_section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Onboarding guide
weight: 10
---
43 changes: 43 additions & 0 deletions docs/onboarding-guide/docs-onboarding-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: 'Docs onboarding checklist'
weight: 30
---
## AsyncAPI docs onboarding checklist

As an open source initiative with a global community, we ask participants to become familiar with our governance documents, community guidelines, and communication channels.

## Contributor standards at AsyncAPI

Complete the following to get started as a contributor to the AsyncAPI project:

- [ ] Read the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md).
- [ ] Read the [Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md).
- [ ] Join [the AsyncAPI Slack](https://asyncapi.com/slack-invite).
- [ ] Introduce yourself in the #01_introductions channel and the #13_docs channel. Ask any docs-related questions in #13_docs.
- [ ] Join the #03_specification and #11_contributing channels.
- [ ] [Visit the events page](https://www.asyncapi.com/community/events) and then add the AsyncAPI calendar to stay updated with community events.
- [ ] Join a [Thursday docs meeting](https://www.asyncapi.com/community). This is a monthly or bi-weekly opportunity to chat with maintainers and other community members in order to understand goals, ask questions, and get help.

## Technical writing standards at AsyncAPI

Complete the following to become familiar with technical writing standards and expectations at AsyncAPI:

- [ ] Read the list of [technical writer contributor responsibilities](/community/onboarding-guide/technical-writer-contributor-responsibilities.md).
- [ ] Become familiar with the [AsyncAPI git workflow](https://github.com/asyncapi/community/blob/master/git-workflow.md).
- [ ] Read through and be familiar with the topics in [prerequisite knowledge](/community/onboarding-guide/prerequisite-knowledge.md).
- [ ] Become familiar with the AsyncAPI Style Guide.

## Making a contribution

Now that you're up to speed, you're ready to get fully on board by making your first contribution. To start writing for AsyncAPI, complete the following:

- [ ] [Reach out to Alejandra](https://asyncapi.slack.com/team/U02AKC14WAJ) or your onboarding buddy and ask for a good first issue to work on.
- [ ] Become familiar with the [AsyncAPI Docs Board](https://github.com/orgs/asyncapi/projects/12/views/1).
- [ ] Become familiar with docs tooling and processes.
- [ ] Set up your computer's development environment to view, edit, and publish AsyncAPI projects.
- [ ] Fork the appropriate repository and follow the git workflow.
- [ ] Start contributing to the documentation.

As always, reach out to the AsyncAPI community on Slack or open an issue on GitHub with questions or concerns. We're here to help!


22 changes: 22 additions & 0 deletions docs/onboarding-guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: 'Introduction'
weight: 10
---
## 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).

The goal is providing docs contributors with the necessary tools and knowledge to:

* Understand our documentation tools, technologies, and processes.
* Comprehend our documentation target audiences.
* Connect with teammates and subject matter experts (SMEs).
* Report documentation bugs via issues.
* Implement and propose updates to our documentation.
* Obtain and incorporate reviewers' feedback.
* Publish changes successfully.



52 changes: 52 additions & 0 deletions docs/onboarding-guide/prerequisite-knowledge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: 'Prerequisite knowledge'
weight: 40
---

This section highlights the key technologies, concepts, and skills that technical writers should know when working on AsyncAPI documentation. While you don't need to know everything to begin contributing, you should understand the main concepts behind the documentation methodology and tools, as well as the technologies surrounding the AsyncAPI specification.

### Documentation concepts

#### Understanding of diátaxis

[Diátaxis](https://diataxis.fr/) is a methodology that AsyncAPI uses to organize its documentation website into several categories, based on what users need. For an overview of how AsyncAPI's documentation uses diátaxis, see [this post](https://www.asyncapi.com/blog/changes-coming-docs).

#### Competency in Markdown

Markdown is a markup language used to format text for the web. AsyncAPI's docs are written in Markdown, which is then processed into HTML by the back end of the website. For an overview of how to write in Markdown, see [this reference](https://www.markdownguide.org/basic-syntax/).

#### Familiarity with the open source ecosystem

Understanding the concepts of open source software will help you become a strong contributor to this project. For an overview of the AsyncAPI governance model, see [Finding a Good Open Governance Model for AsyncAPI](https://www.asyncapi.com/blog/governance-motivation). To read AsyncAPI's charter, which gives a high-level overview of the organization, see [here](https://github.com/asyncapi/community/blob/master/CHARTER.md).

### AsyncAPI concepts

#### Knowledge of AsyncAPI

Before contributing to the documentation, you should know what AsyncAPI is, how it's structured, and what purpose it serves. See [here](https://www.asyncapi.com/docs/concepts) for an overview of the major AsyncAPI concepts.

You should also have a basic understanding of [the AsyncAPI specification itself](https://www.asyncapi.com/docs/reference/specification/v2.6.0).

#### Familiarity with JSON and YAML

Because an AsyncAPI definition can be written in both JSON and YAML, understanding how to read, write, and validate these formats is beneficial. See [this post](https://www.asyncapi.com/blog/json-schema-beyond-validation) for an overview of the JSON schema used in AsyncAPI.

#### Understanding event-driven architecture (EDA)

Event-driven architecture is the style of software design at the core of how AsyncAPI works. Therefore, you should understand the basics of EDA, including its benefits, use cases, and how AsyncAPI conceptually fits into the EDA ecosystem. To get started with EDA, see [here](https://www.asyncapi.com/docs/tutorials/getting-started/event-driven-architectures/).

Be sure to have an understanding of these EDA concepts:

* Message brokers, aka servers
* Topics, aka channels
* Queues
* Subscriptions
* Publisher/Subscriber (Pub/Sub) pattern

#### Understanding key protocols

AsyncAPI supports several protocols, including Kafka, AMQP, and MQTT. You should have a [basic understanding of these protocols](https://www.asyncapi.com/docs/concepts/protocol#what-is-a-protocol), including their use cases and how they work.

For further discussion of the protocols supported by AsyncAPI, see [here](https://www.asyncapi.com/blog/asyncapi-and-apicurio-for-asynchronous-apis#kafka-amqp-mqtt-or-http-protocol-specific-properties).


Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 'Technical writer contributor responsibilities'
weight: 20
---

In the AsyncAPI community, technical writers collaborate with other technical writers, Subject Matter Experts (SME), designers, engineers, and core maintainers.

Technical writer contributor responsibilities include:

* Create quality, easy-to-use, clear, and accurate documentation for all audience levels.
* Collaborate with other contributors to propose, create, and maintain documentation.
* Support fellow technical writers and community members.
* Engage in documentation review processes and incorporate feedback.
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
* Join documentation community meetings/streams to connect with the community.
Loading