netty / netty/netty

Generate documentation from repository files

Open
#17,411 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. 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.

  2. 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.

  3. Micronaut — The documentation sources are located in the main micronaut-core repository. Contributors are directed to edit sources there and open pull requests.

  4. Apache Camel — The documentation is kept in the main apache/camel repository 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 to netty.wiki.git after merge). I am happy to work on a proposal if maintainers think this is worth pursuing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.