📖 [Docs]: Module layout rules now cover the help URLs that grouping changes - #105
Open
Marius Storhaug (MariusStorhaug) wants to merge 1 commit into
Open
📖 [Docs]: Module layout rules now cover the help URLs that grouping changes#105Marius Storhaug (MariusStorhaug) wants to merge 1 commit into
Marius Storhaug (MariusStorhaug) wants to merge 1 commit into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
August 2, 2026 17:02
Marius Storhaug (MariusStorhaug)
enabled auto-merge (squash)
August 2, 2026 17:05
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.
Module authors grouping functions by domain are now told up front that grouping changes each command's published documentation URL, and that every
.LINKhas to move with it. Previously the layout rules described only the source tree, so the URL change came as a CI failure rather than as guidance.New: The canonical
.LINKform is part of the layout rulesA public command's generated page is published under its group, so its canonical address is
https://psmodule.io/<Module>/Functions/<Group>/<Name>/. The layout rules now state that form directly, note that each private helper links the public command it serves, and namePublicHelpLinkas the check that enforces it — so a failing build is traceable back to the standard that describes it.New: Regrouping an existing module calls out the link update
Moving a command into a group folder moves its generated page. Every
.LINKin the module has to be updated in the same change, and any published reference to the old flatFunctions/<Name>/address stops resolving. The guidance now says to treat the link update and any redirect as part of the regrouping rather than as follow-up work.Technical details
One file changed,
src/docs/Modules/Standards.md: one bullet appended to the "Layout rules" list and one paragraph added after it. No existing rule is reworded and no heading changes, so inbound deep links still resolve.This comes from a live failure. Regrouping
PSModule/Yamlinto domain folders followed the layout rules exactly and still failed CI on the first run:Document-PSModule'sBuild-PSModuleDocumentationrelocates each generated command page to mirror the source layout, soFunctions/ConvertFrom-Yaml/becameFunctions/Conversion/ConvertFrom-Yaml/. Ninety-eight.LINKvalues needed updating in that module — seven public commands plus ninety-one private helpers pointing at the public command they serve. The framework caught it, so nothing shipped wrong, but the cost is a wasted CI round trip on every module that regroups, scaling with the number of helpers.The wording says "first
.LINK" deliberately: thePublicHelpLinktest checks the canonical link is first, and additional.LINKentries remain allowed.The URL prefix is written as
https://psmodule.io/<Module>/...to match the existing site, and the<Group>/<Name>placeholders match the<Group>.mdconvention already used in the surrounding rules.Implementation plan progress: completes #104.
src/docs/Modules/Standards.md(prose)PublicHelpLinkIssue convergence sweep: scoped to open PSModule/docs issues about module layout and generated documentation. Only #104 is satisfied by this diff. PSModule/Yaml#53 is the delivery that surfaced it and is linked as context.
Relevant issues (or links)