Skip to content

feat(textlint): gate hard-wrapped Markdown prose - #658

Merged
shunk031 merged 1 commit into
mainfrom
feat/textlint-markdown-gate
Aug 20, 2026
Merged

feat(textlint): gate hard-wrapped Markdown prose#658
shunk031 merged 1 commit into
mainfrom
feat/textlint-markdown-gate

Conversation

@shunk031

Copy link
Copy Markdown
Owner

Summary

This adds a shared chezmoi-managed textlint configuration and a repository-local Node pre-commit hook that autofixes hard-wrapped Markdown prose. The deterministic document review invokes the same rules with JSON output, reports quoted findings, and fails when textlint is unavailable or returns a fatal error. The seven salvaged fixtures preserve the exact unwrap result, blockquote skip behavior, and document-global spacing behavior. Please review and approve the shared configuration, hook behavior, and fixture-preserving changes.

Validation

  • uv run --python 3.14.6 --no-project python -m unittest discover -s tests/python -p 'test_*.py' (94 tests passed)
  • OAI_API_KEY=true prek run textlint-markdown --files .tmp-textlint-validation.md (passed and fixed the disposable hard wrap)
  • Direct textlint checks from a different working directory matched unwrap_expected.txt, preserved blockquote_expected.txt, and matched spacing_side_effect_expected.txt byte-for-byte.

Research basis

Use a shared chezmoi-managed rule configuration for the local Node hook and the deterministic document review. Keep textlint failures visible when the engine is unavailable, and preserve the reference fixtures for autofix and rule caveats.

Co-authored-by: Codex <noreply@openai.com>
@shunk031
shunk031 force-pushed the feat/textlint-markdown-gate branch from e9c1173 to 0d6ee27 Compare August 20, 2026 03:08
@shunk031
shunk031 merged commit aaf4e36 into main Aug 20, 2026
4 checks passed
@shunk031
shunk031 deleted the feat/textlint-markdown-gate branch August 20, 2026 03:14
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