Generate documentation from repository files
Currently, the Netty documentation on the GitHub Wiki (https://github.com/netty/netty/wiki) lives in a separate Git repository (netty.wiki.git). This repository is not part of the main netty/netty repository, and GitHub does not support pull requests against a wiki repository.
As a result, external contributors who do not have write access to the project cannot propose documentation improvements through the standard fork-and-pull-request workflow. The only way to change the Wiki today is for a maintainer (or someone with collaborator access) to manually clone the wiki repository, make edits, and push. This creates a significant barrier for community members who want to help improve the documentation.
I understand this is not a critical issue, but it could significantly help improve the documentation. For example, the Native transports page is quite outdated — it doesn't mention io_uring at all, and I would be happy to fix that if I could submit a pull request.
This issue suggests storing the documentation source files inside the main repository and automatically generating the documentation from them, so that documentation contributions can go through the same pull request review process as code.
How other Java projects solve this
Several well-known Java projects have already moved away from the separate wiki repository and now treat documentation as part of the main codebase, where it can be contributed via pull requests:
Spring Framework / Spring Boot — The reference documentation is authored in AsciiDoc and lives in the main repositories. Contributors submit pull requests against the main repository, and documentation changes go through the same review process as code.
Quarkus — The guides are maintained in the main Quarkus repository under
docs/src/main/asciidoc. Pull requests for documentation should be submitted there, and the contribution guide explicitly states this.Micronaut — The documentation sources are located in the main
micronaut-corerepository. Contributors are directed to edit sources there and open pull requests.Apache Camel — The documentation is kept in the main
apache/camelrepository and is aggregated into the website via Antora. Contributions to the documentation are made through pull requests against the main repository.
Open questions
Is a separate documentation platform still needed at all? Netty already has a website (
netty.io) that hosts documentation. If the website is the primary source of truth, maybe the GitHub Wiki should be deprecated or clearly scoped to a small subset of pages that cannot live on the website. It would be good to decide this before investing in tooling.If a separate documentation platform is still useful, I can think about and propose a concrete sync workflow (e.g., a
docs/folder in the main repository plus a GitHub Actions job that pushes changes tonetty.wiki.gitafter merge). I am happy to work on a proposal if maintainers think this is worth pursuing.
Source: netty/netty