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
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
weight: 10
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
---
## 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!


20 changes: 20 additions & 0 deletions docs/onboarding-guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: 'Introduction'
weight: 0
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
---
## AsyncAPI docs onboarding guide
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

This onboarding guide is for technical writers who are new to the AsyncAPI community to learn how to contribute. For information about contributing to the AsyncAPI codebase, see the [contributing document](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md). Although intended for a developer audience, writers can find descriptions of general contribution principles and workflows for AsyncAPI projects.
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

The goal of this onboarding guide is to help technical writers understand the tools, technologies, and processes in our documentation. More specifically, this section will help new writers to:
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

* Understand consumers of the documentation.
* Identify teammates and subject matter experts (SMEs).
* Find bugs and create issues.
* Make changes to the documentation.
* Receive feedback from reviewers.
* Publish changes.
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

We encourage you to reach out to the community whenever you have questions. For specifics on communication channels and to move forward with onboarding, start with the [onboarding checklist](/onboarding-guide/docs-onboarding-checklist.md).
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved


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: 20
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
---

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: 30
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
---

Technical writers will collaborate with other writers, SMEs, designers, developers, and maintainers to create quality technical documentation.
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

Some of your responsibilities include:
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved

* Creating quality, easy-to-use, clear, and accurate documentation for internal and external audiences.
* Collaborating with other teammates to plan, create, and maintain documentation.
* Assisting other technical writers and members of the community.
* Reviewing and improving documentation.
* Joining community calls and meetings to learn more and share ideas.
quetzalliwrites marked this conversation as resolved.
Show resolved Hide resolved
Loading