Skip to content

Commit 016ca1d

Browse files
feat: establish guidance chain (AGENTS.md, CONTRIBUTING.md, copilot-instructions.md, slim README) (#32)
## Summary Establishes the local guidance and onboarding chain for agents and contributors before any template slimming work happens. This is PR 1 of a planned multi-PR simplification for `Template-PSModule`. ## Changes - **`AGENTS.md`** — OKF-style pointer file with the discovery order: local README → local CONTRIBUTING → `.github/PSModule.yml` → PSModule/docs → MSXOrg/docs. Points agents to the canonical guidance in PSModule/docs and MSXOrg/docs. Does not duplicate any process knowledge. - **`CLAUDE.md`** — Claude Code entry point that imports `AGENTS.md` so Claude reads the same instructions. - **`.github/copilot-instructions.md`** — VS Code / GitHub Copilot entry point that points to `AGENTS.md`. - **`CONTRIBUTING.md`** — Self-contained contribution workflow for this template repository. Covers branching, PR flow, issue format, and code standards with links to the canonical docs. - **`README.md`** — Slimmed to describe the template's purpose and the post-creation checklist. Removes the filled-in module example content that was misleading for a template repo. Points contributors and agents to the right places. ## What this does NOT do This PR does not perform the large repo slimming/deletion work planned for subsequent PRs. ## Checklist - [x] AGENTS.md follows the thin-pointer pattern from [Agentic Development](https://msxorg.github.io/docs/Ways-of-Working/Agentic-Development/) - [x] CLAUDE.md and copilot-instructions.md point back to AGENTS.md, no duplication - [x] CONTRIBUTING.md is self-contained and references canonical docs - [x] README.md describes template purpose only - [x] Discovery order matches the coordinated plan --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent a57f0c1 commit 016ca1d

40 files changed

Lines changed: 195 additions & 802 deletions

.github/mkdocs.yml

Lines changed: 0 additions & 81 deletions
This file was deleted.

.github/workflows/Process-PSModule.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,6 @@ permissions:
2727

2828
jobs:
2929
Process-PSModule:
30-
uses: PSModule/Process-PSModule/.github/workflows/workflow.yml@da180bac16b13bfbcdf08b2e4e221b5b49e5ff28 # v6.1.4
30+
uses: PSModule/Process-PSModule/.github/workflows/workflow.yml@fb1bdb8fefd243292f779d2a856a38db6fe6daf4 # v6.1.13
3131
secrets:
32-
APIKEY: ${{ secrets.APIKEY }}
33-
TestData: >-
34-
{
35-
"secrets": {
36-
"TEST_SECRET": "${{ secrets.TEST_SECRET }}"
37-
},
38-
"variables": {
39-
"TEST_VARIABLE": "${{ vars.TEST_VARIABLE }}"
40-
}
41-
}
32+
APIKey: ${{ secrets.APIKEY }}

.github/zensical.toml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
[project]
2+
site_name = "-{{ REPO_NAME }}-"
3+
repo_name = "-{{ REPO_OWNER }}-/-{{ REPO_NAME }}-"
4+
repo_url = "https://github.com/-{{ REPO_OWNER }}-/-{{ REPO_NAME }}-"
5+
6+
[project.theme]
7+
variant = "classic"
8+
language = "en"
9+
logo = "Assets/icon.png"
10+
favicon = "Assets/icon.png"
11+
features = [
12+
"navigation.instant",
13+
"navigation.instant.progress",
14+
"navigation.indexes",
15+
"navigation.top",
16+
"navigation.tracking",
17+
"navigation.expand",
18+
"search.suggest",
19+
"search.highlight",
20+
"content.code.copy"
21+
]
22+
23+
[[project.theme.palette]]
24+
media = "(prefers-color-scheme)"
25+
toggle.icon = "lucide/sun-moon"
26+
toggle.name = "Switch to dark mode"
27+
28+
[[project.theme.palette]]
29+
media = "(prefers-color-scheme: dark)"
30+
scheme = "slate"
31+
primary = "black"
32+
accent = "light-blue"
33+
toggle.icon = "lucide/moon"
34+
toggle.name = "Switch to light mode"
35+
36+
[[project.theme.palette]]
37+
media = "(prefers-color-scheme: light)"
38+
scheme = "default"
39+
primary = "black"
40+
accent = "light-blue"
41+
toggle.icon = "lucide/sun"
42+
toggle.name = "Switch to system preference"
43+
44+
[project.theme.icon]
45+
repo = "fontawesome/brands/github"
46+
47+
[project.markdown_extensions.toc]
48+
permalink = true
49+
50+
[project.markdown_extensions.attr_list]
51+
[project.markdown_extensions.admonition]
52+
[project.markdown_extensions.md_in_html]
53+
[project.markdown_extensions.pymdownx.details]
54+
[project.markdown_extensions.pymdownx.superfences]
55+
56+
[[project.extra.social]]
57+
icon = "fontawesome/brands/discord"
58+
link = "https://discord.psmodule.io"
59+
name = "-{{ REPO_OWNER }}- on Discord"
60+
61+
[[project.extra.social]]
62+
icon = "fontawesome/brands/github"
63+
link = "https://github.com/-{{ REPO_OWNER }}-/"
64+
name = "-{{ REPO_OWNER }}- on GitHub"

AGENTS.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Agents
2+
3+
## Main directive
4+
5+
Everything is a work in progress and can be improved.
6+
If you find a problem or improvement, fix if small; otherwise open an issue.
7+
8+
## Repo guidance
9+
10+
- [`README.md`](README.md) — what this repository is and its purpose as a template.
11+
- [`CONTRIBUTING.md`](CONTRIBUTING.md) — how to contribute to this repository.
12+
13+
## PSModule Framework guidance
14+
15+
Regarding repo structure, module source code and how the Process-PSModule workflow works.
16+
For PSModule-specific build, layout, and process guidance:
17+
18+
- [Template quickstart](https://psmodule.github.io/docs/Modules/Process-PSModule/template-quickstart/) — how to create a new module from this template.
19+
- [Repository defaults](https://psmodule.github.io/docs/Modules/Repository-Defaults/) — the expected repository layout and required files.
20+
- [Module anatomy](https://psmodule.github.io/docs/Modules/Process-PSModule/module-anatomy/) — source layout and framework conventions.
21+
- [Build, test, pack, publish](https://psmodule.github.io/docs/Modules/Process-PSModule/build-test-pack-publish/) — the CI/CD pipeline.
22+
- [Standards](https://psmodule.github.io/docs/Modules/Standards/) — PowerShell module coding standards.
23+
- [PSModule/memory](https://github.com/PSModule/memory) — durable cross-session agent working memory for the PSModule organization.
24+
25+
## Org-wide guidance
26+
27+
For cross-cutting ways of working and standards:
28+
29+
- [Agentic Development](https://msxorg.github.io/docs/Ways-of-Working/Agentic-Development/) — how agents and humans collaborate in this ecosystem.
30+
- [Ways of Working](https://msxorg.github.io/docs/Ways-of-Working/) — contribution workflow, branching, PRs, issues.
31+
- [Coding Standards](https://msxorg.github.io/docs/Coding-Standards/) — language-level conventions.
32+
- [MSXOrg/memory](https://github.com/MSXOrg/memory) — durable agent working memory: gotchas, knowledge, and agent role notes.

CLAUDE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<!-- markdownlint-disable MD041 -->
2+
@AGENTS.md

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Contributing
2+
3+
Thank you for contributing to this module.
4+
Read [`AGENTS.md`](AGENTS.md) first for the full guidance chain and documentation references.
5+
6+
## Before you start
7+
8+
1. Read [`README.md`](README.md) to understand what the module does.
9+
2. Familiarise yourself with the [repository defaults](https://psmodule.github.io/docs/Modules/Repository-Defaults/) that this repository must satisfy.
10+
3. Check the open issues and pull requests to avoid duplicate work.
11+
12+
## Workflow
13+
14+
This project follows the [MSXOrg contribution workflow](https://msxorg.github.io/docs/Ways-of-Working/Contribution-Workflow/):
15+
16+
1. Open or pick up an issue that describes the change.
17+
2. Create a branch from `main` following the `<type>/<issue>-<short-slug>` convention (e.g. `feat/42-add-security-md`).
18+
3. Make small, focused commits and push often.
19+
4. Open a **draft PR** as soon as the change has a basic shape — early feedback is preferred.
20+
5. Run the **Copilot review loop**: request a Copilot review, address its feedback, and repeat until it reports a clean round. File an issue for any out-of-scope findings rather than expanding the PR.
21+
6. Mark the PR ready for review and enable auto-merge. It lands automatically once the required checks pass and a reviewer approves.
22+
23+
For branching details, see [Branching and Merging](https://msxorg.github.io/docs/Ways-of-Working/Branching-and-Merging/).
24+
25+
## Pull requests
26+
27+
- Keep PRs small and focused on a single deliverable.
28+
- The PR title should follow the [commit conventions](https://msxorg.github.io/docs/Ways-of-Working/Commit-Conventions/).
29+
30+
For PR format guidance, see [PR Format](https://msxorg.github.io/docs/Ways-of-Working/PR-Format/).
31+
32+
## Issues
33+
34+
Use GitHub Issues to report bugs, request features, or propose improvements.
35+
Follow the [issue format](https://msxorg.github.io/docs/Ways-of-Working/Issue-Format/) guidance.
36+
37+
## Code standards
38+
39+
PowerShell in this module follows the [PSModule Standards](https://psmodule.github.io/docs/Modules/Standards/) and the
40+
[MSXOrg Coding Standards](https://msxorg.github.io/docs/Coding-Standards/).
41+
42+
## Questions
43+
44+
Open a GitHub Discussion or file an issue if something is unclear.

README.md

Lines changed: 17 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,29 @@
1-
# {{ NAME }}
1+
# Template-PSModule
22

3-
{{ DESCRIPTION }}
3+
The canonical starting template for new PowerShell modules in the PSModule organization.
44

5-
## Prerequisites
6-
7-
This uses the following external resources:
8-
- The [PSModule framework](https://github.com/PSModule/Process-PSModule) for building, testing and publishing the module.
9-
10-
## Installation
11-
12-
To install the module from the PowerShell Gallery, you can use the following command:
13-
14-
```powershell
15-
Install-PSResource -Name {{ NAME }}
16-
Import-Module -Name {{ NAME }}
17-
```
18-
19-
## Usage
20-
21-
Here is a list of example that are typical use cases for the module.
22-
23-
### Example 1: Greet an entity
24-
25-
Provide examples for typical commands that a user would like to do with the module.
5+
## Purpose
266

27-
```powershell
28-
Greet-Entity -Name 'World'
29-
Hello, World!
30-
```
7+
Use this template when creating a new PowerShell module repository.
8+
It provides the CI/CD framework wiring, required community files, and starter layout that every PSModule module repository needs.
319

32-
### Example 2
10+
For step-by-step instructions, see the [template quickstart](https://psmodule.github.io/docs/Modules/Process-PSModule/template-quickstart/).
3311

34-
Provide examples for typical commands that a user would like to do with the module.
12+
## After creating a repository from this template
3513

36-
```powershell
37-
Import-Module -Name PSModuleTemplate
38-
```
14+
1. Replace the `{{ NAME }}` and `{{ DESCRIPTION }}` placeholders throughout the repository.
15+
2. Replace the starter function, test, and example with your module's first real command.
16+
3. Set the repository description and custom properties on GitHub.
17+
4. Confirm `.github/PSModule.yml` only overrides defaults when your module needs different behavior.
18+
5. Open a draft pull request and run the full CI pipeline.
3919

40-
### Find more examples
20+
See [repository defaults](https://psmodule.github.io/docs/Modules/Repository-Defaults/) for the full checklist.
4121

42-
To find more examples of how to use the module, please refer to the [examples](examples) folder.
43-
44-
Alternatively, you can use the Get-Command -Module 'This module' to find more commands that are available in the module.
45-
To find examples of each of the commands you can use Get-Help -Examples 'CommandName'.
46-
47-
## Documentation
22+
## Prerequisites
4823

49-
Link to further documentation if available, or describe where in the repository users can find more detailed documentation about
50-
the module's functions and features.
24+
Modules built from this template use the [PSModule framework](https://github.com/PSModule/Process-PSModule) for building, testing, and publishing.
5125

5226
## Contributing
5327

54-
Coder or not, you can contribute to the project! We welcome all contributions.
55-
56-
### For Users
57-
58-
If you don't code, you still sit on valuable information that can make this project even better. If you experience that the
59-
product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests.
60-
Please see the issues tab on this project and submit a new issue that matches your needs.
61-
62-
### For Developers
63-
64-
If you do code, we'd love to have your contributions. Please read the [Contribution guidelines](CONTRIBUTING.md) for more information.
65-
You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement.
66-
67-
## Acknowledgements
68-
69-
Here is a list of people and projects that helped this project in some way.
28+
To contribute to this template itself, read the [Contribution guidelines](CONTRIBUTING.md).
29+
For agents and AI tools, start with [`AGENTS.md`](AGENTS.md).

examples/General.ps1

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,7 @@
1-
<#
2-
.SYNOPSIS
3-
This is a general example of how to use the module.
1+
<#
2+
.SYNOPSIS
3+
Basic module usage example.
44
#>
55

6-
# Import the module
7-
Import-Module -Name 'PSModule'
8-
9-
# Define the path to the font file
10-
$FontFilePath = 'C:\Fonts\CodeNewRoman\CodeNewRomanNerdFontPropo-Regular.tff'
11-
12-
# Install the font
13-
Install-Font -Path $FontFilePath -Verbose
14-
15-
# List installed fonts
16-
Get-Font -Name 'CodeNewRomanNerdFontPropo-Regular'
17-
18-
# Uninstall the font
19-
Get-Font -Name 'CodeNewRomanNerdFontPropo-Regular' | Uninstall-Font -Verbose
6+
Import-Module -Name '{{ NAME }}'
7+
Get-PSModuleTest -Name 'World'

src/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/assemblies/LsonLib.dll

-42.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)