Skip to content

CHORE: Add Agentic AI development assets for GitHub Copilot#466

Draft
PlagueHO wants to merge 6 commits into
dsccommunity:mainfrom
PlagueHO:chore/add-copilot-ai-assets
Draft

CHORE: Add Agentic AI development assets for GitHub Copilot#466
PlagueHO wants to merge 6 commits into
dsccommunity:mainfrom
PlagueHO:chore/add-copilot-ai-assets

Conversation

@PlagueHO

@PlagueHO PlagueHO commented Jun 21, 2026

Copy link
Copy Markdown
Member

Pull Request (PR) description

This PR adds agentic AI development assets to the repository to improve the GitHub Copilot experience for contributors and automated agents. It provides structured context, conventions, and coding guidelines so that AI-assisted development produces code and tests that are consistent with DSC Community standards.

What is added:

  • AGENTS.md (repo root) — Top-level agent guide covering repository overview, resource types (MOF-based vs class-based), build and test workflow, key conventions, and external references.
  • tests/AGENTS.md — Agent guide scoped to the tests/ directory, covering Pester 5 patterns, test locations, required setup-block templates (InModuleScope, BeforeAll import, BeforeEach mock patterns), and unit vs integration test distinctions.
  • .github/copilot-instructions.md — Merged core DSC Community requirements including module identity, terminology, file organization, naming conventions, build/test workflow, and an index of instruction files.
  • .github/instructions/ — Ten instruction files providing detailed, reusable guidelines:
    • dsc-community-powershell.instructions.md — PowerShell style: approved verbs, parameter attributes, error handling, $script:localizedData, DscResource.Common helpers.
    • dsc-community-pester.instructions.md — Pester 5 test structure, InModuleScope, BeforeAll/BeforeEach, mocking patterns, Should -Invoke usage.
    • dsc-community-unit-tests.instructions.md — Unit test setup templates, required import block, stub module patterns, complete context/It naming conventions.
    • dsc-community-integration-tests.instructions.md — Integration test structure, configuration file conventions, Wait-ForIdleLcm, node data patterns.
    • dsc-community-mof-resource.instructions.md — MOF resource implementation: Get-/Test-/Set-TargetResource conventions, schema.mof, localization, DscResource.Common usage.
    • dsc-community-class-resource.instructions.md — Class-based resource implementation: ResourceBase inheritance, GetCurrentState()/Modify()/AssertProperties()/NormalizeProperties(), CMReason, property attributes.
    • dsc-community-localization.instructions.md — Localization file conventions, Get-LocalizedData usage, string key naming.
    • dsc-community-changelog.instructions.md — Changelog format, Unreleased section, entry style.
    • dsc-community-markdown.instructions.md — Markdown style guidelines for documentation.
  • README.md — Minor update to document the AssertProperties() and NormalizeProperties() methods for class-based resources.
  • CHANGELOG.md — Unreleased section updated to record this change.

Why:

As GitHub Copilot and other AI agents become part of the development workflow, having machine-readable guidance in the repository ensures that generated code, tests, and documentation follow DSC Community and ComputerManagementDsc conventions without requiring manual correction. This is aligned with the AGENTS.md standard adopted by many open-source repositories.

This Pull Request (PR) fixes the following issues

Task list

  • Added an entry to the change log under the Unreleased section of the
    file CHANGELOG.md. Entry should say what was changed and how that
    affects users (if applicable), and reference the issue being resolved
    (if applicable).
  • Resource documentation added/updated in README.md.
  • Resource parameter descriptions added/updated in README.md, schema.mof
    and comment-based help.
  • Comment-based help added/updated.
  • Localization strings added/updated in all localization files as appropriate.
  • Examples appropriately added/updated.
  • Unit tests added/updated. See DSC Community Testing Guidelines.
  • Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
  • New/changed code adheres to DSC Community Style Guidelines.

This change is Reviewable

PlagueHO added 3 commits June 21, 2026 15:35
- Add AGENTS.md at repository root (build/test workflow, resource types, conventions)
- Add tests/AGENTS.md (Pester 5, test locations, required setup block templates)
- Add .github/copilot-instructions.md with merged core DSC Community requirements,
  module identity, terminology, file organization, and instruction file index
- Add .github/instructions/ with 10 instruction files:
  - ComputerManagementDsc-guidelines (repo-specific build/test/naming)
  - dsc-community-powershell (generalized PowerShell style)
  - dsc-community-pester-5 (generalized Pester 5 test style)
  - dsc-community-unit-tests (generalized unit test setup templates)
  - dsc-community-integration-tests (generalized integration test templates)
  - dsc-community-mof-resource (generalized MOF resource implementation)
  - dsc-community-class-resource (generalized class-based resource implementation)
  - dsc-community-localization (generalized localization conventions)
  - dsc-community-changelog (generalized changelog format)
  - dsc-community-markdown (generalized markdown style)

Closes dsccommunity#464
- Refactor integration and unit test guidelines for clarity.
- Add new Pester testing guidelines for consistency.
- Remove outdated ComputerManagementDsc-specific guidelines.
- Update README to reflect requirements for class-based resources.
- Enhanced changelog guidelines for consistency
- Added detailed instructions for MOF and class-based resources
- Improved Pester testing guidelines and setup instructions
- Clarified PowerShell script and module writing standards
- Updated localization and unit testing documentation
@coderabbitai

coderabbitai Bot commented Jun 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6b0536b0-8973-4750-9d60-f7f1ea3e9eba

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented Jun 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87%. Comparing base (17e10f3) to head (9fd1aa1).

Additional details and impacted files

Impacted file tree graph

@@         Coverage Diff         @@
##           main   #466   +/-   ##
===================================
  Coverage    86%    87%           
===================================
  Files        21     21           
  Lines      2083   2083           
===================================
+ Hits       1805   1822   +17     
+ Misses      278    261   -17     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Agentic AI / GitHub Copilot guidance assets (AGENTS guides + Copilot instruction files) to help contributors and automated agents follow ComputerManagementDsc and DSC Community conventions, plus minor documentation/changelog updates.

Changes:

  • Added AGENTS.md and tests/AGENTS.md with build/test workflow and Pester guidance.
  • Added .github/copilot-instructions.md and .github/instructions/* instruction files for Copilot.
  • Updated CHANGELOG.md (Unreleased entry) and a small formatting fix in README.md.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
AGENTS.md New top-level agent guidance for repo structure and workflows.
tests/AGENTS.md New test-scoped agent guidance (Pester v5, setup templates, running tests).
.github/copilot-instructions.md Workspace-level Copilot instructions for module/resource conventions and workflows.
.github/instructions/dsc-community-changelog.instructions.md New Copilot instruction file for changelog conventions.
.github/instructions/dsc-community-class-resource.instructions.md New Copilot instruction file for class-based DSC resource patterns.
.github/instructions/dsc-community-integration-tests.instructions.md New Copilot instruction file for integration test patterns (needs alignment with repo layout).
.github/instructions/dsc-community-localization.instructions.md New Copilot instruction file for localization conventions (applyTo needs to cover .psm1).
.github/instructions/dsc-community-markdown.instructions.md New Copilot instruction file for Markdown style.
.github/instructions/dsc-community-mof-resource.instructions.md New Copilot instruction file for MOF-based resource patterns.
.github/instructions/dsc-community-pester.instructions.md New Copilot instruction file for Pester conventions (needs alignment with repo’s actual test patterns).
.github/instructions/dsc-community-powershell.instructions.md New Copilot instruction file for PowerShell style conventions.
.github/instructions/dsc-community-unit-tests.instructions.md New Copilot instruction file for unit test structure (placeholders/boilerplate need alignment).
CHANGELOG.md Records the new assets under Unreleased (one entry is currently inaccurate).
README.md Minor formatting update in Requirements section.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CHANGELOG.md Outdated
Comment thread tests/AGENTS.md Outdated
Comment thread tests/AGENTS.md Outdated
Comment thread .github/copilot-instructions.md Outdated
Comment thread .github/instructions/dsc-community-integration-tests.instructions.md Outdated
Comment thread .github/instructions/dsc-community-unit-tests.instructions.md
Comment thread .github/instructions/dsc-community-pester.instructions.md
Comment thread .github/instructions/dsc-community-pester.instructions.md Outdated
Comment thread .github/instructions/dsc-community-localization.instructions.md
PlagueHO and others added 2 commits June 22, 2026 09:54
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- Standardize formatting in `.github/instructions/*.md` files
- Update integration test guidelines in `AGENTS.md`
- Minor formatting adjustments in `CHANGELOG.md`

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (9)
.github/instructions/dsc-community-integration-tests.instructions.md (2)

6-20: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Add blank line before ## Requirements heading.

Line 8 has an MD022 violation: the "## Requirements" heading must be preceded by a blank line.

✏️ Proposed fix
 # Integration Tests Guidelines
+
 ## Requirements
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-integration-tests.instructions.md around
lines 6 - 20, The markdown file has an MD022 violation where the "##
Requirements" heading is not preceded by a blank line. Add a blank line between
the "# Integration Tests Guidelines" heading and the "## Requirements" heading
to comply with markdown formatting standards.

Source: Coding guidelines


113-142: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Fix ordered list numbering to use 1/1/1 style.

The ordered list in the "Standard Test Sequence" section (lines 113–142) uses numbered prefixes (1, 2, 3, 4, 5) but should use "1." for all items per Markdown Style Guidelines (MD029: ol-prefix). This prevents Markdown renderers from renumbering when items are reordered.

✏️ Proposed fix to use 1/1/1 numbering
 Each configuration `Context` block must contain these `It` tests in order:

-1. `'Should compile the MOF without throwing'` — compile with `$TestDrive` as output:
+1. `'Should compile the MOF without throwing'` — compile with `$TestDrive` as output:

    ```powershell
    & $configName -OutputPath $TestDrive -ConfigurationData $configData
    ```

-2. `'Should apply the MOF without throwing'` — reset LCM then start configuration:
+1. `'Should apply the MOF without throwing'` — reset LCM then start configuration:

    ```powershell
    Reset-DscLcm
    Start-DscConfiguration -Path $TestDrive -ComputerName 'localhost' -Wait -Verbose -Force -ErrorAction Stop
    ```

-3. `'Should be able to call Get-DscConfiguration without throwing'`:
+1. `'Should be able to call Get-DscConfiguration without throwing'`:

    ```powershell
    Get-DscConfiguration -Verbose -ErrorAction Stop
    ```

-4. `'Should have set the resource and all the parameters should match'` — property assertions
+1. `'Should have set the resource and all the parameters should match'` — property assertions

-5. *(optional)* `'Should return $true when Test-DscConfiguration is run'`:
+1. *(optional)* `'Should return $true when Test-DscConfiguration is run'`:

    ```powershell
    Test-DscConfiguration -Verbose | Should -BeTrue
    ```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-integration-tests.instructions.md around
lines 113 - 142, The ordered list in the "Standard Test Sequence" section uses
numbered prefixes 2, 3, 4, 5 but should use 1 for all items according to
Markdown Style Guidelines (MD029). Replace all numbered list prefixes (currently
2., 3., 4., 5.) with 1. in the test sequence items: "Should apply the MOF
without throwing", "Should be able to call Get-DscConfiguration without
throwing", "Should have set the resource and all the parameters should match",
and "Should return $true when Test-DscConfiguration is run". This 1/1/1 style
numbering prevents Markdown renderers from renumbering when list items are
reordered.

Source: Coding guidelines

.github/instructions/dsc-community-unit-tests.instructions.md (1)

60-90: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Add blank lines before headings and code blocks.

The file has MD022 violations (missing blank lines before headings on lines 62 and 84) and MD031 violations (missing blank lines before code fences on lines 64 and 85). These occur in the "Parameter Set Validation" and "Parameter Properties" sections.

✏️ Proposed fixes for heading and code fence spacing
 }

Parameter Set Validation

Single parameter set:

It 'Should have the correct parameters in parameter set <ExpectedParameterSetName>' -ForEach @(
 Multiple parameter sets: Use same pattern with multiple hashtables in `-ForEach` array.

+
 ### Parameter Properties

+
 ```powershell
 It 'Should have ParameterName as a mandatory parameter' {
     $parameterInfo = (Get-Command -Name 'CommandName').Parameters['ParameterName']
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-unit-tests.instructions.md around lines
60 - 90, Add blank lines to comply with markdown formatting standards (MD022 and
MD031). Insert a blank line before the heading "### Parameter Set Validation",
before the text "Single parameter set:", before the heading "### Parameter
Properties", and before each code fence block marked with triple backticks. This
ensures proper spacing between markdown headings, code blocks, and other content
elements as per markdown linting rules.

Sources: Coding guidelines, Linters/SAST tools

.github/instructions/dsc-community-pester.instructions.md (1)

6-213: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Add blank lines before headings and simplify adverb usage.

The file has multiple MD022 violations (missing blank lines before headings per Markdown Style Guidelines). Additionally, lines 12–13 repeat the adverb "only" in adjacent bullet points, which can be streamlined.

✏️ Proposed fixes for heading spacing and adverb repetition
 ---
 description: Guidelines for writing and maintaining tests using Pester.
 applyTo: "**/*.[Tt]ests.ps1"
 ---
+
 # Tests Guidelines

 ## Core Requirements

-  - All public commands, private functions and classes must have unit tests
-  - All public commands and class-based resources must have integration tests
-  - Use Pester v5 syntax only
-  - Test code only inside `Describe` blocks
-  - Assertions only in `It` blocks
+  - All public commands, private functions and classes must have unit tests
+  - All public commands and class-based resources must have integration tests
+  - Use Pester v5 syntax
+  - Test code inside `Describe` blocks
+  - Use assertions only in `It` blocks
   - Never test verbose messages, debug messages or parameter binding behavior
   - Pass all mandatory parameters to avoid prompts

 ## Requirements

Note: Apply the same blank-line fix before each heading throughout the file (before lines 8, 17, 24, 30, 40, 54, 59, and 65).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-pester.instructions.md around lines 6 -
213, Add blank lines before each heading throughout the file to fix MD022
Markdown style violations. This includes adding a blank line before the headings
at "## Core Requirements", "## Requirements", "## Naming", "## Structure &
Scope", "## Syntax Rules", "## File Organization", "## Data-Driven Tests (Test
Cases)", "## Best Practices", "## File Boilerplate", "## Describe Block Naming
and Tags", "## File Organization — DSC Resources", "## Class Resource Method
Mocking", and "## Script-Scoped Call Counter (Class Methods)". Additionally, in
the Core Requirements section where lines state "Test code only inside
`Describe` blocks" and "Assertions only in `It` blocks", refactor to eliminate
the repeated "only" adverb for better readability.

Sources: Coding guidelines, Linters/SAST tools

.github/instructions/dsc-community-mof-resource.instructions.md (3)

88-88: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Wrap line 88 to comply with 80-character limit.

Line 88 is 94 characters and should be wrapped at a word boundary.

♻️ Proposed fix
 ## Script-Scoped Module Variables
 
-Define constants and shared lookup tables at module scope using `$script:` prefix:
+Define constants and shared lookup tables at module scope using `$script:`
+prefix:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-mof-resource.instructions.md at line 88,
Line 88 containing the text about defining constants and shared lookup tables
exceeds the 80-character limit at 94 characters. Wrap this line at a logical
word boundary to comply with the 80-character limit, ensuring the wrapped lines
remain readable and maintain the instructional meaning.

Source: Coding guidelines


59-59: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Wrap line 59 to comply with 80-character limit.

Line 59 is 98 characters and should be wrapped at a word boundary.

♻️ Proposed fix
 ## String File Format
 
-- In `.strings.psd1` files, use underscores as word separators in localized string key
-  names (for multi-word keys)
+- In `.strings.psd1` files, use underscores as word separators in localized string
+  key names (for multi-word keys)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-mof-resource.instructions.md at line 59,
The line in the
`.github/instructions/dsc-community-mof-resource.instructions.md` file that
contains "In `.strings.psd1` files, use underscores as word separators in
localized string key" exceeds the 80-character limit at 98 characters. Split
this line at an appropriate word boundary to ensure each resulting line does not
exceed 80 characters while maintaining readability and the markdown formatting.

Source: Coding guidelines


42-47: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Wrap long markdown links to comply with 80-character line limit.

Lines 42–47 exceed the 80-character wrapping requirement. Convert to reference-style markdown links or wrap link text and URL onto separate lines to maintain readability per coding guidelines.

♻️ Proposed fix using reference-style links
 ## Error Handling for MOF-based Resources
 
 - Use `try/catch` blocks to handle exceptions
 - Do not use `throw` for terminating errors; use `New-*Exception` commands:
-  - [`New-InvalidDataException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidDataException)
-  - [`New-ArgumentException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91ArgumentException)
-  - [`New-InvalidOperationException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidOperationException)
-  - [`New-ObjectNotFoundException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91ObjectNotFoundException)
-  - [`New-InvalidResultException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidResultException)
-  - [`New-NotImplementedException`](https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91NotImplementedException)
+  - [New-InvalidDataException][1]
+  - [New-ArgumentException][2]
+  - [New-InvalidOperationException][3]
+  - [New-ObjectNotFoundException][4]
+  - [New-InvalidResultException][5]
+  - [New-NotImplementedException][6]
+
+ [1]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidDataException
+ [2]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91ArgumentException
+ [3]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidOperationException
+ [4]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91ObjectNotFoundException
+ [5]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91InvalidResultException
+ [6]: https://github.com/dsccommunity/DscResource.Common/wiki/New%E2%80%91NotImplementedException
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-mof-resource.instructions.md around lines
42 - 47, The markdown links in lines 42-47 referencing the DscResource.Common
wiki functions (New-InvalidDataException, New-ArgumentException,
New-InvalidOperationException, New-ObjectNotFoundException,
New-InvalidResultException, and New-NotImplementedException) exceed the
80-character line limit. Convert these inline markdown links to reference-style
links by moving the URL definitions to the end of the file using numbered or
named references, or alternatively wrap the link text and URL onto separate
lines while maintaining proper markdown syntax to ensure each line stays within
the 80-character limit.

Source: Coding guidelines

.github/instructions/dsc-community-localization.instructions.md (1)

11-11: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Wrap lines to comply with 80-character limit.

Lines 11 and 24 exceed the 80-character wrapping requirement and should be rewrapped at word boundaries.

♻️ Proposed fixes

Line 11:

-- Localize all `Write-Debug`, `Write-Verbose`, `Write-Error`, `Write-Warning`, and
-  `$PSCmdlet.ThrowTerminatingError()` messages; never use hardcoded strings
+- Localize all `Write-Debug`, `Write-Verbose`, `Write-Error`, `Write-Warning`,
+  and `$PSCmdlet.ThrowTerminatingError()` messages; never use hardcoded
+  strings

Line 24:

-- Format: `Verb_FunctionName_Action` (underscore separators),
-  e.g. `Get_TimeZone_GettingCurrentState`
+- Format: `Verb_FunctionName_Action` (underscore separators); for example:
+  `Get_TimeZone_GettingCurrentState`

Also applies to: 24-24

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-localization.instructions.md at line 11,
Lines 11 and 24 in the dsc-community-localization.instructions.md file exceed
the 80-character line limit and need to be rewrapped. Break these long lines at
appropriate word boundaries to ensure no line exceeds 80 characters while
maintaining the markdown formatting and readability of the instruction list. Pay
special attention to line 11 which starts with "Localize all `Write-Debug`,
`Write-Verbose`, `Write-Error`, `Write-Warning`" and line 24 with similar
content patterns.

Source: Coding guidelines

.github/instructions/dsc-community-class-resource.instructions.md (1)

14-14: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Wrap lines to comply with 80-character limit.

Lines 14, 16, and 91–92 exceed the 80-character wrapping requirement. Wrap text at word boundaries and convert the long markdown link to reference-style format.

♻️ Proposed fixes

Line 14:

-- Decoration: `[DscResource(RunAsCredential = 'Optional')]` (use `'Mandatory'` if required)
+- Decoration: `[DscResource(RunAsCredential = 'Optional')]` (use `'Mandatory'`
+  if required)

Line 16:

-- `$this.localizedData` auto-populated by `ResourceBase` from localization file
+- `$this.localizedData` auto-populated by `ResourceBase` from localization
+  file

Lines 91–92:

-- `## Known issues`: Critical issues + pattern:
-  `All issues are not listed here, see [all open issues](https://github.com/dsccommunity/ComputerManagementDsc/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+{ResourceName}).`
+- `## Known issues`: Critical issues + pattern:
+  `All issues are not listed here, see [all open issues][1].`
+
+ [1]: https://github.com/dsccommunity/ComputerManagementDsc/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+{ResourceName}

Also applies to: 16-16, 91-92

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-class-resource.instructions.md at line
14, Wrap lines 14, 16, and 91-92 to comply with the 80-character line limit. For
line 14 containing the Decoration parameter description, break the text at word
boundaries across multiple lines while maintaining readability. For line 16,
apply the same wrapping approach at appropriate word boundaries. For lines
91-92, convert any long markdown links to reference-style format and then wrap
the text to stay within the 80-character limit. Ensure all wrapped lines remain
valid markdown syntax.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/instructions/dsc-community-markdown.instructions.md:
- Line 10: In the file
.github/instructions/dsc-community-markdown.instructions.md, locate the phrase
"markdown links" and capitalize the "M" in "markdown" to read "Markdown links"
since Markdown is a proper noun referring to the markup language and should be
capitalized consistently throughout the documentation.

---

Nitpick comments:
In @.github/instructions/dsc-community-class-resource.instructions.md:
- Line 14: Wrap lines 14, 16, and 91-92 to comply with the 80-character line
limit. For line 14 containing the Decoration parameter description, break the
text at word boundaries across multiple lines while maintaining readability. For
line 16, apply the same wrapping approach at appropriate word boundaries. For
lines 91-92, convert any long markdown links to reference-style format and then
wrap the text to stay within the 80-character limit. Ensure all wrapped lines
remain valid markdown syntax.

In @.github/instructions/dsc-community-integration-tests.instructions.md:
- Around line 6-20: The markdown file has an MD022 violation where the "##
Requirements" heading is not preceded by a blank line. Add a blank line between
the "# Integration Tests Guidelines" heading and the "## Requirements" heading
to comply with markdown formatting standards.
- Around line 113-142: The ordered list in the "Standard Test Sequence" section
uses numbered prefixes 2, 3, 4, 5 but should use 1 for all items according to
Markdown Style Guidelines (MD029). Replace all numbered list prefixes (currently
2., 3., 4., 5.) with 1. in the test sequence items: "Should apply the MOF
without throwing", "Should be able to call Get-DscConfiguration without
throwing", "Should have set the resource and all the parameters should match",
and "Should return $true when Test-DscConfiguration is run". This 1/1/1 style
numbering prevents Markdown renderers from renumbering when list items are
reordered.

In @.github/instructions/dsc-community-localization.instructions.md:
- Line 11: Lines 11 and 24 in the dsc-community-localization.instructions.md
file exceed the 80-character line limit and need to be rewrapped. Break these
long lines at appropriate word boundaries to ensure no line exceeds 80
characters while maintaining the markdown formatting and readability of the
instruction list. Pay special attention to line 11 which starts with "Localize
all `Write-Debug`, `Write-Verbose`, `Write-Error`, `Write-Warning`" and line 24
with similar content patterns.

In @.github/instructions/dsc-community-mof-resource.instructions.md:
- Line 88: Line 88 containing the text about defining constants and shared
lookup tables exceeds the 80-character limit at 94 characters. Wrap this line at
a logical word boundary to comply with the 80-character limit, ensuring the
wrapped lines remain readable and maintain the instructional meaning.
- Line 59: The line in the
`.github/instructions/dsc-community-mof-resource.instructions.md` file that
contains "In `.strings.psd1` files, use underscores as word separators in
localized string key" exceeds the 80-character limit at 98 characters. Split
this line at an appropriate word boundary to ensure each resulting line does not
exceed 80 characters while maintaining readability and the markdown formatting.
- Around line 42-47: The markdown links in lines 42-47 referencing the
DscResource.Common wiki functions (New-InvalidDataException,
New-ArgumentException, New-InvalidOperationException,
New-ObjectNotFoundException, New-InvalidResultException, and
New-NotImplementedException) exceed the 80-character line limit. Convert these
inline markdown links to reference-style links by moving the URL definitions to
the end of the file using numbered or named references, or alternatively wrap
the link text and URL onto separate lines while maintaining proper markdown
syntax to ensure each line stays within the 80-character limit.

In @.github/instructions/dsc-community-pester.instructions.md:
- Around line 6-213: Add blank lines before each heading throughout the file to
fix MD022 Markdown style violations. This includes adding a blank line before
the headings at "## Core Requirements", "## Requirements", "## Naming", "##
Structure & Scope", "## Syntax Rules", "## File Organization", "## Data-Driven
Tests (Test Cases)", "## Best Practices", "## File Boilerplate", "## Describe
Block Naming and Tags", "## File Organization — DSC Resources", "## Class
Resource Method Mocking", and "## Script-Scoped Call Counter (Class Methods)".
Additionally, in the Core Requirements section where lines state "Test code only
inside `Describe` blocks" and "Assertions only in `It` blocks", refactor to
eliminate the repeated "only" adverb for better readability.

In @.github/instructions/dsc-community-unit-tests.instructions.md:
- Around line 60-90: Add blank lines to comply with markdown formatting
standards (MD022 and MD031). Insert a blank line before the heading "###
Parameter Set Validation", before the text "Single parameter set:", before the
heading "### Parameter Properties", and before each code fence block marked with
triple backticks. This ensures proper spacing between markdown headings, code
blocks, and other content elements as per markdown linting rules.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8a8a85ad-51e7-4b77-95af-53998ed90f92

📥 Commits

Reviewing files that changed from the base of the PR and between 17e10f3 and 1b0193b.

📒 Files selected for processing (14)
  • .github/copilot-instructions.md
  • .github/instructions/dsc-community-changelog.instructions.md
  • .github/instructions/dsc-community-class-resource.instructions.md
  • .github/instructions/dsc-community-integration-tests.instructions.md
  • .github/instructions/dsc-community-localization.instructions.md
  • .github/instructions/dsc-community-markdown.instructions.md
  • .github/instructions/dsc-community-mof-resource.instructions.md
  • .github/instructions/dsc-community-pester.instructions.md
  • .github/instructions/dsc-community-powershell.instructions.md
  • .github/instructions/dsc-community-unit-tests.instructions.md
  • AGENTS.md
  • CHANGELOG.md
  • README.md
  • tests/AGENTS.md

# Markdown Style Guidelines

- Wrap lines at word boundaries when over 80 characters (except tables/code blocks,
badge/shield image lines, and URLs inside markdown links)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Capitalize "Markdown" as a proper noun.

Line 10 says "markdown links" but "Markdown" should be capitalized as the proper noun for the markup language.

✏️ Proposed fix
- badge/shield image lines, and URLs inside markdown links)
+ badge/shield image lines, and URLs inside Markdown links)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
badge/shield image lines, and URLs inside markdown links)
badge/shield image lines, and URLs inside Markdown links)
🧰 Tools
🪛 LanguageTool

[uncategorized] ~10-~10: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...dge/shield image lines, and URLs inside markdown links)

  • Use 2 spaces for indentation
    ...

(MARKDOWN_NNP)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/instructions/dsc-community-markdown.instructions.md at line 10, In
the file .github/instructions/dsc-community-markdown.instructions.md, locate the
phrase "markdown links" and capitalize the "M" in "markdown" to read "Markdown
links" since Markdown is a proper noun referring to the markup language and
should be capitalized consistently throughout the documentation.

Source: Linters/SAST tools

- Refine description for maintaining a consistent changelog
- Clarify formatting requirements for the Unreleased section
- Improve issue reference format for better consistency
- Ensure no duplicate sections or items in the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: Add Agentic AI development assets for GitHub Copilot

2 participants