Skip to content

Commit 083ce78

Browse files
Standardize community files under .github
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent e72914c commit 083ce78

3 files changed

Lines changed: 37 additions & 16 deletions

File tree

.github/plugin/psmodule/skills/psmodule-repository-audit/SKILL.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,16 @@ overwrite an established repository.
7777
| Creation scaffold | Use for new repositories. Do not overwrite established module source, tests, examples, or content. |
7878
| Repository-owned addition | Preserve it unless it violates a governing standard or breaks the framework contract. |
7979

80-
Treat governance files, caller workflows, linter settings, dependency
81-
configuration, agent entry points, and documentation-site defaults as
82-
template-owned or parameterized unless the template or PSModule standard says
83-
otherwise. Treat `src/`, established `tests/`, `examples/`, documentation
84-
content, and module-specific assets as repository-owned after creation.
80+
Treat `.github/CONTRIBUTING.md`, `.github/CODE_OF_CONDUCT.md`,
81+
`.github/SECURITY.md`, `.github/SUPPORT.md`, governance files, caller workflows,
82+
linter settings, dependency configuration, agent entry points, and
83+
documentation-site defaults as template-owned or parameterized unless the
84+
template or PSModule standard says otherwise. Treat `src/`, established
85+
`tests/`, `examples/`, documentation content, and module-specific assets as
86+
repository-owned after creation.
87+
88+
Report a root-level duplicate of a community file as drift. GitHub recognizes
89+
these files under `.github/`, which is their canonical PSModule location.
8590

8691
Configuration is not automatically consumer-owned. For example,
8792
`.github/PSModule.yml` may contain valid module-specific overrides while its

docs/content/guides/structuring-your-module.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,15 @@ The goal is a stable repository anatomy so both humans and automation know exact
3434
│ │ └── .textlintrc # Text lint rules surfaced in Build Docs summaries
3535
│ ├── workflows/ # Entry points for the reusable workflow
3636
│ │ └── Process-PSModule.yml # Consumer hook into this workflow bundle
37+
│ ├── CODE_OF_CONDUCT.md # Community participation rules
3738
│ ├── CODEOWNERS # Default reviewers enforced by Process-PSModule checks
39+
│ ├── CONTRIBUTING.md # Repository-local contribution workflow
3840
│ ├── dependabot.yml # Dependency update cadence handled by GitHub
39-
│ ├── zensical.toml # Site config consumed during site builds
4041
│ ├── PSModule.yml # Settings parsed to drive matrices
41-
│ └── release.yml # Release automation template invoked on publish
42+
│ ├── release.yml # Release automation template invoked on publish
43+
│ ├── SECURITY.md # Private vulnerability reporting policy
44+
│ ├── SUPPORT.md # Support channels and issue routing
45+
│ └── zensical.toml # Site config consumed during site builds
4246
├── examples/ # Samples referenced in generated documentation
4347
│ └── General.ps1 # Example script ingested by Document-PSModule
4448
├── icon/ # Icon assets linked from manifest and documentation

docs/content/reference/repository-standard.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ Module repositories use the PSModule framework layout:
8787
| ---- | --------------- |
8888
| `README.md` | Concise start page for the module. |
8989
| `LICENSE` | Repository license. PSModule module repositories default to MIT unless a different license is explicitly decided. |
90-
| `CONTRIBUTING.md` | Self-contained contribution workflow for this repository. Does not rely on an organization-level fallback. |
91-
| `SECURITY.md` | Security support policy and private vulnerability reporting instructions. |
92-
| `SUPPORT.md` | Support expectations and where users ask for help. |
93-
| `CODE_OF_CONDUCT.md` | Community conduct expectations. |
90+
| `.github/CONTRIBUTING.md` | Self-contained contribution workflow for this repository. Does not rely on an organization-level fallback. |
91+
| `.github/SECURITY.md` | Security support policy and private vulnerability reporting instructions. |
92+
| `.github/SUPPORT.md` | Support expectations and where users ask for help. |
93+
| `.github/CODE_OF_CONDUCT.md` | Community conduct expectations. |
9494
| `AGENTS.md` | Agent onboarding entry point. Points agents to the canonical guidance at `https://psmodule.io/docs/`. |
9595
| `CLAUDE.md` | Claude Code entry point. Imports `AGENTS.md` so Claude reads the same instructions. |
9696
| `.github/PSModule.yml` | Module workflow configuration overrides. |
@@ -155,10 +155,10 @@ Required baseline files for module repositories:
155155
| ---- | ------------------ |
156156
| `README.md` | Repository landing page and evergreen context for humans and agents. |
157157
| `LICENSE` | Clear legal terms for reuse, packaging, and redistribution. |
158-
| `CONTRIBUTING.md` | Self-contained contribution workflow and expectations for this repository. |
159-
| `SECURITY.md` | Private vulnerability reporting and latest-version support policy. |
160-
| `SUPPORT.md` | Support channel and issue-routing expectations. |
161-
| `CODE_OF_CONDUCT.md` | Community participation rules. |
158+
| `.github/CONTRIBUTING.md` | Self-contained contribution workflow and expectations for this repository. |
159+
| `.github/SECURITY.md` | Private vulnerability reporting and latest-version support policy. |
160+
| `.github/SUPPORT.md` | Support channel and issue-routing expectations. |
161+
| `.github/CODE_OF_CONDUCT.md` | Community participation rules. |
162162
| `AGENTS.md` | Cross-tool agent instructions pointing to the canonical guidance at `https://psmodule.io/docs/`. |
163163
| `CLAUDE.md` | Claude Code entry point that imports `AGENTS.md`. |
164164
| `.github/dependabot.yml` | Configures ecosystem-appropriate dependency-update pull requests. For PowerShell module repositories the `github-actions` ecosystem is expected; add any other ecosystems the module actually develops in. |
@@ -172,6 +172,13 @@ Repositories can add local files, but they should not remove these baseline file
172172

173173
Each repository must stand on its own. It carries its own copy of every file above and does not depend on the organization `.github` fallback: that fallback is only surfaced in GitHub's web UI, and agents, linters, and local tooling do not read it.
174174

175+
Keep repository-local community health files together under `.github/`.
176+
GitHub discovers `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, and
177+
`SUPPORT.md` there, so root-level duplicates add no value and are not part of
178+
the PSModule layout. `README.md`, `LICENSE`, and `AGENTS.md` remain at the
179+
repository root because they are repository entry points rather than community
180+
health files.
181+
175182
## Agent onboarding files
176183

177184
Every repository must be usable by an agent that has never seen it before, without special configuration. Each repository carries its own agent entry points that point to the authoritative documentation instead of restating it:
@@ -354,7 +361,12 @@ Retain upstream attribution and licensing context. Credit, acknowledgements, don
354361

355362
README pages should not duplicate generated command documentation. Do not add full command inventories, parameter tables, or long reference sections when those details are already produced from comment-based help.
356363

357-
Do not add a community-file or policy link section by default. Readers can find standard repository files such as `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`, and `CODE_OF_CONDUCT.md` through GitHub conventions and the repository file tree. Link them only when the module has an unusual rule the user must know before using it, or when it carries required upstream attribution.
364+
Do not add a community-file or policy link section by default. Readers can find
365+
standard files such as `LICENSE`, `.github/CONTRIBUTING.md`,
366+
`.github/SECURITY.md`, and `.github/CODE_OF_CONDUCT.md` through GitHub
367+
conventions and the repository file tree. Link them only when the module has an
368+
unusual rule the user must know before using it, or when it carries required
369+
upstream attribution.
358370

359371
## Placeholder and in-progress repositories
360372

0 commit comments

Comments
 (0)