Contributing to the documentation
Thank you for considering contributing to the documentation. The guidelines below cover how to get started.
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
For alternative installation methods, see the Trunk CLI install guide. On commit, the linter will run automatically. To run it manually, use the following commands:
Building the documentation
We use uv to build the documentation. To install it, run:
And activate it:
Then install python and the required dependencies:
Finally run the following command to serve the documentation from a local server:
Deploy
We use mike to build and deploy documentation versions. To deploy a version manually, update and push that version (or a new one, if you're creating a new version) with the following command:
This updates the gh-pages branch and automatically deploys the updated version 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 the documentation, you agree that your contributions will be licensed under the project's LICENSE.