Maintainer Wiki Publishing - HenriGrimm/Minnow GitHub Wiki

GitHub Wiki publishing

The GitHub Wiki is a generated public mirror of Minnow's versioned documentation. documentation/ is authoritative; do not maintain a second copy by hand.

One-time setup

  1. Enable Wikis in the GitHub repository settings.
  2. Initialize the wiki git repo (required once): open Create wiki page, set the title to Home, add any placeholder body, and click Save page. Until this exists, git clone …/Minnow.wiki.git fails with “repository not found” and the Publish GitHub Wiki workflow cannot run. The first sync replaces that page with generated content from documentation/README.md.
  3. Add a repository Actions secret named WIKI_SYNC_TOKEN. Use a fine-grained token that can write repository contents for Minnow. If the repository's GITHUB_TOKEN can push to the wiki, the dedicated secret may be omitted.
  4. Run the Publish GitHub Wiki workflow manually once.

The workflow also runs after documentation changes reach main.

Local preview

npm run wiki:generate
npm run wiki:stage -- --output /tmp/minnow-wiki-preview

Open the staging directory to inspect _Home.md, _Sidebar.md, _Footer.md, and flattened page names. The staging script rewrites links between published pages and sends repository-only links to GitHub source.

To publish from a maintainer machine (after the one-time Home page above):

npm run wiki:publish

Uses WIKI_SYNC_TOKEN when set, otherwise gh auth token. CI uses the Publish GitHub Wiki workflow instead.

Publication rules

In-app wiki (server/product-wiki/catalog.json, opened from the menubar ?):

  • documentation/manual/ (user manual; manual/README.md is the in-app home when present)
  • documentation/ROADMAP.md
  • documentation/THIRD_PARTY_NOTICES.md when the file exists

Excluded from the in-app catalog: documentation/README.md (repo index), documentation/context.md, documentation/guides/, documentation/contributor/, documentation/maintainer/, documentation/design-system/, documentation/plugins/, documentation/agent-packs/, and all working folders (plans, specs, archives, memory, and so on).

GitHub Wiki (generated by scripts/publish-github-wiki.mjs):

Published:

  • documentation/README.md (wiki home)
  • documentation/ROADMAP.md
  • documentation/context.md
  • documentation/manual/
  • documentation/contributor/ (when present)
  • documentation/guides/
  • documentation/maintainer/
  • documentation/design-system/
  • documentation/plugins/
  • documentation/agent-packs/

Not published — excluded by directory segment (PRODUCT_WIKI_EXCLUDED_SEGMENTS in src/product-wiki/path-filter.mjs):

archive/ · images/ · memory/ · plans/ · schemas/ · specs/ · templates/

Plus documentation/MEMORY.md by filename. Only .md files are ever collected, so images are never copied into either wiki — a published page that references one must link to the repository blob instead.

Note the asymmetry: THIRD_PARTY_NOTICES.md is in the in-app catalog but not on the GitHub Wiki, and context.md and README.md are on the GitHub Wiki but not in the app. The GitHub Wiki is the full developer-facing mirror; the in-app wiki ships only the user manual plus roadmap and notices.

Packaged desktop builds copy only documentation/manual/, documentation/ROADMAP.md, and documentation/THIRD_PARTY_NOTICES.md into resources/documentation/ (see package.json extraResources). Contributor and maintainer trees remain in the repository and GitHub Wiki only.

Recovery

The wiki repository has normal Git history. Revert a bad publish by reverting its generated commit in Minnow.wiki.git, then fix the canonical documentation or staging script before running the workflow again. A later successful sync replaces generated Markdown pages but preserves the wiki repository's .git directory.