Skip to content

Improve markdown and changelog instructions for clarity and consistency#2146

Merged
johlju merged 9 commits intodsccommunity:mainfrom
johlju:fix/instructions-20250821
Aug 22, 2025
Merged

Improve markdown and changelog instructions for clarity and consistency#2146
johlju merged 9 commits intodsccommunity:mainfrom
johlju:fix/instructions-20250821

Conversation

@johlju
Copy link
Copy Markdown
Member

@johlju johlju commented Aug 21, 2025

Pull Request (PR) description

  • Improve markdown and changelog instructions for clarity and consistency

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 updated in the resource's README.md.
  • Resource parameter descriptions updated in schema.mof.
  • Comment-based help updated, including parameter descriptions.
  • Localization strings updated.
  • Examples updated.
  • Unit tests updated. See DSC Community Testing Guidelines.
  • Integration tests updated (where possible). See DSC Community Testing Guidelines.
  • Code changes adheres to DSC Community Style Guidelines.

This change is Reviewable

@johlju johlju requested a review from a team as a code owner August 21, 2025 17:10
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Aug 21, 2025

Walkthrough

Updated multiple DSC community instruction files and the changelog: refined changelog wording, tightened Markdown and formatting rules, added text-formatting conventions, adjusted Pester and PowerShell guidance. No code, tests, or public API changes.

Changes

Cohort / File(s) Summary of Changes
Changelog guideline
.github/instructions/dsc-community-style-guidelines-changelog.instructions.md
Reworded release-note guidance to “Describe notable changes briefly, ≤2 items per change type” and require issue references as full GitHub links ([#<n>](https://github.com/<owner>/<repo>/issues/<n>)).
Markdown guideline
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md
Removed prior rule about surrounding fenced code blocks; added rules to require empty lines before/after headings and code blocks, mandate language identifiers on code blocks, and added a "Text Formatting" section prescribing conventions for parameters, values, names, and commands/paths.
Pester guideline
.github/instructions/dsc-community-style-guidelines-pester.instructions.md
Added two best-practice bullets: avoid try-catch-finally for cleanup (prefer AfterAll/AfterEach) and avoid unnecessary remove/recreate cycles.
PowerShell guideline
.github/instructions/dsc-community-style-guidelines-powershell.instructions.md
Replaced -ErrorAction SilentlyContinue guidance with -ErrorAction Ignore for empty-catch patterns; changed "End files with newline" wording to require a blank line at EOF (two occurrences).
Changelog
CHANGELOG.md
Added an Unreleased entry: “Improved markdown and changelog instructions.”

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 682564d and b0c2132.

📒 Files selected for processing (2)
  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1 hunks)
  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md (1 hunks)
🧰 Additional context used
🧠 Learnings (8)
📓 Common learnings
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to CHANGELOG.md : Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to tests/**/*.ps1 : Use BeforeAll/BeforeEach/AfterAll/AfterEach inside Context, placed near the It blocks using them; duplication across contexts is acceptable; AfterAll can clean up; use BeforeEach/AfterEach sparingly

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to tests/**/*.ps1 : Each scenario/path should be in Context blocks starting with 'When'; It block descriptions should start with 'Should' and must call the subject; results and assertions stay within the same It; BeforeAll/BeforeEach must not call the subject

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to source/{Public,Private,Classes}/*.ps1 : In comment-based help, each keyword must be indented 4 spaces and its text indented 8 spaces

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.md : Markdown: wrap lines at word boundaries when exceeding 80 characters; use 2 spaces for indentation

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use <# ... #> for multiline comments; indent the multiline text 4 spaces

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to source/{Public,Private}/*.ps1 : For parameters, place attributes, datatype, and name on separate lines; separate parameters by a single blank line

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use 4 spaces for indentation; never use tabs

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
🪛 LanguageTool
.github/instructions/dsc-community-style-guidelines-pester.instructions.md

[grammar] ~50-~50: There might be a mistake here.
Context: ...sparingly - Avoid try-catch-finally for cleanup, use AfterAll or AfterEach - Avoid u...

(QB_NEW_EN_OTHER)


[grammar] ~50-~50: There might be a mistake here.
Context: ...void try-catch-finally for cleanup, use AfterAll or AfterEach - Avoid unnecessary remove/...

(QB_NEW_EN_OTHER)


[grammar] ~51-~51: There might be a mistake here.
Context: ...Avoid unnecessary remove/recreate cycles

(QB_NEW_EN_OTHER)

.github/instructions/dsc-community-style-guidelines-markdown.instructions.md

[grammar] ~12-~12: Use modal and auxiliary verbs correctly
Context: ... blocks exceeding 80 characters - Empty lines required before/after code blocks and h...

(QB_NEW_EN_OTHER_ERROR_IDS_24)


[grammar] ~12-~12: There might be a mistake here.
Context: ...ocks and headings (except before line 1) - Code blocks must specify language identi...

(QB_NEW_EN_OTHER)


[grammar] ~13-~13: There might be a mistake here.
Context: ...blocks must specify language identifiers ## Text Formatting - Parameters: bold ...

(QB_NEW_EN_OTHER)


[grammar] ~15-~15: Use correct spacing
Context: ...language identifiers ## Text Formatting - Parameters: bold - Values/literals: ...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~17-~17: There might be a mistake here.
Context: ...## Text Formatting - Parameters: bold - Values/literals: inline code - Resourc...

(QB_NEW_EN)


[grammar] ~18-~18: There might be a mistake here.
Context: ...Parameters: bold - Values/literals: inline code - Resource/module/product names: italic ...

(QB_NEW_EN)


[grammar] ~19-~19: There might be a mistake here.
Context: ...- Resource/module/product names: italic - Commands/files/paths: inline code

(QB_NEW_EN)


[grammar] ~20-~20: Use correct spacing
Context: ...names: italic - Commands/files/paths: inline code

(QB_NEW_EN_OTHER_ERROR_IDS_5)

🪛 markdownlint-cli2 (0.17.2)
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md

18-18: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


19-19: Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - Reporting Services Commands SQL2022_WIN2025)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - Reporting Services Commands SQL2022_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - Reporting Services Commands SQL2019_WIN2025)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - Reporting Services Commands SQL2019_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - Reporting Services Commands SQL2017_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - BI Report Server Commands PowerBI_WIN2025)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - BI Report Server Commands PowerBI_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - SQL Server Commands SQL2022_WIN2025)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - SQL Server Commands SQL2022_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - SQL Server Commands SQL2019_WIN2025)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - SQL Server Commands SQL2019_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Integration Test Commands - SQL Server Commands SQL2017_WIN2022)
  • GitHub Check: dsccommunity.SqlServerDsc (Quality Test and Unit Test Publish Code Coverage)
  • GitHub Check: dsccommunity.SqlServerDsc (Quality Test and Unit Test Unit)
  • GitHub Check: dsccommunity.SqlServerDsc (Quality Test and Unit Test Determine DSC Resource Test Requirements)
  • GitHub Check: dsccommunity.SqlServerDsc (Quality Test and Unit Test HQRM)
  • GitHub Check: dsccommunity.SqlServerDsc (Build Package Module)
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4344231 and 7cf6221.

📒 Files selected for processing (3)
  • .github/instructions/dsc-community-style-guidelines-changelog.instructions.md (1 hunks)
  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1 hunks)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
CHANGELOG.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)

Files:

  • CHANGELOG.md

⚙️ CodeRabbit configuration file

CHANGELOG.md: # Changelog Guidelines

  • Always update the Unreleased section in CHANGELOG.md
  • Use Keep a Changelog format
  • Describe main changes as concise release notes
  • Reference issues using format #<issue_number>
  • No empty lines between list items in same section
  • Do not add item if there are already an existing item for the same change

Files:

  • CHANGELOG.md
**/*.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Markdown: wrap lines at word boundaries when exceeding 80 characters; use 2 spaces for indentation

Files:

  • CHANGELOG.md

⚙️ CodeRabbit configuration file

**/*.md: # Markdown Style Guidelines

  • Wrap lines at word boundaries when over 80 characters (except tables/code blocks)
  • Use 2 spaces for indentation
  • Use '1.' for all items in ordered lists (1/1/1 numbering style)
  • Surround fenced code blocks with blank lines
  • Disable MD013 rule by adding a comment for tables/code blocks exceeding 80 characters

Files:

  • CHANGELOG.md
**

⚙️ CodeRabbit configuration file

**: # DSC Community Guidelines

Terminology

  • Command: Public command
  • Function: Private function
  • Resource: DSC class-based resource

Build & Test Workflow

  • Run project scripts in PowerShell from repository root
  • Build after source changes: .\build.ps1 -Tasks build
  • Test workflow: Build → Invoke-Pester -Path @('<test paths>') -Output Detailed
  • New session required after class changes

File Organization

  • Public commands: source/Public/{CommandName}.ps1
  • Private functions: source/Private/{FunctionName}.ps1
  • Unit tests: tests/Unit/{Classes|Public|Private}/{Name}.Tests.ps1
  • Integration tests: tests/Integration/Commands/{CommandName}.Integration.Tests.ps1

Requirements

  • Always update CHANGELOG.md Unreleased section
  • Localize all strings using string keys
  • Check DscResource.Common before creating private functions
  • Separate reusable logic into private functions
  • Add unit tests for all commands/functions/resources
  • Add integration tests for all public commands and resources

Files:

  • CHANGELOG.md
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to CHANGELOG.md : Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to CHANGELOG.md : Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)

Applied to files:

  • CHANGELOG.md
  • .github/instructions/dsc-community-style-guidelines-changelog.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use <# ... #> for multiline comments; indent the multiline text 4 spaces

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
🪛 LanguageTool
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md

[grammar] ~13-~13: There might be a mistake here.
Context: ...ure empty line before and after headings - Escape backslashes in file paths only (n...

(QB_NEW_EN_OTHER)


[grammar] ~15-~15: There might be a mistake here.
Context: ... file paths only (not in code blocks) - Ensure empty line before and after code blocks...

(QB_NEW_EN)


[grammar] ~15-~15: There might be a mistake here.
Context: ... empty line before and after code blocks - Code blocks must specify language identi...

(QB_NEW_EN_OTHER)


[grammar] ~16-~16: There might be a mistake here.
Context: ...blocks must specify language identifiers ## Text Formatting - Parameters: bold ...

(QB_NEW_EN_OTHER)


[grammar] ~18-~18: Use correct spacing
Context: ...language identifiers ## Text Formatting - Parameters: bold - Values/literals: ...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~20-~20: There might be a mistake here.
Context: ...## Text Formatting - Parameters: bold - Values/literals: inline code - Resourc...

(QB_NEW_EN)


[grammar] ~21-~21: There might be a mistake here.
Context: ...Parameters: bold - Values/literals: inline code - Resource/module/product names: italic ...

(QB_NEW_EN)


[grammar] ~22-~22: There might be a mistake here.
Context: ...- Resource/module/product names: italic - Commands/files/paths: inline code

(QB_NEW_EN)


[grammar] ~23-~23: Use correct spacing
Context: ...names: italic - Commands/files/paths: inline code

(QB_NEW_EN_OTHER_ERROR_IDS_5)

.github/instructions/dsc-community-style-guidelines-changelog.instructions.md

[grammar] ~11-~11: There might be a mistake here.
Context: ...tems per change type - Reference issues using format [#<issue_number>](https://github...

(QB_NEW_EN)


[grammar] ~11-~11: There might be a mistake here.
Context: ...nce issues using format #<issue_number> - No empty lines between list items in sam...

(QB_NEW_EN_OTHER)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: dsccommunity.SqlServerDsc (Build Package Module)
  • GitHub Check: PSScriptAnalyzer
  • GitHub Check: PSScriptAnalyzer
🔇 Additional comments (3)
CHANGELOG.md (1)

91-91: Changelog entry placement and style look correct.

The new Unreleased item is under the “Changed” section, concise, and follows the Keep a Changelog structure. No duplicates detected within the section.

.github/instructions/dsc-community-style-guidelines-changelog.instructions.md (1)

10-11: No conflicting guidelines found; linked issue format and concise item guidance stand as-written.

After reviewing .github/instructions/dsc-community-style-guidelines-changelog.instructions.md, this file is the sole source of truth for CHANGELOG.md conventions. There are no other repository documents mandating plain “#<issue_number>” references—using Markdown links here ensures clickable issue numbers. The “≤2 items per change type” note encourages brevity without being enforced by tooling. Please disregard the prior recommendation to revert these guidelines; they are intentional and consistent.

Likely an incorrect or invalid review comment.

.github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1)

18-23: Nice addition: “Text Formatting” improves consistency.

Clear, actionable conventions for parameters, values, names, and paths. This should reduce mixed styling in docs.

Comment thread .github/instructions/dsc-community-style-guidelines-markdown.instructions.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1)

17-22: Clarify path/backslash escaping to align with “Text Formatting”.

Since commands/files/paths must be inline code, backslashes should not be escaped. If paths must appear in plain text (rare), then escape them. This avoids contradictions with any legacy guidance.

 ## Text Formatting

 - Parameters: **bold**
 - Values/literals: `inline code`
 - Resource/module/product names: _italic_
 - Commands/files/paths: `inline code`
+  - For Windows paths, do not escape backslashes when formatted as code.
+    If inline code cannot be used in rare prose-only contexts, escape backslashes.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7cf6221 and df54c68.

📒 Files selected for processing (2)
  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1 hunks)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
CHANGELOG.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)

Files:

  • CHANGELOG.md

⚙️ CodeRabbit configuration file

CHANGELOG.md: # Changelog Guidelines

  • Always update the Unreleased section in CHANGELOG.md
  • Use Keep a Changelog format
  • Describe main changes as concise release notes
  • Reference issues using format #<issue_number>
  • No empty lines between list items in same section
  • Do not add item if there are already an existing item for the same change

Files:

  • CHANGELOG.md
**/*.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Markdown: wrap lines at word boundaries when exceeding 80 characters; use 2 spaces for indentation

Files:

  • CHANGELOG.md

⚙️ CodeRabbit configuration file

**/*.md: # Markdown Style Guidelines

  • Wrap lines at word boundaries when over 80 characters (except tables/code blocks)
  • Use 2 spaces for indentation
  • Use '1.' for all items in ordered lists (1/1/1 numbering style)
  • Surround fenced code blocks with blank lines
  • Disable MD013 rule by adding a comment for tables/code blocks exceeding 80 characters

Files:

  • CHANGELOG.md
**

⚙️ CodeRabbit configuration file

**: # DSC Community Guidelines

Terminology

  • Command: Public command
  • Function: Private function
  • Resource: DSC class-based resource

Build & Test Workflow

  • Run project scripts in PowerShell from repository root
  • Build after source changes: .\build.ps1 -Tasks build
  • Test workflow: Build → Invoke-Pester -Path @('<test paths>') -Output Detailed
  • New session required after class changes

File Organization

  • Public commands: source/Public/{CommandName}.ps1
  • Private functions: source/Private/{FunctionName}.ps1
  • Unit tests: tests/Unit/{Classes|Public|Private}/{Name}.Tests.ps1
  • Integration tests: tests/Integration/Commands/{CommandName}.Integration.Tests.ps1

Requirements

  • Always update CHANGELOG.md Unreleased section
  • Localize all strings using string keys
  • Check DscResource.Common before creating private functions
  • Separate reusable logic into private functions
  • Add unit tests for all commands/functions/resources
  • Add integration tests for all public commands and resources

Files:

  • CHANGELOG.md
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to CHANGELOG.md : Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to CHANGELOG.md : Always update the Unreleased section in CHANGELOG.md using Keep a Changelog format with concrete release notes for changes (new/modified commands, functions, resources)

Applied to files:

  • CHANGELOG.md
🪛 LanguageTool
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md

[grammar] ~13-~13: There might be a problem here.
Context: ...ure empty line before and after headings - Ensure empty line before and after code blocks...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~14-~14: There might be a mistake here.
Context: ... empty line before and after code blocks - Code blocks must specify language identi...

(QB_NEW_EN_OTHER)


[grammar] ~15-~15: There might be a mistake here.
Context: ...blocks must specify language identifiers ## Text Formatting - Parameters: bold ...

(QB_NEW_EN_OTHER)


[grammar] ~17-~17: Use correct spacing
Context: ...language identifiers ## Text Formatting - Parameters: bold - Values/literals: ...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~19-~19: There might be a mistake here.
Context: ...## Text Formatting - Parameters: bold - Values/literals: inline code - Resourc...

(QB_NEW_EN)


[grammar] ~20-~20: There might be a mistake here.
Context: ...Parameters: bold - Values/literals: inline code - Resource/module/product names: italic ...

(QB_NEW_EN)


[grammar] ~21-~21: There might be a mistake here.
Context: ...- Resource/module/product names: italic - Commands/files/paths: inline code

(QB_NEW_EN)


[grammar] ~22-~22: Use correct spacing
Context: ...names: italic - Commands/files/paths: inline code

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: dsccommunity.SqlServerDsc (Build Package Module)
  • GitHub Check: PSScriptAnalyzer
🔇 Additional comments (2)
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md (2)

13-15: LGTM: New spacing and language-identifier rules are clear and align with house style.

The additions for heading/code-block spacing and mandatory language identifiers improve consistency across docs.


13-22: Confirmed no conflicting rules remain in instructions

I’ve scanned all .md files under .github/instructions for:

  • Legacy guidance on escaping backslashes or file-path escaping
  • Duplicate or divergent code-block spacing rules

No matches were found outside dsc-community-style-guidelines-markdown.instructions.md, so there are no conflicting or outdated directives left. Everything is harmonized.

Comment thread .github/instructions/dsc-community-style-guidelines-markdown.instructions.md Outdated
Comment thread .github/instructions/dsc-community-style-guidelines-markdown.instructions.md Outdated
Comment thread CHANGELOG.md
@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94%. Comparing base (4881d27) to head (b0c2132).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@         Coverage Diff          @@
##           main   #2146   +/-   ##
====================================
  Coverage    94%     94%           
====================================
  Files       110     110           
  Lines      8171    8171           
====================================
  Hits       7732    7732           
  Misses      439     439           
Flag Coverage Δ
unit 94% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between df54c68 and 6bc5620.

📒 Files selected for processing (2)
  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md (1 hunks)
  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md (2 hunks)
🧰 Additional context used
🧠 Learnings (10)
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to tests/**/*.ps1 : Use BeforeAll/BeforeEach/AfterAll/AfterEach inside Context, placed near the It blocks using them; duplication across contexts is acceptable; AfterAll can clean up; use BeforeEach/AfterEach sparingly

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to tests/**/*.ps1 : Each scenario/path should be in Context blocks starting with 'When'; It block descriptions should start with 'Should' and must call the subject; results and assertions stay within the same It; BeforeAll/BeforeEach must not call the subject

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to tests/**/*.ps1 : Test code must not exist outside of a Describe block

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-pester.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use splatting to reduce line length

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to source/Classes/*.ps1 : Derived DSC resource classes must use [DscResource(RunAsCredential = 'Optional')]

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use camelCase for local variable names

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to source/{Public,Private,Classes}/*.ps1 : Use PascalCase for function names and parameters in public commands, private functions, and class-based resources

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use descriptive, clear, full names for variables, parameters, and function names; names must be more than 2 characters; no abbreviations

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : PowerShell reserved keywords should be lowercase

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : PowerShell files must be UTF-8 without BOM and end with a newline

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-powershell.instructions.md
🪛 LanguageTool
.github/instructions/dsc-community-style-guidelines-pester.instructions.md

[grammar] ~50-~50: There might be a mistake here.
Context: ...sparingly - Avoid try-catch blocks in tests, use AfterAllorAfterEach` for clea...

(QB_NEW_EN_OTHER)


[grammar] ~50-~50: Use correct spacing
Context: ... - Avoid try-catch blocks in tests, use AfterAll or AfterEach for cleanup - ...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~50-~50: There might be a mistake here.
Context: ...e AfterAll or AfterEach for cleanup - Avoid unnecessary remove/recreate cycles...

(QB_NEW_EN_OTHER)

.github/instructions/dsc-community-style-guidelines-powershell.instructions.md

[grammar] ~168-~168: There might be a mistake here.
Context: ...ile Rules - End files with a blank line - Use CR+LF line endings - Maximum two con...

(QB_NEW_EN_OTHER)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: dsccommunity.SqlServerDsc (Build Package Module)
  • GitHub Check: PSScriptAnalyzer
  • GitHub Check: PSScriptAnalyzer

Comment thread .github/instructions/dsc-community-style-guidelines-pester.instructions.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (2)
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md (2)

21-21: Resolve backslash-escaping ambiguity for paths (follow-up to earlier comment)

This clarifies that inline-code paths shouldn’t escape backslashes, while allowing escapes only when inline code cannot be used.

- - Commands/files/paths: `inline code`
+ - Commands/files/paths: `inline code`
+ - When paths are formatted as inline code, do not escape backslashes. If inline code cannot be used (rare), escape backslashes in plain text.

16-21: Add compact Do/Don’t examples to reduce ambiguity

A quick example block here will cut back-and-forth in reviews and aligns with the team learning to wrap lines and keep consistent formatting.

 ## Text Formatting
@@
 - Parameters: **bold**
 - Values/literals: `inline code`
 - Resource/module/product names: _italic_
 - Commands/files/paths: `inline code`
+
+### Examples
+
+Do:
+- Use **InstanceName** with value `MSSQLSERVER`; refer to _SqlSetup_ and command `Install-DscResource`.
+- Wrap paths as inline code: `C:\Program Files\Microsoft SQL Server`.
+- Fence code with language:
+  ```powershell
+  Get-Module SqlServerDsc
+  ```
+
+Don’t:
+- Mix styles (e.g., italicizing literals or leaving code fences untyped).
+- Omit the blank line before/after fences or headings.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6bc5620 and 682564d.

📒 Files selected for processing (1)
  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to source/{Public,Private,Classes}/*.ps1 : In comment-based help, each keyword must be indented 4 spaces and its text indented 8 spaces

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.md : Markdown: wrap lines at word boundaries when exceeding 80 characters; use 2 spaces for indentation

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
📚 Learning: 2025-08-17T09:48:55.756Z
Learnt from: CR
PR: dsccommunity/SqlServerDsc#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T09:48:55.756Z
Learning: Applies to **/*.ps1 : Use <# ... #> for multiline comments; indent the multiline text 4 spaces

Applied to files:

  • .github/instructions/dsc-community-style-guidelines-markdown.instructions.md
🪛 LanguageTool
.github/instructions/dsc-community-style-guidelines-markdown.instructions.md

[grammar] ~12-~12: There might be a mistake here.
Context: ...s/code blocks exceeding 80 characters - Ensure empty line before and after headings - ...

(QB_NEW_EN)


[grammar] ~12-~12: There might be a problem here.
Context: ...ure empty line before and after headings - Ensure empty line before and after code blocks...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~13-~13: There might be a mistake here.
Context: ... empty line before and after code blocks - Code blocks must specify language identi...

(QB_NEW_EN_OTHER)


[grammar] ~14-~14: There might be a mistake here.
Context: ...blocks must specify language identifiers ## Text Formatting - Parameters: bold ...

(QB_NEW_EN_OTHER)


[grammar] ~16-~16: Use correct spacing
Context: ...language identifiers ## Text Formatting - Parameters: bold - Values/literals: ...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~18-~18: There might be a mistake here.
Context: ...## Text Formatting - Parameters: bold - Values/literals: inline code - Resourc...

(QB_NEW_EN)


[grammar] ~19-~19: There might be a mistake here.
Context: ...Parameters: bold - Values/literals: inline code - Resource/module/product names: italic ...

(QB_NEW_EN)


[grammar] ~20-~20: There might be a mistake here.
Context: ...- Resource/module/product names: italic - Commands/files/paths: inline code

(QB_NEW_EN)


[grammar] ~21-~21: Use correct spacing
Context: ...names: italic - Commands/files/paths: inline code

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: dsccommunity.SqlServerDsc (Build Package Module)
  • GitHub Check: PSScriptAnalyzer

Comment thread .github/instructions/dsc-community-style-guidelines-markdown.instructions.md Outdated
Comment thread .github/instructions/dsc-community-style-guidelines-markdown.instructions.md Outdated
@johlju
Copy link
Copy Markdown
Member Author

johlju commented Aug 22, 2025

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Aug 22, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

1 participant