Skip to content

ci: implement strict markdown linting pipeline and standardize docs#73

Merged
JacksonFergusonDev merged 2 commits intomainfrom
markdownlint
Feb 22, 2026
Merged

ci: implement strict markdown linting pipeline and standardize docs#73
JacksonFergusonDev merged 2 commits intomainfrom
markdownlint

Conversation

@JacksonFergusonDev
Copy link
Copy Markdown
Owner

Overview

This PR introduces a strict, deterministic Markdown linting pipeline to the repository. The objective is to enforce structural consistency across all documentation, ensure predictable Abstract Syntax Tree (AST) generation for rendering engines, and minimize Git diff entropy during routine documentation updates.

Changes Implemented

  • Configuration: Added .markdownlint.yaml with project-specific overrides.
    • Disabled MD013 (line length) and MD033 (inline HTML) to support hard-wrapped text and custom visual components.
    • Enforced MD029 ("one" style) for ordered lists to isolate delta noise during sequential refactoring.
    • Enforced MD004 ("dash" style) for unordered lists.
  • Continuous Integration: Integrated markdownlint-cli into the GitHub Actions workflow (python-app.yml) to enforce compliance on all future PRs.
  • Developer Experience: Added markdownlint-cli to .pre-commit-config.yaml with the --fix flag to automatically resolve formatting deviations prior to commit.
  • Documentation Refactor: Executed a repository-wide sweep to bring all existing .md files into compliance with the new AST constraints (standardized list delimiters, resolved trailing whitespace, and fixed heading incrementation).

Impact

  • CI will now fail on malformed Markdown.
  • Reordering numbered lists will no longer generate cascading diffs.
  • Formatting is handled automatically client-side via the pre-commit hook.

Introduced strict Markdown linting to enforce structural consistency and valid AST generation across all documentation.

- Added `.markdownlint.yaml` with project-specific overrides (disabling MD013 and MD033 to permit hard-wrapped lines and necessary inline HTML).
- Enforced MD004 (dash unordered lists) and MD029 ("one" style ordered lists) to minimize delta entropy in future diffs.
- Integrated `markdownlint-cli` into the GitHub Actions CI pipeline (`python-app.yml`).
- Appended `markdownlint-cli` to `.pre-commit-config.yaml` with the `--fix` argument to automate formatting resolution.
- Executed the auto-fix routine across all existing `.md` files to resolve trailing spaces, blank line constraints (MD031, MD032), and basic heading styles (MD003).
Refactored documentation to comply with linting rules requiring manual semantic intervention.

- Converted sequential ordered lists (1., 2., 3.) to the uniform "one" style (1., 1., 1.) to satisfy MD029 and isolate future diff noise.
- Standardized all unordered list delimiters to dashes to satisfy MD004.
- Realigned heading hierarchies to ensure strict sequential incrementation (MD001), preventing anomalous AST jumps.
@JacksonFergusonDev JacksonFergusonDev merged commit fc88584 into main Feb 22, 2026
1 check passed
@JacksonFergusonDev JacksonFergusonDev deleted the markdownlint branch February 22, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant