Skip to content

## Monorepo `

Monorepo !include pattern for manuscript/master nav

Pipeio already has a clean monorepo pattern: docs_collect()docs_nav() writes docs/pipelines/mkdocs.yml, and _sync_mkdocs_monorepo() inserts !include in root mkdocs.yml.

Task

Replicate this pattern for manuscript and master file sections:

  1. manuscript_nav() in notio.manuscript — auto-generate docs/manuscript/mkdocs.yml from the manuscript registry:
  2. Scan configured manuscript folders (not hardcoded to "manuscript" — any folder with sections + master.md)
  3. Build nav with sections grouped by manuscript name
  4. Write standalone mkdocs.yml with site_name, docs_dir: ., and full nav
  5. Root mkdocs.yml gets - Manuscript: '!include ./docs/manuscript/mkdocs.yml'

  6. Key design point: manuscripts and master files are configurable folder names — a folder with section files and a master.md can be configured as one. The nav generator should discover from config, not assume "manuscript/" or "plan/".

  7. Extend _sync_mkdocs_monorepo() in projio/sync.py to handle manuscript includes alongside the existing pipeio include.

Reference

  • Pipeio pattern: packages/pipeio/src/pipeio/docs.py:310-385 (docs_nav())
  • Sync integration: src/projio/sync.py:310-379 (_sync_mkdocs_monorepo())
  • Pixecog mkdocs.yml shows current static nav for Manuscript and Plan sections