К основному содержанию
правило официальный · GitHub

markdown — правило для GitHub Copilot: форматирование и установка

Правило помогает GitHub Copilot писать и проверять Markdown-файлы по CommonMark 0.31.2. Оно применяется к файлам .md.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/instructions/markdown.instructions.md
Открыть на GitHub

Что делает markdown

Правило охватывает структуру Markdown-документа: заголовки, списки, цитаты, блоки кода, ссылки, изображения и HTML. Оно также задаёт правила для экранирования, выделения текста и переносов строк. Применение ограничено файлами **/*.md.

При редактировании и проверке учитываются детали CommonMark: например, голые URL не становятся автоссылками, а для блока кода с ограждением нужно использовать одинаковые символы и указать язык. Если документ должен работать по CommonMark, голый адрес стоит оформить как ссылку в угловых скобках или Markdown-ссылку.

Какие задачи решает

  • проверить заголовки и списки в Markdown-файле
  • оформить блок кода с языком и закрывающим ограждением
  • исправить синтаксис ссылок и изображений
  • найти ошибки в переносах строк и выделении текста

Примеры запросов агенту

  • Проверь этот .md-файл на соответствие CommonMark и исправь ошибки.
  • Оформи блоки кода в документе по правилам CommonMark.
  • Проверь ссылки и изображения в этом Markdown-файле.

Как установить markdown

Вручную: положить файлы

.github/instructions/markdown.instructions.md

Поле applyTo задаёт, к каким файлам применять

По шагам, с командами для каждой платформы: AGENTS.md и CLAUDE.md: что это, кто читает и какой выбрать

Вопросы о markdown

Как установить markdown в GitHub Copilot?

Добавьте правило в файл .github/instructions/markdown.instructions.md в проекте. Оно будет применяться к файлам .md.

Что делает markdown?

Задаёт правила CommonMark для создания и проверки Markdown-документов: от заголовков и списков до ссылок, кода и HTML.

Как правило обрабатывает голые URL?

По CommonMark адрес без угловых скобок не считается автоссылкой. Используйте <URL> или оформите адрес как Markdown-ссылку.

Исходный текст

markdown.instructions.md · MIT
---
description: 'Markdown formatting aligned to the CommonMark specification (0.31.2)'
applyTo: '**/*.md'
---

# CommonMark Markdown

Apply these rules per the [CommonMark spec 0.31.2](https://spec.commonmark.org/0.31.2/) when writing or reviewing `.md` files. CommonMark spec for reference only. Do not download CommonMark spec.

## Preliminaries

- A line ends at a newline (`U+000A`), carriage return (`U+000D`), or end of file. A blank line contains only spaces or tabs.
- Tabs behave as 4-space tab stops for block structure but are not expanded in content.
- Replace `U+0000` with the replacement character `U+FFFD`.
- **Backslash escapes**: `\` before any ASCII punctuation character renders the literal character. Not recognized in code spans, code blocks, or autolinks.
- **Entity and numeric character references**: `&amp;`, `&#123;`, `&#x7B;` — valid HTML5 entities only. Not recognized in code spans or code blocks. Cannot replace structural characters.

## Leaf Blocks

- **Thematic breaks**: 3+ matching `-`, `_`, or `*` characters on a line with 0–3 spaces indent. Only spaces or tabs allowed on the line otherwise. Can interrupt a paragraph.
- **ATX headings**: 1–6 `#` characters followed by a space or end of line. Optional closing `#` sequence (preceded by a space). 0–3 spaces indent allowed.
- **Setext headings**: Text underlined with `=` (level 1) or `-` (level 2). Cannot interrupt a paragraph — blank line required after a preceding paragraph.
- **Indented code blocks**: Lines indented 4+ spaces. Cannot interrupt a paragraph. Content is literal text, not parsed as Markdown.
- **Fenced code blocks**: Open with 3+ backticks or tildes (do not mix). Closing fence must use same character with at least the same count. Info string after backtick fence cannot contain backticks. Specify language identifier after the opening fence. Content is literal text.
- **HTML blocks**: Seven types defined by start/end tag conditions. Types 1–5 end at their matching end pattern. Type 6 ends at a blank line. Type 7 cannot interrupt a paragraph and ends at a blank line.
- **Link reference definitions**: `[label]: destination "title"`. Case-insensitive label matching (Unicode case fold). First definition wins for duplicate labels. Cannot interrupt a paragraph.
- **Paragraphs**: Consecutive non-blank lines not interpretable as other block constructs. Leading spaces up to 3 are stripped.
- **Blank lines**: Ignored between blocks; determine whether a list is tight or loose.

## Container Blocks

- **Block quotes**: Lines prefixed with `>` (optionally followed by a space). Lazy continuation allowed for paragraph text only. A blank line separates consecutive block quotes.
- **List items**: Bullet markers (`-`, `+`, `*`) or ordered markers (1–9 digits + `.` or `)`). Content column determined by marker width + spaces to first non-whitespace (1–4 spaces after marker). Sublists must be indented to the content column. An ordered list interrupting a paragraph must start with `1`.
- **Lists**: Sequence of same-type list items. Changing bullet character or ordered delimiter starts a new list. A list is loose if any item is separated by a blank line.

## Inlines

- **Code spans**: Backtick-delimited inline code. Line endings convert to spaces. Leading and trailing space stripped when both present (unless content is all spaces). Backslash escapes are literal inside code spans.
- **Emphasis and strong emphasis**: `*`/`_` for `<em>`, `**`/`__` for `<strong>`. `_` is not allowed for intraword emphasis. Left-flanking / right-flanking delimiter run rules apply. Delimiter run length sum must not be a multiple of 3 when one delimiter can both open and close (unless both lengths are multiples of 3).
- **Links**: Inline `[text](url "title")` or reference `[text][label]` / `[text][]` / `[text]`. Link text may contain inlines but not other links. Destination in `<…>` allows spaces; without angle brackets, balanced parentheses allowed. No whitespace between link text and `(` or `[`.
- **Images**: `![alt](src "title")` — same syntax as links prefixed with `!`. Alt text is the plain-string content of the description.
- **Autolinks**: `<URI>` or `<email>` in angle brackets. Scheme must be 2–32 characters starting with an ASCII letter. Bare URLs are not auto-linked in CommonMark (requires angle brackets).
- **Raw HTML**: Open/close tags, comments (`<!--` … `-->`), processing instructions (`<?` … `?>`), declarations (`<!` … `>`), CDATA (`<![CDATA[` … `]]>`) are passed through as literal HTML.
- **Hard line breaks**: Two+ trailing spaces or `\` before a line ending. Not recognized in code spans or HTML tags. Does not work at end of a block.
- **Soft line breaks**: A line ending not preceded by two+ spaces or `\`. Rendered as a space in browsers.

## Validation Checklist

- [ ] ATX headings use 1–6 `#` followed by a space.
- [ ] Fenced code blocks specify a language identifier and use matching fence characters and counts.
- [ ] Backtick fence info strings do not contain backtick characters.
- [ ] Indented code blocks are preceded by a blank line (they cannot interrupt a paragraph).
- [ ] Emphasis uses `*` for intraword; `_` only at word boundaries.
- [ ] Links use `[text](url)` or reference syntax with no whitespace before `(` or `[`.
- [ ] Images include non-empty alt text.
- [ ] Autolinks use angle brackets (`<URL>`); bare URLs are not CommonMark autolinks.
- [ ] No unbalanced parentheses in bare link destinations (use `<…>` or escape).
- [ ] HTML block type 7 (custom/inline-level tags) is preceded by a blank line when following a paragraph.

© github · MIT · github/awesome-copilot

Похожие правила IDE

Все правила IDE по теме «Тексты и документация» →

Из того же набора928

Весь набор →
mongo-dba Настраивает GitHub Copilot для роли администратора MongoDB: помогает управлять кластерами, настраивать индексы, бэкапы и безопасность с учётом MongoDB 7.x+. ★ 40 418звёзд репо microsoft-foundry Правило направляет GitHub Copilot при создании агентов Microsoft Foundry на Python SDK v2 и предотвращает генерацию устаревшего API. ★ 40 418звёзд репо memory-bank Правило заводит папку memory-bank/ с документацией проекта, чтобы Copilot подхватывал контекст заново после сброса сессии. ★ 40 418звёзд репо mcp-m365-copilot Задаёт правила разработки декларативных агентов и плагинов для Microsoft 365 Copilot на базе Model Context Protocol. Помогает настроить схему, авторизацию и карточки Adaptive Cards. ★ 40 418звёзд репо markdown-gfm Правило задаёт Copilot синтаксис GitHub Flavored Markdown, когда он пишет или проверяет файлы .md. Пригодится, если документация должна проходить рендер на GitHub без сюрпризов. ★ 40 418звёзд репо markdown-content-creation Задаёт стандарты вёрстки блоговых постов в Markdown: запрещает заголовки H1, требует строгий YAML front matter и форматирует списки с таблицами. ★ 40 418звёзд репо markdown-accessibility Правило проверяет Markdown-файлы на барьеры доступности и предлагает конкретные исправления. Пригодится для ревью документации и профилей GitHub. ★ 40 418звёзд репо lwc Задаёт стандарты разработки Lightning Web Components для Salesforce: файловую структуру, замену HTML на компоненты SLDS и правила реактивности. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой