# Documentation

Unfortunately, good code won't speak for itself. Even the most elegantly designed and well-written codebase that solves the most pressing problem in the world won't just get adopted on its own. You, the open-source creator, need to speak for your code and breathe life into your creation. That's where technical writing and documentation come in. (*Source credit:* [*Kevin Xu's article on from opensource.com*](https://opensource.com/article/20/3/documentation)***)***

We encourage documentation contribution from everyone and generally, that contribution is divided into two categories:

* **General improvements**: typo corrections, fixing broken refs or links, correcting inaccurate or out-of-date information, and offering better explanations through clearer writing and additional examples.
* **New features or new pages**: Adding a page of documentation that we haven't yet covered in our ongoing attempt for completeness, or documenting a new feature that has been added to CHAOSS projects since the last release.

## Getting Started

We don't have any specific space for documentation. Most of the documentation you will find inside the CHAOSS GitHub repositories and on the website.

### Approach to Contribute

* **Addressing issues related to documentation:** Look for the **`documentation`** labeled issues within the CHAOSS Github repositories.
* **Checking if a page needs to be updated:** Surf around the CHAOSS community, look for the pages that need to be updated, and suggest changes through an issue or pull request.
* **Propose new pages for the documentation:** While working on CHAOSS  initiatives and software you might come across documentation needs; Open an issue to remember for later and ask for help or create a pull request to add the documentation yourself.

Once you have figured the approach below is the flow you need to follow:

* Open the [**CHAOSS GitHub**](https://github.com/chaoss) and find the repository on which you want to contribute. (Assume the governance repository here; using the GitHub.com user interface.)
* Click on the file you want to edit. For instance, I have taken the [**README.md**](https://github.com/chaoss/governance/blob/master/README.md) file. Click on the pencil :pencil2: option to edit the page.

![](/files/-MIuGyC8z56ktuOTbvxS)

* Make any edits you need, remembering to always format them using Markdown. To understand Markdown better, check out the [GitHub reference](https://docs.github.com/en/free-pro-team@latest/github/writing-on-github/basic-writing-and-formatting-syntax) or [GibtBook reference](https://docs.gitbook.com/content-editing/markdown) guides.
* When you are done making changes, scroll down, and write a short description of your changes. Select the option **Create a new branch for this commit and start a pull request** and click on **Propose file change**. This will direct you to the **Pull request** page.

![](/files/-MIuJntvmmgVsekItwXX)

* On the **Pull Request** page, write the description of your changes and create a pull request by clicking on **create pull request** button

![](/files/-MIuLW9lzjukIpfzeZb7)

Congratulations! :tada: you made the pull request and it will be reviewed by the repository admins


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://handbook.chaoss.community/community-handbook/contributing/documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
