Tom Boucher
460f92e727
feat: normalize generated markdown for markdownlint compliance (#1112)
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
2026-03-16 13:39:34 -06:00
..
2026-03-14 21:25:02 -06:00
2026-03-15 19:31:01 -06:00
2026-03-14 21:30:09 -06:00
2026-03-15 19:31:28 -06:00
2026-03-15 10:08:57 -06:00
2026-03-16 09:59:56 -06:00
2026-03-16 13:39:34 -06:00
2026-02-26 05:49:31 +10:00
2026-02-27 11:34:36 -06:00
2026-02-26 05:49:31 +10:00
2026-03-12 11:36:43 -06:00
2026-02-27 11:34:36 -06:00
2026-03-15 19:30:28 -06:00
2026-03-16 11:39:54 -06:00
2026-03-15 11:42:12 -06:00
2026-03-14 21:57:48 -06:00
2026-03-15 11:45:25 -06:00
2026-03-14 17:41:19 -06:00
2026-03-02 16:07:53 -06:00
2026-03-15 11:40:08 -06:00
2026-02-26 05:47:19 +10:00