Skip to content

fix(settings): remove markdownlint exclusion for collections/*.collection.md#1372

Open
PratikWayase wants to merge 1 commit intomicrosoft:mainfrom
PratikWayase:fix/markdownlint-collections
Open

fix(settings): remove markdownlint exclusion for collections/*.collection.md#1372
PratikWayase wants to merge 1 commit intomicrosoft:mainfrom
PratikWayase:fix/markdownlint-collections

Conversation

@PratikWayase
Copy link
Copy Markdown
Contributor


Pull Request

Description

Removed the exclusion for collections/*.collection.md from markdownlint configuration and fixed all related lint violations across collection files.

Changes include:

  • Added top-level headings to all collection files (MD041)
  • Removed multiple consecutive blank lines (MD012)
  • Replaced em dashes with compliant alternatives
  • Standardized formatting and ensured newline consistency
  • Updated Validate-MarkdownFrontmatter.ps1 to align with updated linting rules

Related Issue(s)

Closes #1341


Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)
  • Copilot skill (.github/skills/*/SKILL.md)

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Testing

  • Ran: npx markdownlint-cli2 "collections/*.collection.md" → 0 errors
  • Ran: npm run lint:md → 0 errors
  • Verified no regressions in markdown linting across repository

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (not applicable)

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Skill structure validation: npm run validate:skills
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps
  • Plugin freshness: npm run plugin:generate
  • Docusaurus tests: npm run docs:test

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues (none added)
  • Security-related scripts follow the principle of least privilege

@PratikWayase PratikWayase requested a review from a team as a code owner April 16, 2026 05:21
@katriendg
Copy link
Copy Markdown
Contributor

Thanks for your contribution @PratikWayase - I believe it will be good to hold off the changes on the collection MD files until PR #1316 is merged as it touches the same files, and you may have some conflicts. FYI @WilliamBerryiii

@WilliamBerryiii WilliamBerryiii changed the title Fix : Remove markdownlint exclusion for collections/*.collection.md #1341 fix(settings): remove markdownlint exclusion for collections/*.collection.md Apr 23, 2026
@katriendg
Copy link
Copy Markdown
Contributor

Thanks for your work on this one @PratikWayase, nothing we have a PR out that needs to be merged first, and simplifies some of the work: #1316. Then this one can be rebased and simplified:

After #1316 merges, the auto-generated artifact tables will be lint-compliant by construction. The only pieces of which would still be needed are:

  • Removing the .markdownlint-cli2.jsonc exclusion
  • Removing the Validate-MarkdownFrontmatter.ps1 exclusion
  • Fixing any em dashes remaining in the hand-authored intro sections (above the markers)

Thank you for your patience

Copy link
Copy Markdown
Member

@WilliamBerryiii WilliamBerryiii left a comment

Choose a reason for hiding this comment

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

Thank you so much for picking up #1341, @PratikWayase! The em-dash cleanup, the conversion away from bold-prefix list items, and adding H1s for MD041 all landed cleanly across the 14 collection files, and that is exactly the writing-style direction we have been moving toward. We really appreciate the care you put into this.

Before we merge, we left a few inline suggestions we would love your help tightening up. Happy to pair on any of these if it would be easier.

One last small note for after we land this: please run npm run plugin:generate as the final step so the plugins/ outputs and extension/README.*.md regenerate from the updated collection bodies. Those files are generated, so they need to flow through after the source changes.

Thank you again for tackling this, @PratikWayase. The writing-style improvements here are genuinely useful, and we are looking forward to getting this merged once the items below are sorted. Let us know if you would like a hand with any of them.

@@ -33,7 +33,6 @@ param(
'extension/README.md',
'extension/README.*.md',
'extension/templates/README.template.md',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Heads up: removing collections/*.collection.md from $ExcludePaths here is the right direction, but the 14 collection files in this PR do not yet have frontmatter. FrontmatterValidation.psm1 (around line 866) will emit No frontmatter found for each one, and because package.json runs lint:frontmatter with -WarningsAsErrors, npm run lint:frontmatter and npm run lint:all will exit non-zero in CI.

Two paths forward, whichever you prefer:

  1. Add minimal frontmatter (title and description) to each collections/*.collection.md file. That also lets you drop the generic H1s flagged below.
  2. Restore the collections/*.collection.md exclusion in both this file and .markdownlint-cli2.jsonc, and defer the frontmatter work to a follow-up.

Glad to review either approach.

Comment thread .markdownlint-cli2.jsonc
@@ -9,7 +9,6 @@
"extension/README.md",
"extension/README.*.md",
"extension/CHANGELOG.md",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Pairs with the $ExcludePaths change in scripts/linting/Validate-MarkdownFrontmatter.ps1. If you take option 2 in that thread (restore the exclusion), please restore "collections/*.collection.md", here as well so the two stay in sync.

@@ -1,9 +1,15 @@
Manage Azure DevOps work items, monitor builds, create pull requests, and convert requirements documents into structured work item hierarchies — all from within VS Code.
# ado.collection
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Filename-style H1s like # ado.collection, # hve-core.collection, and so on satisfy MD041, but they also become the title shown in the generated extension/README.<id>.md. If you go with option 1 on the frontmatter thread, a human-readable title: in frontmatter (for example title: ADO Collection) lets us drop the filename-style H1 entirely. Otherwise a short prose H1 like # ADO Collection would read more naturally. Same suggestion applies to the other 13 collection files.


Manage Azure DevOps work items, monitor builds, create pull requests, and convert requirements documents into structured
work item hierarchies : all from within VS
Code.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A few of the collection files now wrap mid-phrase and leave single words or digits on their own lines (for example interaction, loops, ceremony, and the standalone 1, 2, 3 in the numbered lists elsewhere in this PR). Because these files flow through scripts/extension/Prepare-Extension.ps1 into extension/README.<id>.md, the orphan tokens show up in the published extension READMEs as well.

Two options that would both work for us:

  1. Relax the wrap by adding an MD013 override for collections/*.collection.md in .markdownlint-cli2.jsonc.
  2. Re-flow the affected paragraphs and lists so the wrap falls on natural phrase boundaries.

Implementation
spaces.

> Preview : Core features are complete and functional. Suitable for adoption with the understanding that refinements may
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The original > **Preview** ... line became > Preview : Core features..., which renders as a plain blockquote. Since we are standardizing on GFM alerts, could we convert it to:

> [!NOTE]
> Core features are complete and functional. Suitable for adoption with the understanding that refinements may ...

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.

Remove markdownlint exclusion for collections/*.collection.md

3 participants