Skip to content

Commit

Permalink
Add first elements of the onboarding guide.
Browse files Browse the repository at this point in the history
  • Loading branch information
nbarbarick committed Nov 21, 2023
1 parent af0be2a commit 0a72e7c
Show file tree
Hide file tree
Showing 5 changed files with 133 additions and 0 deletions.
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: 10
---
## 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
---
## AsyncAPI docs onboarding guide

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.

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:

* 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.

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).


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
---

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
---

Technical writers will collaborate with other writers, SMEs, designers, developers, and maintainers to create quality technical documentation.

Some of your responsibilities include:

* 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.

0 comments on commit 0a72e7c

Please sign in to comment.