Markdownlint Skill
Contents
- •Markdownlint Skill
Project Configuration
IMPORTANT: This project uses .markdownlint.yaml. Always follow these rules:
| Rule | Setting | Notes |
|---|---|---|
| MD040 | Enabled | Always specify language for code fences |
| MD007 | 2 spaces | List indentation |
| MD024 | Siblings only | Duplicate headings allowed under different parents |
| MD013 | Disabled | No line length restrictions |
| MD033 | Disabled | Inline HTML allowed |
| MD041 | Disabled | Files don't need to start with H1 |
| MD038 | Disabled | Spaces in code spans allowed |
| MD036 | Disabled | Emphasis as heading allowed |
Basic Usage
bash
# Lint files markdownlint-cli2 "**/*.md" markdownlint-cli2 README.md # Auto-fix issues markdownlint-cli2 --fix "**/*.md" # Exclude directories markdownlint-cli2 "**/*.md" "#node_modules" "#vendor"
Common Operations
Lint Specific Paths
bash
markdownlint-cli2 README.md # Single file markdownlint-cli2 "docs/**/*.md" # Directory markdownlint-cli2 "*.md" "docs/**/*.md" # Multiple patterns markdownlint-cli2 . # Current directory
Auto-Fix
bash
markdownlint-cli2 --fix "**/*.md" # Fix all files markdownlint-cli2 --fix README.md # Fix single file
Process stdin
bash
cat README.md | markdownlint-cli2 -
Workflow
Standard Lint-Fix-Verify Cycle
- •Run lint check:
markdownlint-cli2 "**/*.md" - •Review reported issues
- •Apply auto-fix:
markdownlint-cli2 --fix "**/*.md" - •Re-run lint to verify:
markdownlint-cli2 "**/*.md" - •Review changes:
git diff - •Commit when satisfied
Safe Fix with Backup
- •Stage current state:
git add . - •Create backup commit:
git commit -m "Backup before markdownlint fix" - •Apply fixes:
markdownlint-cli2 --fix "**/*.md" - •Review changes:
git diff - •Commit fixes or reset:
git add . && git commit -m "Apply markdownlint fixes"
Cross-Platform Usage
For maximum compatibility:
- •Quote glob patterns:
markdownlint-cli2 "**/*.md" - •Use
#for negation:markdownlint-cli2 "**/*.md" "#vendor"(not!) - •Use forward slashes:
docs/**/*.md(works on all platforms) - •Stop option processing:
markdownlint-cli2 -- "special-file.md"
Troubleshooting
No Files Matched
- •Verify glob patterns are quoted
- •Check file extensions (
.mdvs.markdown) - •Ensure negated patterns don't exclude everything
Too Many Issues
- •Start with auto-fix:
markdownlint-cli2 --fix "**/*.md" - •Disable problematic rules temporarily
- •Address remaining issues incrementally
Configuration Not Loading
- •Verify configuration file name matches expected patterns
- •Validate JSON/YAML syntax
- •Use
--configto explicitly specify the file
References
- •Rules Reference - Complete rule descriptions
- •Configuration Examples - Config templates and patterns
- •Official Documentation
- •All Rules
Installation
bash
npm install -g markdownlint-cli2 # npm brew install markdownlint-cli2 # Homebrew markdownlint-cli2 --help # Verify installation