#891·openwiki

[Feature]: Add configurable parallel generation for independent documentation pages

Author: ccOnTheWayCreated Sep 16, 2026Updated Sep 16, 2026
Labelsenhancement

Summary

Add a configurable concurrency limit so documentation pages that do not depend on one another can be generated in parallel, reducing end-to-end generation time.

Motivation

Generating documentation for medium or large repositories can take a significant amount of time. Many planned pages are independent, so they do not need to wait for one another. Allowing those pages to run concurrently would reduce total generation time while still preserving the correct order for pages that have dependencies.

Proposed Solution

Add a configuration option that controls the maximum number of page-generation workers. For example:

yaml
generation:
  max_concurrency: 4

The option could also be exposed through the CLI:

bash
openwiki generate --max-concurrency 4

OpenWiki should:

  • Identify pages that have no dependencies on one another and generate them concurrently.
  • Preserve dependency ordering where dependencies exist.
  • Use a safe default, with 1 preserving sequential behavior.
  • Respect provider rate limits and existing retry policies.
  • Isolate failures so one page-generation task does not silently cancel or corrupt other tasks.
  • Keep progress and errors clear when multiple pages are running.

Acceptance criteria:

  • Users can configure the maximum number of concurrent page-generation workers.
  • Independent pages are generated concurrently.
  • Dependent pages are generated in the correct order.
  • Sequential generation remains available with concurrency set to 1.

Alternatives Considered

Keep generation fully sequential. This is simpler, but it leaves independent work waiting unnecessarily and does not address generation time for large repositories.

Additional Context

This would be especially useful for repositories with many independent modules or components, where most documentation pages can be generated without waiting for other pages to finish.