rommapp_docs/CONTRIBUTING.md
2025-07-17 09:42:11 -04:00

2.8 KiB

Contributing to RomM's documentation

Thank you for considering contributing to RomM's documentation! This document outlines some guidelines to help you get started with your contributions.

If you're looking to implement a large feature or make significant changes to the project, it's best to open an issue first AND join the Discord to discuss your ideas with the maintainers.

Code of Conduct

Please note that this project adheres to the Contributor Covenant code of conduct. By participating in this project, you are expected to uphold this code.

Setting up the linter

We use Trunk for linting, which combines multiple linters with sensible defaults and a single configuration file. You'll need to install the Trunk CLI to use it.

- Install the Trunk CLI

curl https://get.trunk.io -fsSL | bash

Alternative installation methods can be found here. On commit, the linter will run automatically. To run it manually, use the following commands:

trunk fmt
trunk check

Building the documentation

We use uv to build the documentation. To install it, run:

curl -LsSf https://astral.sh/uv/install.sh | sh

And activate it:

uv venv
source .venv/bin/activate

Then install python and the required dependencies:

uv python install
uv sync --all-extras --dev

Finally run the following command to serve the documentation from a local server:

uv run mkdocs serve [-a ip:port] --livereload

Deploy

We use mike to build and deploy documentation versions. Manually deploy a version needs to update and push the specific version (or a new one if creating a new version) with the following command:

uv run mike deploy --push --update-aliases <version> [alias]

This will update the gh-pages branch and automatically deploys the version with the fix/update to https://docs.romm.app.

Pull Request Guidelines

  • Make sure your code follows the project's coding standards.
  • Test your changes locally before opening a pull request.
  • Update the documentation if necessary.
  • Ensure all existing tests pass, and add new tests for new functionality.
  • Use clear and descriptive titles and descriptions for your pull requests.

Issue Reporting

If you encounter any bugs or have suggestions for improvements, please create an issue on GitHub. Provide as much detail as possible, including steps to reproduce the issue if applicable.

Licensing

By contributing to RomM's documentation, you agree that your contributions will be licensed under the project's LICENSE.


Thank you for contributing to RomM's documentation! Your help is greatly appreciated.