Skip to content

Ship the full required baseline file set in the module template #36

Description

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions