From 9efa5b820befdef226892e0fd5bcc5844d88e967 Mon Sep 17 00:00:00 2001 From: Kevin Tang <73975146+vt128@users.noreply.github.com> Date: Sat, 13 Jun 2026 10:35:48 +0800 Subject: [PATCH] [chore] disable the markdownlint line-length rule (MD013) Line-length is a pointless lint for prose documentation: it cannot wrap tables or long function signatures, and hard-wrapping sentences hurts readability in most renderers. Add .markdownlint.json turning MD013 off (all other rules stay on), so Codacy's markdownlint stops flagging README prose width. CLAUDE.md's doc standard records that prose is not wrapped. Co-Authored-By: Claude Fable 5 --- .markdownlint.json | 4 ++++ CLAUDE.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .markdownlint.json diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..b077f0e --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,4 @@ +{ + "default": true, + "MD013": false +} diff --git a/CLAUDE.md b/CLAUDE.md index da38b68..c1a0101 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -78,7 +78,7 @@ Required structure, in order: 5. **Details & examples** — per function or group: the signature, parameters only where non-obvious, the return, **what it errors on** (the honest-boundary principle), and at least one **runnable example ending in `# Output:`**. 6. **Notes / boundaries** — engine, determinism, limits, differences from the mirrored API. -Style: names always in backticks; lead with the table before prose; examples real, minimal, runnable; drop framework boilerplate (no empty `#### Parameters` table for a one-arg function — fold into a sentence); state errors and edge behavior explicitly; flag any non-snake_case name (e.g. http's `postForm`). +Style: names always in backticks; lead with the table before prose; examples real, minimal, runnable; drop framework boilerplate (no empty `#### Parameters` table for a one-arg function — fold into a sentence); state errors and edge behavior explicitly; flag any non-snake_case name (e.g. http's `postForm`). Prose is **not** hard-wrapped — the line-length lint (markdownlint `MD013`) is disabled in `.markdownlint.json`; wrap nothing for column width, since wrapping breaks tables and long signatures and hurts readability. **Doc coverage check** — `tools/doccov/coverage.star` + `TestDocCoverage` enforce that every member of every `lib/*` module appears in its README (matched as a backtick-quoted identifier). The Go test enumerates the authoritative surface (each module's registered members across the Module/Struct/flat shapes) and runs the `.star` matcher through a Machine, so the check **dogfoods the `regex` module**. Run it with `go test -run TestDocCoverage -v .` — the report lists any undocumented members. (Scope: `lib/*` modules; the go.starlark.net-backed `math`/`struct`/`time` have no lib README and are skipped. Type methods are a standard requirement verified by review, not by the automated member check.)