Add and maintain YAML frontmatter in Markdown files. Use this whenever creating or substantially editing any .md content in this repository.
Ensure every Markdown file created or substantially edited includes a YAML frontmatter block with consistent, searchable metadata.
When creating any .md file content (new file or major rewrite), include a YAML frontmatter block at the very top of the file with these fields:
title: Human-readable title (string)description: One-paragraph summary (string)category: One primary category (string)tags: List of keywords for discovery (array of strings) β see Tag Selection Guide belowstatus: One of Proposed, Working, Living (string)updated: Last meaningful edit date (ISO-8601 YYYY-MM-DD)related: Paths to closely related docs (array of strings)links_from: Paths that reference or should reference this doc (array of strings)Tags enable tag-based discovery β finding documents that bridge multiple concepts. Choose tags strategically:
async, error-handling, testing)retry, result-pattern, dependency-injection)polly, entity-framework, signalr)performance, security, resilience)error-handling not ErrorHandling)di and dependency-injection)# Document about async exception handling
tags: ["async", "error-handling", "exceptions", "task", "cancellation"]
# Document bridges: async β error-handling β cancellation
# Discoverable via: "async error handling", "cancellation exceptions", etc.
tags: ["csharp"] β not discoverabletags: ["code", "programming", "software"] β no signaltags: ["ErrorHandling", "error_handling"] β won't match searches.prompt.md under .github/prompts) may require a restricted frontmatter schema. In that case, keep the prompt frontmatter valid and record the required doc-metadata fields in the body.updated to today's date (ISO YYYY-MM-DD) when changes are non-trivial.related and links_from as workspace-relative paths (use / separators).links_from is allowed to be empty initially; populate it when known.Use this template when creating new Markdown files:
---
title: "<concise title>"
description: "<1β3 sentence summary>"
category: "<single category>"
tags: ["tag-one", "tag-two"]
status: "Proposed"
updated: "YYYY-MM-DD"
related: ["knowledge-base/README.md"]
links_from: ["README.md"]
---
Note: Prefer YAML inline arrays for tags, related, and links_from (for example tags: ["tag-one", "tag-two"]) to keep metadata compact.
If a file begins immediately with a heading (e.g., # Something), prepend the frontmatter block above it.
related and links_fromrelated should include peer docs that a reader should also see.links_from should include docs that link here, or that should link here once the docs are cleaned up.related: [] and/or links_from: [].