Repository navigation
Add documentation contribution and screenshot review requirements #46
Description
Goal
Add the missing contribution guidance and pull request template for the LibreSign documentation repository so every documentation contribution is reviewed from the rendered result, not only from the source diff.
This repository is built with Sphinx. Reviewers need to see how changed pages actually render because headings, lists, tables, code blocks, images, cross-references and spacing can be syntactically valid while still producing poor documentation.
This issue is intentionally suitable for a first contribution: the expected files, wording, references and validation steps are defined below. No product or architecture decision is required.
Reference implementation
Use the current Nextcloud documentation contribution flow as the main reference:
https://github.com/nextcloud/documentation/blob/master/CONTRIBUTING.mdhttps://github.com/nextcloud/documentation/blob/master/.github/pull_request_template.mdhttps://github.com/nextcloud/documentation/blob/master/AGENTS.md
Do not copy unrelated Nextcloud policies or repository-specific release rules.
The relevant behavior to bring to LibreSign is:
- contributors build the affected documentation locally;
- documentation-content PRs include a screenshot of the rendered changed or added page(s);
- visual/layout changes always include screenshots;
- screenshots help reviewers inspect headings, lists, code blocks, links, images and layout;
- non-rendered tooling-only changes may mark the screenshot as not applicable with a short explanation.
Files to create or update
1. Create .github/pull_request_template.md
The template must contain these sections.
Resolves / related issue
Ask the contributor to link the issue being addressed.
Screenshots
Use explicit wording similar in meaning to:
Add a screenshot of every changed or added rendered documentation page.
This lets reviewers verify the actual Sphinx output, including headings, lists, code blocks, links, images and layout.
If the pull request changes only non-rendered repository tooling, CI, dependencies or other files that do not affect a documentation page, write
Not applicableand explain why.
Do not use vague wording such as only "if applicable" without defining when it is not applicable.
Checklist
Include at least:
- I built the affected documentation locally and reviewed the rendered output.
- I included screenshots of every changed or added rendered documentation page.
- If screenshots are not applicable, this PR changes no rendered documentation and I explained why.
- I checked that headings, lists, code blocks, images and links render correctly.
- I did not include personal data, credentials, private documents or other sensitive information in screenshots.
- I kept the change focused on one documentation concern.
2. Create CONTRIBUTING.md
Keep this file concise and specific to this repository.
It must document:
Repository purpose
Explain that LibreSign/documentation contains the public LibreSign user, administrator and developer documentation.
Documentation areas
Reference the existing manuals:
user_manual/admin_manual/developer_manual/main/for top-level navigation
Do not invent a new documentation structure in this issue.
Local validation
Explain how to use the repository's existing build commands. Inspect the current README.rst, Makefile and CI workflow before writing the commands. Do not copy Nextcloud build commands if they differ from this repository.
The contributor guide must require building the affected manual before opening a PR.
Screenshot requirement
State clearly:
- every PR that changes rendered documentation must include screenshots of every changed or newly added rendered page;
- screenshots are review evidence and do not replace the documentation source or automated checks;
- tooling/CI/dependency-only PRs that do not change rendered documentation may state that screenshots are not applicable;
- screenshots must not contain credentials, real personal data, private customer documents, tokens or other sensitive information.
Writing expectations
Point contributors to the existing documentation structure and state these minimum rules:
- describe the product or procedure, not the history of how the change was implemented;
- write for the intended reader of that manual;
- explain concepts before advanced details;
- do not duplicate an existing explanation when a cross-reference is sufficient;
- verify internal links/cross-references;
- keep examples free of real personal or customer data.
Do not create a full style guide in this issue.
DCO
Document the repository's existing DCO requirement consistently with LibreSign contribution rules.
3. Update AGENTS.md
Add only the repository-level rule needed for automated contributors:
- rendered documentation changes require screenshots in the PR;
- screenshots are review evidence;
- sensitive information must not appear in screenshots;
- tooling-only changes can explicitly state that screenshots are not applicable.
Do not copy the complete Nextcloud AGENTS.md.
Screenshot quality
Screenshots should show enough of the rendered page to let a reviewer identify the changed content and surrounding context.
For long pages:
- multiple focused screenshots are acceptable;
- do not require one full-page image when it makes the text unreadable.
For documentation that contains responsive/user-interface examples, capture the viewport relevant to the documented workflow.
Do not add screenshots to the documentation source solely to satisfy this PR-review requirement. PR screenshots are review artifacts unless the documentation itself genuinely needs an image.
Source of truth
Before writing the contribution instructions, inspect:
README.rstMakefile.github/workflows/- existing manual
index.rstfiles AGENTS.md
Use the current repository as the source of truth for build commands and structure.
If an existing instruction conflicts with this issue or the actual repository setup, comment on this issue before inventing a new workflow.
Out of scope
Do not:
- restructure the manuals;
- introduce a new documentation framework;
- add a PR preview deployment;
- change Sphinx configuration unless required to fix an error exposed while validating this issue;
- add screenshot automation;
- add image-diff testing;
- copy Nextcloud-specific branch, translation, release or labeling policies;
- modify LibreSign application code.
PR preview deployment is tracked separately by #48.
Validation
Before opening the PR:
- build the affected documentation using the repository's existing build flow;
- verify the new PR template renders correctly on GitHub;
- verify every file/path mentioned in
CONTRIBUTING.mdexists; - verify the contribution instructions do not reference Nextcloud-specific commands that LibreSign does not support;
- include screenshots of the rendered documentation/contribution page changes in the PR description.
Good first issue
This is a good first issue because the desired behavior and files are already specified.
The contributor does not need to decide:
- whether screenshots are required;
- which documentation manuals exist;
- whether LibreSign should use Sphinx;
- how the documentation architecture should be reorganized;
- how PR preview deployment should work.
The task is to implement the contribution rules above using the current repository as the source of truth.
If the current repository does not provide enough information to write one of the required build instructions, comment on this issue with the exact missing information instead of guessing.
Done when
-
.github/pull_request_template.mdexists with the required screenshot section and checklist. -
CONTRIBUTING.mddocuments the repository structure, local validation, screenshot requirement, writing expectations and DCO. -
AGENTS.mdcontains the screenshot review rule for automated contributors. - Rendered documentation changes require screenshots of changed/added pages.
- Tooling-only exceptions are explicitly defined.
- Screenshot privacy/safety requirements are documented.
- Existing repository build commands are used rather than copied blindly from Nextcloud.
- The documentation build/checks pass.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Activity
[-]Create pull request template for this repository[/-][+]Add documentation contribution and screenshot review requirements[/+]kanghyunsoon commentedon Oct 12, 2026
Hi, I'd like to work on this issue.
I noticed that
README.rstcurrently referencesmake htmlanddocs/requirements.txt, while the repository'sMakefiledefinesmain,user,admin,dev, andalltargets, and the CI workflow installs dependencies from the rootrequirements.txt.I plan to document the verified build commands in
CONTRIBUTING.mdand keep the changes limited to the three files requested in this issue.Please let me know if you'd prefer a different approach. Thanks!
vitormattos commentedon Oct 23, 2026
Hi @kanghyunsoon,
Sorry for the late reply, and thank you for checking the documentation build setup.
Your proposed approach looks correct. Please go ahead with the three files listed in the issue:
CONTRIBUTING.md,.github/pull_request_template.md, andAGENTS.md.Please use the current
Makefile, rootrequirements.txt, and CI workflow as the source for the build instructions. Some instructions inREADME.rstno longer match the current setup.Please describe the current documentation contribution process, not the history of how the changes were implemented. Keep
AGENTS.mdshort and focused on instructions for agents, without copying the full contribution guide.Follow the screenshot requirements in the issue. If your changes do not affect rendered documentation pages, you can explain why screenshots are not applicable.
You do not need an assignment to start contributing but I assigned to you now.
Thanks for your interest in LibreSign!