Problem
PSModule/Template-PSModule is the canonical starting point for new PowerShell module repositories, but it does not ship the full baseline file set that Repository Defaults requires of every module repository. A repository created from the template is immediately non-compliant with the documented standard, and every new module repository starts with a manual cleanup task.
This was found while creating PSModule/Lovdata from the template.
Missing files
Compared to the "Required common files" table in Repository Defaults, the template is missing:
SECURITY.md — private vulnerability reporting and latest-version support policy.
SUPPORT.md — support channel and issue-routing expectations.
CODE_OF_CONDUCT.md — community participation rules.
.github/pull_request_template.md — PR Manager-compatible pull request template.
Repository Defaults also lists .github/copilot-instructions.md, but that entry is stale. AGENTS.md at the repository root is the agent entry point and is read natively by the runtimes, so the template intentionally does not carry a Copilot-only pointer file. Tracked in PSModule/docs#102.
Why the organization fallback is not enough
Repository Defaults is explicit that each repository must stand on its own and must not rely on the organization .github fallback: agents, linters, Dependabot, CODEOWNERS, and release automation read repository-local files, while the org fallback is only surfaced in GitHub's web UI.
Desired outcome
A repository generated from the template is compliant on the first commit, with no manual additions.
Acceptance criteria
SECURITY.md, SUPPORT.md, CODE_OF_CONDUCT.md, and .github/pull_request_template.md exist in the template.
- The files are generic and token-free, so they work as-is in a generated repository.
- Wording is consistent with the existing PSModule community files rather than newly invented.
- The repository linter passes on the new files.
Problem
PSModule/Template-PSModuleis the canonical starting point for new PowerShell module repositories, but it does not ship the full baseline file set that Repository Defaults requires of every module repository. A repository created from the template is immediately non-compliant with the documented standard, and every new module repository starts with a manual cleanup task.This was found while creating
PSModule/Lovdatafrom the template.Missing files
Compared to the "Required common files" table in Repository Defaults, the template is missing:
SECURITY.md— private vulnerability reporting and latest-version support policy.SUPPORT.md— support channel and issue-routing expectations.CODE_OF_CONDUCT.md— community participation rules..github/pull_request_template.md— PR Manager-compatible pull request template.Repository Defaults also lists
.github/copilot-instructions.md, but that entry is stale.AGENTS.mdat the repository root is the agent entry point and is read natively by the runtimes, so the template intentionally does not carry a Copilot-only pointer file. Tracked in PSModule/docs#102.Why the organization fallback is not enough
Repository Defaults is explicit that each repository must stand on its own and must not rely on the organization
.githubfallback: agents, linters, Dependabot, CODEOWNERS, and release automation read repository-local files, while the org fallback is only surfaced in GitHub's web UI.Desired outcome
A repository generated from the template is compliant on the first commit, with no manual additions.
Acceptance criteria
SECURITY.md,SUPPORT.md,CODE_OF_CONDUCT.md, and.github/pull_request_template.mdexist in the template.