Add normalizeMd() utility that fixes common markdownlint violations in GSD-generated .planning/ files, improving IDE readability: MD022 — Blank lines around headings MD031 — Blank lines around fenced code blocks MD032 — Blank lines around lists MD012 — No multiple consecutive blank lines (collapsed to max 2) MD047 — Files end with a single newline Applied at key write points: - state.cjs: writeStateMd() normalizes STATE.md on every write - frontmatter.cjs: frontmatter set/merge commands normalize output - template.cjs: template fill normalizes generated plan/summary files - milestone.cjs: MILESTONES.md archive writes normalized Includes 14 new tests covering all rules, edge cases (CRLF, frontmatter, ordered lists, code blocks, real-world STATE.md patterns). Closes #1040
33 KiB
33 KiB