Contributing to Industrial Documentation

We believe that everyone has something valuable to contribute, whether you’re a coder, a writer, or a tester. Here’s how and why you can get involved:

  • Why join us? Work with like-minded people, develop your skills, connect with diverse professionals, and make a difference.

  • What do you get? Personal growth, recognition for your contributions, early access to new features and the joy of seeing your work appreciated.

  • Start early, start easy: Dive into code contributions, improve documentation, or be among the first testers. Your presence matters, regardless of experience or the size of your contribution.

The guidelines below will help keep your contributions effective and meaningful.

Code of conduct

When contributing, you must abide by the Ubuntu Code of Conduct.

Environment setup

Industrial documentation is built on top of Canonical’s Sphinx starter pack and hosted on Read the Docs. It is written in reStructuredText or MyST Markdown and built with Sphinx.

Fork and download the documentation repository

If you are working with this documentation set for the first time, you’ll need to create a fork of this repository on your GitHub account, and clone the forked repository.

Install dependencies

Go into the docs/ directory and run:

make install

This will create a virtual environment with all the tooling and packages required to validate and render the documentation.

Build and serve the docs

To get a live preview and validation of the documentation, run:

make run

This will provide a locally rendered version of the documentation at: {literalref}:http://localhost:8000

The rendered preview will get updated every time a document is modified and saved.

Validate the docs

Before you submit a PR, make sure to validate your changes with the following recipes:

make spelling  
make linkcheck  
make woke       # to check for non-inclusive language

For more information about the inclusive language check, see woke.

Propose changes

Submit your documentation changes via a pull request on GitHub.

Your changes will be reviewed in due time; if approved, they will eventually be merged.

Describing pull requests

To be properly considered, reviewed, and merged, your pull request must provide the following details:

  • Title: Summarize the change in a short, descriptive title.

  • Description: Explain the problem that your pull request solves. Mention any new features, bug fixes, or refactoring.

  • Relevant issues: Reference any related issues, pull requests, and repositories.

Commit structure and messages

Use separate commits for each logical change, and for changes to different sections in the Industrial documentation. Prefix your commit messages with the names of sections or pages that they affect, using the code tree structure. For example, start a commit that updates the reference page kernel boot parameters with ref/kernel-boot:.

Use conventional commits to ensure consistency across the project:

docs(ref/kernel-boot): Add example for nohz parameter

* Additional description goes here

Such structure makes it easier to review contributions and simplifies porting fixes to other branches.

Sign off on commits

To improve contribution tracking, we use the developer certificate of origin (DCO 1.1) and require a “sign-off” for any changes going into each branch.

The sign-off is a simple line at the end of the commit message certifying that you wrote it or have the right to commit it as an open-source contribution.

To sign off on a commit, use the --signoff or -s option in git commit. For example:

git commit -m "docs(ref/kernel-boot): Add example for nohz parameter" -s