ci: add markdownlint infrastructure#159
Draft
scottschreckengaust wants to merge 7 commits intomainfrom
Draft
Conversation
Add .markdownlint-cli2.yaml with all current violations temporarily disabled and tiered for incremental re-enablement by prompt impact. Add ci.yml workflow with markdownlint-cli2-action on pull_request, push to main, and workflow_dispatch. Add .pre-commit-config.yaml for optional local pre-commit linting. No markdown content changes — violation fixes planned for follow-up PRs.
8380b3d to
b121070
Compare
Change `## Code of Conduct` to `# Code of Conduct` (H2 → H1) to satisfy MD041/first-line-heading. Only violation was outside aidlc-rules/ — zero LLM prompt impact. Rule re-enabled in config.
Fix 585 violations across 25 non-LLM-prompt files: - MD028: fix 4 blank lines in blockquotes (WORKING-WITH-AIDLC.md) - MD040: add language specifiers to 84 fenced code blocks - MD060: normalize table pipe spacing across 13 files (322 fixes) - Auto-fix: MD009, MD012, MD022, MD029, MD031, MD032, MD047, MD049 Re-enable 3 rules now at zero violations: MD049, MD034, MD028. Update remaining violation counts to aidlc-rules/-only totals. No files under aidlc-rules/ were modified — zero LLM prompt impact.
Set MD060 to "aligned" style in project config — all table columns are now width-padded with vertically aligned pipes. Add aidlc-rules/.markdownlint-cli2.yaml to suppress MD060 in LLM prompt files pending separate review. Aligned tables in 14 files outside aidlc-rules/ using automated formatter. Zero aidlc-rules/ content files modified.
Contributor
|
Update git-cliff body template: - Add blank line after ### group headings (MD022/MD032) - Add postprocessor to collapse triple+ blank lines (MD012) - Set trim = false so leading \n creates inter-body separators Add CHANGELOG.md to markdownlint ignores since git-cliff postprocessors run per-body and cannot control inter-body spacing or trailing whitespace. Regenerate CHANGELOG.md with improved template.
Move all temporarily disabled rules from the top-level config into aidlc-rules/.markdownlint-cli2.yaml since violations exist only in that directory. The top-level config now contains only permanently disabled rules and global style settings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds markdownlint-cli2 infrastructure and fixes all violations outside
aidlc-rules/. Remaining violations exist only in LLM prompt files and are temporarily disabled in config for incremental remediation..markdownlint-cli2.yaml— project rule configuration with tiered exceptions.github/workflows/ci.yml— CI workflow (pull_request,pushto main,workflow_dispatch).pre-commit-config.yaml— optional local pre-commit hookaidlc-rules/changes)Why a separate
ci.yml(notpull-request-lint.yml)pull-request-lint.ymlusespull_request_targetand deliberately never checks out PR code — it only inspects metadata (title, labels, body). Running markdownlint requires checking out code, which must usepull_requestto avoid running untrusted PR code in a privileged base-branch context.Violation Report
Starting point: 3,118 violations across 57 files (603,487 chars total)
What this PR resolves
aidlc-rules/Rules permanently disabled (1,674 violations)
MD013MD033<img>tags for screenshots/badges in READMEMD024MD036Rules fully re-enabled (0 violations)
MD041CODE_OF_CONDUCT.mdH2→H1MD049_→*outsideaidlc-rules/; zero violations insideMD034aidlc-rules/; zero violations insideMD028WORKING-WITH-AIDLC.mdblockquote continuations; zero insideIncremental Remediation Plan — Remaining
aidlc-rules/ViolationsAll 859 remaining violations are exclusively inside
aidlc-rules/(LLM prompt instructions). Each follow-up PR re-enables one rule and fixes its violations, ordered by minimal prompt impact.Tier 1: Zero prompt impact — invisible whitespace (15 violations)
MD009MD012MD047Tier 2: Zero prompt impact — formatting normalization (18 violations)
MD029MD026##markers, not:Tier 3: Zero prompt impact — blank line structure (731 violations)
MD022##regardless of whitespaceMD032MD031```markersTier 4: Minimal prompt impact — table formatting (34 violations)
MD060Tier 5: Low prompt impact — structural cosmetic (42 violations)
MD046MD007Tier 6: Needs review — adds content or changes structure (31 violations)
MD040MD025Permanently disabled — not planned
MD013MD033<img>tags needed for image sizing/alignmentMD024MD036Total summary
aidlc-rules/)Licenses
All dependencies are MIT licensed:
Test plan
ci.ymlworkflow runs successfully on this PR (0 violations expected)npx markdownlint-cli2 "**/*.md"produces 0 errors locally.pre-commit-config.yamlworks withpre-commit run --all-filesaidlc-rules/were modifiedaidlc-rules/By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.