Skip to content

Commit 517b20b

Browse files
Add repository agent onboarding defaults
1 parent 7d100d1 commit 517b20b

4 files changed

Lines changed: 43 additions & 2 deletions

File tree

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Follow the instructions in [AGENTS.md](../AGENTS.md).

AGENTS.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Agents
2+
3+
This repository holds the source for the [PSModule](https://psmodule.io) documentation, published at [psmodule.io/docs](https://psmodule.io/docs). Everything an agent needs to work here is documentation — read it the same way a new contributor would.
4+
5+
## Start here
6+
7+
1. Read this file, then the [README](README.md) for what this repository is and how it builds.
8+
2. Read the [PSModule documentation](https://psmodule.io/docs) for the framework's why, how, and what — its standards, conventions, and style guides. The source for those pages lives under `src/docs/` in this repository.
9+
3. Read the [MSX documentation](https://msxorg.github.io/docs) for the organization-level principles and ways of working that sit above any single repository.
10+
11+
## Working in this repository
12+
13+
- Documentation pages live under `src/docs/`; the published site navigation is defined in `src/zensical.toml`. Add a new page to both.
14+
- The PowerShell standards and style guides under `src/docs/` are the source of truth for content changes — follow the page you are changing.
15+
- Keep each page the single source of truth: link to the canonical page instead of restating its content elsewhere.
16+
17+
## The rule
18+
19+
This file points; it never defines. Standards and process live in the documentation and are referenced by their canonical location — never copied here.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@AGENTS.md

src/docs/Modules/Repository-Defaults.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ They do not apply directly to:
1515
- Template repositories other than `Template-PSModule`.
1616
- Test, archive, service, or infrastructure repositories that are not published as module artifacts.
1717

18+
Two baseline expectations still apply to every PSModule repository, including the types listed above. Each repository stands on its own: it carries its own governance and community files instead of relying on the organization `.github` fallback, and each repository ships the [agent onboarding files](#agent-onboarding-files) so an agent can work in it without prior context. What differs by type is the concrete file set and layout: the required files, README shape, and framework wiring on the rest of this page are module defaults, and non-module repositories keep only the equivalent baseline appropriate to their own type. This repository, `PSModule/docs`, follows those two baseline expectations itself.
19+
1820
Each initiative should keep its own repository standards in its central documentation repository. For the PSModule organization, this repository is the source of truth.
1921

2022
## Repository creation
@@ -62,10 +64,13 @@ Module repositories use the PSModule framework layout:
6264
| ---- | --------------- |
6365
| `README.md` | Concise start page for the module. |
6466
| `LICENSE` | Repository license. PSModule module repositories default to MIT unless a different license is explicitly decided. |
65-
| `CONTRIBUTING.md` | Contribution workflow or a repository-level pointer to the organization contribution guide. |
67+
| `CONTRIBUTING.md` | Self-contained contribution workflow for this repository. Does not rely on an organization-level fallback. |
6668
| `SECURITY.md` | Security support policy and private vulnerability reporting instructions. |
6769
| `SUPPORT.md` | Support expectations and where users ask for help. |
6870
| `CODE_OF_CONDUCT.md` | Community conduct expectations. |
71+
| `AGENTS.md` | Agent onboarding entry point. Points agents to the PSModule and MSX documentation for the why, how, and what. |
72+
| `CLAUDE.md` | Claude Code entry point. Imports `AGENTS.md` so Claude reads the same instructions. |
73+
| `.github/copilot-instructions.md` | VS Code and GitHub Copilot repository instructions. Points to the same documentation. |
6974
| `.github/PSModule.yml` | Module workflow configuration overrides. |
7075
| `.github/workflows/workflow.yml` | Reusable Process-PSModule workflow entry point. |
7176
| `.github/dependabot.yml` | Dependency and supply-chain update configuration. |
@@ -102,10 +107,13 @@ Required baseline files for module repositories:
102107
| ---- | ------------------ |
103108
| `README.md` | Repository landing page and evergreen context for humans and agents. |
104109
| `LICENSE` | Clear legal terms for reuse, packaging, and redistribution. |
105-
| `CONTRIBUTING.md` | Shared contribution workflow and expectations. |
110+
| `CONTRIBUTING.md` | Self-contained contribution workflow and expectations for this repository. |
106111
| `SECURITY.md` | Private vulnerability reporting and latest-version support policy. |
107112
| `SUPPORT.md` | Support channel and issue-routing expectations. |
108113
| `CODE_OF_CONDUCT.md` | Community participation rules. |
114+
| `AGENTS.md` | Cross-tool agent instructions pointing to the PSModule and MSX documentation. |
115+
| `CLAUDE.md` | Claude Code entry point that imports `AGENTS.md`. |
116+
| `.github/copilot-instructions.md` | VS Code and GitHub Copilot repository instructions pointing to the documentation. |
109117
| `.github/dependabot.yml` | Supply-chain maintenance for GitHub Actions and PowerShell dependencies. |
110118
| `.github/CODEOWNERS` | Review routing for source, docs, and GitHub workflow files. |
111119
| `.github/pull_request_template.md` | Consistent PR Manager-style PR descriptions and change classification. |
@@ -118,6 +126,18 @@ Required baseline files for module repositories:
118126

119127
Repositories can add local files, but they should not remove these baseline files unless the repository is explicitly outside the module standard.
120128

129+
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.
130+
131+
## Agent onboarding files
132+
133+
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:
134+
135+
- `AGENTS.md`: the cross-tool entry point, read by the GitHub Copilot coding agent, VS Code, and other AGENTS.md-aware tools. It names what the repository is in a line or two and points to the PSModule documentation (`https://psmodule.io`, source in [`PSModule/docs`](https://github.com/PSModule/docs)) for the module's why/how/what, and to the MSX documentation (`https://msxorg.github.io/docs`, source in [`MSXOrg/docs`](https://github.com/MSXOrg/docs)) for organization-level principles and ways of working.
136+
- `CLAUDE.md`: a thin file that imports `AGENTS.md` with `@AGENTS.md` so Claude Code reads the same instructions. Claude-specific notes, if any, go below the import.
137+
- `.github/copilot-instructions.md`: repository instructions for VS Code and GitHub Copilot that point to the same documentation.
138+
139+
These files are the agent equivalent of the README: pointers, not copies. Keep them short so the linked documentation stays the single source of truth. Like the other governance files, they live in the repository itself so it can stand on its own.
140+
121141
## Managed file distribution
122142

123143
Shared files should be treated as managed files. The current distribution service is [`PSModule/Distributor`](https://github.com/PSModule/Distributor). It keeps source file sets under `Repos/{Type}/{Selection}/` and syncs those files into repositories through pull requests.

0 commit comments

Comments
 (0)