Add auto-generated documentation site for workflows and actions#81
Merged
Add auto-generated documentation site for workflows and actions#81
Conversation
Build a GitHub Pages documentation site (MkDocs Material) that auto-generates from workflow and action YAML metadata. Covers all 18 reusable workflows and 13 composite actions with usage snippets, input/secret/output tables, and cross-links. Includes enricher plugin API for future AI-powered docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…es, and DRY violations - Guard against yaml.safe_load returning None on empty files in both parsers - Fix substring match bug in action cross-links (e.g. `build` matching `build-firebase`) - Derive top-level index categories from CATEGORY_LABELS instead of hardcoded lists - Extract duplicated _parse_inputs/_parse_outputs into shared types module Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Without a blank line separator, Markdown renders them as a single paragraph on one line. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Generated markdown in docs/workflows/ and docs/actions/ can be regenerated with `python scripts/generate-docs.py`. Hand-crafted assets, stylesheets, and docs/index.md remain tracked. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Output files are now gitignored, so the warning is unnecessary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hand-maintained WORKFLOWS and ACTIONS dicts with auto-discovery functions that scan workflows/*.yml and actions/*/action.yml. Only EXCLUDE, OVERRIDES, and CATEGORY_LABELS remain manually maintained. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The .cache directory is only used by mkdocs-material plugins (social cards, blog, offline) which are not enabled. Use setup-python built-in pip cache instead to speed up dependency installation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detect companion markdown files (workflows/{key}.md) alongside workflow
YAMLs, matching the existing README detection for actions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
matejsemancik
approved these changes
Feb 20, 2026
Replace mkdocs gh-deploy with mike deploy to support multiple doc versions. Tag pushes publish under the tag name with a "latest" alias, while main-branch pushes publish under "main". The Material theme version selector is enabled via extra.version.provider. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add mike for versioned documentation
Member
|
😍 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a MkDocs Material documentation site that auto-generates markdown pages for all reusable workflows and composite actions. The site is deployed via GitHub Pages on every push to
main.Changes
config.pyscans the filesystem instead of a hand-maintained registry — adding a new workflow or action requires zero config changesdeploy-docs.ymlworkflow builds and deploys on push tomainor tagsactions/setup-python@v6instead of a no-op mkdocs cacheDiagram
Doc generation pipeline
flowchart TD A[deploy-docs.yml] --> B[checkout\@v6] B --> C[<br>setup-python@v6<br/>pip cache] C --> D[generate-docs.py] D --> E[config.py<br/>auto-discover] E --> F[Parse YAMLs<br/>workflow + action] F --> G[Enrich<br/>README / AI] G --> H[Render Markdown<br/>Jinja2 templates] H --> I[mkdocs gh-deploy]Auto-discovery logic
flowchart LR subgraph Workflows W1[workflows/*.yml] --> W2[Skip EXCLUDE] W2 --> W3[Match category prefix] W3 --> W4[Parse YAML name<br/>Derive runner<br/>Check workflow_call] W4 --> W5[Merge OVERRIDES] W5 --> WR[WORKFLOWS dict] end subgraph Actions A1[actions/*/action.yml] --> A2[Match category prefix] A2 --> A3[Parse YAML name<br/>Detect README] A3 --> A4[Merge OVERRIDES] A4 --> AR[ACTIONS dict] end