Skip to content

refactor(scripts): Consolidate common functions into shared lib #50

@WilliamBerryiii

Description

@WilliamBerryiii

Summary

PR #22 introduced a changed-files-only workaround in the markdown linting and link-check workflows to prevent pre-existing errors from blocking new PRs. This issue tracks the work to remove that workaround after all pre-existing errors are resolved.

Current Workarounds

1. Changed-Files-Only Linting

Files affected:

  • .github/workflows/markdown-lint.yml
  • .github/workflows/markdown-link-check.yml

Both workflows now:

  • Fetch full git history (fetch-depth: 0)
  • Detect changed markdown files via git diff
  • Run linting only on changed files (or all files on main branch)
  • Set has_changes output to skip execution when no markdown files changed

2. Lint Ignores Added

File: .markdownlint-cli2.jsonc

Added ignores for:

  • LICENSE.md - MIT license with non-standard formatting
  • .github/ISSUE_TEMPLATE.md - Legacy template with intentional formatting

Original Pre-Existing Errors (38 total)

The following errors existed before PR #22 and required the workaround:

README.md (17 errors)

Line Rule Description
3:501 MD013/line-length Line length exceeded (522 chars vs 500 max)
13:1 MD007/ul-indent Unordered list indentation (4 vs expected 2)
14:1 MD007/ul-indent Unordered list indentation (4 vs expected 2)
15:1 MD007/ul-indent Unordered list indentation (4 vs expected 2)
16:1 MD007/ul-indent Unordered list indentation (4 vs expected 2)
25 MD032/blanks-around-lists Missing blank line around list
33 MD036/no-emphasis-as-heading Emphasis used instead of heading
57 MD022/blanks-around-headings Missing blank line below heading
58 MD032/blanks-around-lists Missing blank line around list
62 MD022/blanks-around-headings Missing blank line below heading
63 MD032/blanks-around-lists Missing blank line around list
115:1 MD004/ul-style Mixed list style (asterisk vs dash)
121:1 MD004/ul-style Mixed list style (asterisk vs dash)
122:1 MD004/ul-style Mixed list style (asterisk vs dash)
123:1 MD004/ul-style Mixed list style (asterisk vs dash)
124:1 MD004/ul-style Mixed list style (asterisk vs dash)
125:1 MD004/ul-style Mixed list style (asterisk vs dash)

.github/ISSUE_TEMPLATE.md (12 errors)

Line Rule Description
4:51 MD026/no-trailing-punctuation Trailing punctuation in heading
4 MD041/first-line-h1 First line should be top-level heading
7 MD003/heading-style Heading style mismatch (atx vs setext)
7 MD022/blanks-around-headings Missing blank line below heading
8 MD031/blanks-around-fences Missing blank line around code fence
8 MD040/fenced-code-language Missing language specifier
15 MD003/heading-style Heading style mismatch
18 MD003/heading-style Heading style mismatch
21 MD003/heading-style Heading style mismatch
24 MD003/heading-style Heading style mismatch
24 MD022/blanks-around-headings Missing blank line below heading
27 MD003/heading-style Heading style mismatch
30 MD003/heading-style Heading style mismatch

.github/copilot-instructions.md (4 errors)

Line Rule Description
16 MD032/blanks-around-lists Missing blank line around list
21 MD032/blanks-around-lists Missing blank line around list
24 MD032/blanks-around-lists Missing blank line around list
31 MD032/blanks-around-lists Missing blank line around list

.github/instructions/commit-message.instructions.md (2 errors)

Line Rule Description
41 MD012/no-multiple-blanks Multiple consecutive blank lines
65:18 MD038/no-space-in-code Spaces inside code span

LICENSE.md (2 errors)

Line Rule Description
1 MD041/first-line-h1 First line should be top-level heading
21:12 MD047/single-trailing-newline Missing trailing newline

Tasks to Complete

  • Verify all markdown files pass linting on main branch after PR feat(.github): Add GitHub workflows from hve-core #22 merge
  • Remove changed-files-only detection from markdown-lint.yml
  • Remove changed-files-only detection from markdown-link-check.yml
  • Review and potentially remove LICENSE.md from ignore list (standard MIT format)
  • Review and potentially remove .github/ISSUE_TEMPLATE.md from ignore list
  • Consider migrating to .github/ISSUE_TEMPLATE/ directory format
  • Verify CI passes with full-repo linting enabled

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationDocumentation improvements (alias for docs)tech-debtTechnical debt reduction

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions