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
- Enable Wikis in the GitHub repository settings.
- 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.gitfails with “repository not found” and the Publish GitHub Wiki workflow cannot run. The first sync replaces that page with generated content fromdocumentation/README.md. - Add a repository Actions secret named
WIKI_SYNC_TOKEN. Use a fine-grained token that can write repository contents for Minnow. If the repository'sGITHUB_TOKENcan push to the wiki, the dedicated secret may be omitted. - 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.mdis the in-app home when present)documentation/ROADMAP.mddocumentation/THIRD_PARTY_NOTICES.mdwhen 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.mddocumentation/context.mddocumentation/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.