⚙️ [Maintenance]: Remove instruction files colocated into the docs site#349
Merged
Marius Storhaug (MariusStorhaug) merged 1 commit intoJul 5, 2026
Conversation
Marius Storhaug (MariusStorhaug)
added a commit
to PSModule/docs
that referenced
this pull request
Jul 2, 2026
The PSModule coding style guides now live in the documentation site under a new **Style Guides** menu section. Contributors and agents can browse the GitHub Actions, Markdown, and PowerShell conventions directly on the docs site instead of digging through editor instruction files in another repository. ## New: Style Guides section in the docs A new **Style Guides** entry appears in the top navigation, containing: - **GitHub Actions** — workflow and composite action authoring conventions: job/step naming, quoting, SHA pinning, minimal permissions, OIDC and secrets handling, untrusted-input safety, trigger isolation, runner pinning, and a zizmor security checklist. - **Markdown** — headings, lists, code blocks, links, tables, emphasis, whitespace, and filename conventions. - **PowerShell** — One True Brace Style, naming, parameters, error handling, pipeline design, performance, and Pester testing conventions. Each guide states the rule, shows good and bad examples, and explains how to apply it. The Markdown and PowerShell guides are migrated verbatim from the editor instruction files that previously lived in the `Process-PSModule` repository; the GitHub Actions guide is new and aligns with the existing GitHub Actions Standard. ## Technical Details - Added `src/docs/Style-Guides/` with `index.md`, `GitHub-Actions.md`, `Markdown.md`, and `PowerShell.md`. - Editor-specific frontmatter (`applyTo`) was replaced with docs frontmatter (`title`/`description`). - Registered the new `Style Guides` section in the `nav` array in `src/zensical.toml`, placed between **GitHub Actions** and **Solutions**. - Companion PR: `PSModule/Process-PSModule#349` removes the now-migrated instruction files. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Marius Storhaug (MariusStorhaug)
July 5, 2026 13:22
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the repository-scoped Markdown and PowerShell instruction files that previously lived under .github/instructions/, aligning with the move to a centralized “Style Guides” section in the external documentation site.
Changes:
- Deleted
.github/instructions/md.instructions.md(Markdown style guidance). - Deleted
.github/instructions/pwsh.instructions.md(PowerShell style guidance).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/instructions/md.instructions.md | Removes in-repo Markdown style instructions (content now maintained in docs site per PR description). |
| .github/instructions/pwsh.instructions.md | Removes in-repo PowerShell style instructions (content now maintained in docs site per PR description). |
Marius Storhaug (MariusStorhaug)
added a commit
to MSXOrg/docs
that referenced
this pull request
Jul 6, 2026
…, and requirement IDs (#16) The coding and spec standards now answer four authoring questions they were silent on: how to make images accessible, which PowerShell operator to reach for when matching text, when to prefer .NET over cmdlets, and how requirement identifiers are written. This closes the gaps left when the PSModule instruction files were retired into a docs site, so contributors and agents keep one complete source of truth. ## New: Image accessibility and link conventions in the Markdown standard The [Markdown standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/Markdown.md) now states that every image carries descriptive alt text — so it serves screen readers and still says something when the image fails to load — and that a repeated or long link may be written reference-style. It also spells out that code, commands, filenames, and identifiers belong in backticks rather than emphasis. ## New: PowerShell standard — matching, constants, and preferring .NET The [PowerShell standard](https://github.com/MSXOrg/docs/blob/main/src/docs/Coding-Standards/PowerShell/index.md) now covers text matching — `-like` for wildcards, `-match` for regular expressions, and the `-c` prefix for case-sensitive comparison — how to declare a value that must not change with `Set-Variable -Option ReadOnly`, and a **Prefer .NET for the actual work** principle: reach for the .NET base class library on hot paths and where behaviour must be exact, and keep cmdlets for readable glue. This mirrors the ai-platform PowerShell standard. ## New: Requirement identifiers and normative language in Spec-Driven Development [Spec-Driven Development](https://github.com/MSXOrg/docs/blob/main/src/docs/Ways-of-Working/Spec-Driven-Development.md) now defines how requirements are identified and written: functional requirements are `FR1`, `FR2`, `FR3` and non-functional ones `NFR1`, `NFR2`, `NFR3`, each given its own heading with a stable, explicit anchor (`### FR1 — <statement> { #fr1 }`) so it can be referenced as `[FR1](#fr1)` and reworded without breaking the link. Identifiers are append-only — never renumbered or reused, and a removed requirement simply disappears (git holds the history). Requirements are written with the BCP 14 keywords (MUST / SHOULD / MAY, and the rest of the set) so obligations are unambiguous. ## Technical Details Additions land in existing pages, so the standards stay navigable and the generated index is unchanged: - `src/docs/Coding-Standards/Markdown.md` — the "Style beyond the linter" section. - `src/docs/Coding-Standards/PowerShell/index.md` — the "Idioms and pitfalls" section plus a new "Prefer .NET for the actual work" section. - `src/docs/Ways-of-Working/Spec-Driven-Development.md` — the "Requirements" section. - `.github/scripts/Test-DocumentationLink.ps1` — the link checker now recognises explicit `{ #id }` anchors and validates reference-style link definitions, and it uses native .NET (`[System.IO.File]::Exists`, `[System.IO.Path]::Combine`) on its per-link hot path, following the new principle. Requirement identifiers use the `FR`/`NFR` scheme with text-independent [attr_list](https://python-markdown.github.io/extensions/attr_list/) anchors (`{ #fr1 }`), which Zensical renders natively, and normative language anchored to [BCP 14](https://www.rfc-editor.org/info/bcp14) (RFC 2119 + RFC 8174). This supersedes the earlier `F1`/`N1` idea — the PSModule `FR-001`/`NFR-001` non-breaking-hyphen rule does not apply, since these anchors are text-independent. No lint configuration changes — the deliberate markdownlint relaxations (line length, list-marker style, blank-line rules) stand. Verified locally: markdownlint, PSScriptAnalyzer, `Update-DocumentationIndex.ps1 -Check`, and `Test-DocumentationLink.ps1` all pass. <details> <summary>Related issues</summary> - Closes #15 - Origin PSModule/Process-PSModule#349 - Origin PSModule/docs#43 </details>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Markdown and PowerShell style instruction files have been removed from this repository. Their content now lives in the PSModule documentation site under the new Style Guides section, giving contributors and agents a single, browsable source of truth for coding conventions.
Changed: Instruction files moved to the docs site
The
.github/instructions/md.instructions.mdand.github/instructions/pwsh.instructions.mdfiles (and the now-emptyinstructionsfolder) have been removed. The same guidance is published — and expanded with a new GitHub Actions guide — at the docs site:This is an internal maintenance change. It does not affect the shipped artifact or any workflow behavior.
Technical Details
.github/instructions/md.instructions.mdand.github/instructions/pwsh.instructions.md.src/docs/Style-Guides/Markdown.mdandsrc/docs/Style-Guides/PowerShell.mdinPSModule/docs.Downstream coverage
The MSX documentation site consumes this guidance and adds the few authoring conventions that were not carried over verbatim — image alt text, PowerShell matching operators (
-like/-match/-c) and read-only constants, and requirement-identifier formatting — in MSXOrg/docs#16.