Summary
PSModule/Yaml currently keeps src/functions/public/*.ps1 and src/functions/private/*.ps1 in flat directories. PSModule standards recommend domain-grouped public/private function folders and group documentation pages.
Why
During PR #47 release-prep audits, we confirmed:
- public commands are not grouped by domain folder,
- private helpers are not organized to mirror public domains,
- group markdown docs beside public groups are missing.
This is structural drift against PSModule/docs module layout guidance. The refactor is broad (touches many files) and is intentionally deferred out of PR #47 to keep the release merge reviewable.
Canon references
- PSModule/docs
src/docs/Modules/Standards.md
- "Group by domain"
- "Mirror public and private domains"
- "Group documentation pages with source"
Proposed scope
- Reorganize
src/functions/public/ into domain folders.
- Reorganize
src/functions/private/ to mirror those domains.
- Add
<Group>.md files beside each public domain group.
- Update any build/discovery assumptions and tests impacted by path changes.
Acceptance criteria
- Public and private function paths follow domain grouping conventions.
- Group docs exist for each public function domain.
- Existing command behavior remains unchanged.
- Full test suite passes after reorganization.
Out of scope
Summary
PSModule/Yamlcurrently keepssrc/functions/public/*.ps1andsrc/functions/private/*.ps1in flat directories. PSModule standards recommend domain-grouped public/private function folders and group documentation pages.Why
During PR #47 release-prep audits, we confirmed:
This is structural drift against
PSModule/docsmodule layout guidance. The refactor is broad (touches many files) and is intentionally deferred out of PR #47 to keep the release merge reviewable.Canon references
src/docs/Modules/Standards.mdProposed scope
src/functions/public/into domain folders.src/functions/private/to mirror those domains.<Group>.mdfiles beside each public domain group.Acceptance criteria
Out of scope