Generate documentation from repository files
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 35.1k
- Forks
- 16.3k
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 143
Description
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin by reviewing the existing GitHub Wiki and netty.io documentation, then assess the proposed docs/ folder and GitHub Actions sync to netty.wiki.git. First resolve whether netty.io or the Wiki is authoritative; done means a decided source layout and an agreed contribution and synchronization workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- devops, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100