@redocly/recheck 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +160 -95
- package/dist/cli.js +110 -99
- package/dist/cli.js.map +1 -1
- package/dist/commands/baseline.d.ts +1 -1
- package/dist/commands/baseline.js +1 -1
- package/dist/commands/markdoc-schema.js +6 -6
- package/dist/commands/markdoc-schema.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +1 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/config/presets/index.d.ts.map +1 -1
- package/dist/config/presets/index.js +2 -0
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/technical-english.d.ts +34 -0
- package/dist/config/presets/technical-english.d.ts.map +1 -0
- package/dist/config/presets/technical-english.js +79 -0
- package/dist/config/presets/technical-english.js.map +1 -0
- package/dist/core/baseline.js +0 -0
- package/dist/core/baseline.js.map +1 -1
- package/dist/data/markdoc-realm-schema.d.ts.map +1 -1
- package/dist/data/markdoc-realm-schema.js +22 -0
- package/dist/data/markdoc-realm-schema.js.map +1 -1
- package/dist/parser/markdoc/extract-statics.d.ts +1 -1
- package/dist/parser/markdoc/extract-statics.js +2 -2
- package/dist/parser/markdoc/extract-statics.js.map +1 -1
- package/dist/rules/scope/length.d.ts.map +1 -1
- package/dist/rules/scope/length.js +5 -1
- package/dist/rules/scope/length.js.map +1 -1
- package/dist/rules/scope/metric.js +1 -1
- package/dist/rules/scope/metric.js.map +1 -1
- package/dist/scopes/extractor.d.ts.map +1 -1
- package/dist/scopes/extractor.js +89 -28
- package/dist/scopes/extractor.js.map +1 -1
- package/dist/scopes/sentences.d.ts.map +1 -1
- package/dist/scopes/sentences.js +85 -26
- package/dist/scopes/sentences.js.map +1 -1
- package/examples/appendices/technical-english.appendix.yaml +33 -0
- package/examples/technical-english.yaml +134 -0
- package/package.json +13 -4
- package/presets/technical-english/PROVENANCE.md +44 -0
- package/skills/recheck-config/SKILL.md +4 -4
- package/skills/recheck-lint/SKILL.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"AAMA,4EAA4E;AAC5E,0EAA0E;AAC1E,iDAAiD;AACjD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,4CAA4C;AAC5C,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IACzD,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IACzC,wEAAwE;IACxE,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;QACrB,sEAAsE;QACtE,gEAAgE;QAChE,sEAAsE;QACtE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,wEAAwE;IACxE,eAAe;IACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAAE,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,+BAA+B;AAC/B,MAAM,OAAO,GAAG,mFAAmF,CAAC;AAEpG,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,
|
|
1
|
+
{"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Appendix — candidates NOT shipped by recheck/technical-english (hand-maintained)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# This file is appended verbatim to the generated example above by
|
|
5
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs).
|
|
6
|
+
#
|
|
7
|
+
# Full detail and reasons: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
8
|
+
#
|
|
9
|
+
# ------------------------------------------------------------------------------
|
|
10
|
+
# NOT SHIPPED — the STE approved-word dictionary
|
|
11
|
+
# ------------------------------------------------------------------------------
|
|
12
|
+
# The dictionary is part of the copyrighted standard; encoding it would
|
|
13
|
+
# reproduce the standard in part. For general word-choice checking, compose
|
|
14
|
+
# this preset with recheck/plain-language.
|
|
15
|
+
#
|
|
16
|
+
# ------------------------------------------------------------------------------
|
|
17
|
+
# NOT SHIPPED — noun clusters, present tense, one instruction per sentence
|
|
18
|
+
# ------------------------------------------------------------------------------
|
|
19
|
+
# Noun clusters need part-of-speech tagging; a tense rule fights legitimate
|
|
20
|
+
# `will` in changelogs and roadmaps; one-instruction-per-sentence is not
|
|
21
|
+
# reliably detectable (sentence length is the proxy).
|
|
22
|
+
#
|
|
23
|
+
# ------------------------------------------------------------------------------
|
|
24
|
+
# TIGHTEN for procedure-only content
|
|
25
|
+
# ------------------------------------------------------------------------------
|
|
26
|
+
# The shipped default is the descriptive-text bound (25 words). A project
|
|
27
|
+
# whose corpus is procedures overrides to the procedural bound:
|
|
28
|
+
#
|
|
29
|
+
# technical-english/sentence-length:
|
|
30
|
+
# assertions:
|
|
31
|
+
# length:
|
|
32
|
+
# unit: words
|
|
33
|
+
# max: 20
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# recheck/technical-english — ASD-STE100-inspired writing principles, as a config
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# Source: Publicly documented principles of ASD-STE100 Simplified
|
|
5
|
+
# Technical English. https://www.asd-ste100.org
|
|
6
|
+
# Notice: ASD-STE100 Simplified Technical English is a Copyright and
|
|
7
|
+
# a Trade Mark of ASD, Brussels, Belgium. This preset is an
|
|
8
|
+
# independent work; ASD and the STEMG do not review, approve,
|
|
9
|
+
# certify, or endorse it. It reproduces no part of the
|
|
10
|
+
# standard.
|
|
11
|
+
# Provenance: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
12
|
+
#
|
|
13
|
+
# Generated file — do not hand-edit. Regenerate with `pnpm examples:generate`
|
|
14
|
+
# after changing src/config/presets/technical-english.ts or this file's
|
|
15
|
+
# appendix (examples/appendices/technical-english.appendix.yaml).
|
|
16
|
+
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
18
|
+
# What to paste
|
|
19
|
+
# ------------------------------------------------------------------------------
|
|
20
|
+
# Three rules: sentence length (max 25 words; the descriptive-text bound),
|
|
21
|
+
# paragraph length (max 6 sentences), and a passive-voice heuristic at
|
|
22
|
+
# info. For word-choice checking, compose with recheck/plain-language;
|
|
23
|
+
# the STE approved-word dictionary is deliberately NOT encoded (see the
|
|
24
|
+
# Notice above and PROVENANCE.md).
|
|
25
|
+
|
|
26
|
+
extends:
|
|
27
|
+
- recheck/technical-english
|
|
28
|
+
|
|
29
|
+
# ------------------------------------------------------------------------------
|
|
30
|
+
# How to tune it
|
|
31
|
+
# ------------------------------------------------------------------------------
|
|
32
|
+
# Your own rule keys always win over the preset's (`extends` resolves
|
|
33
|
+
# first, then your top-level keys are merged on top, per rule key).
|
|
34
|
+
#
|
|
35
|
+
# Tighten the sentence bound for procedure-only content (the standard
|
|
36
|
+
# recommends 20 words in procedures, 25 in descriptive text):
|
|
37
|
+
#
|
|
38
|
+
# technical-english/sentence-length:
|
|
39
|
+
# severity: warn
|
|
40
|
+
# scope: sentence
|
|
41
|
+
# assertions:
|
|
42
|
+
# length:
|
|
43
|
+
# unit: words
|
|
44
|
+
# max: 20
|
|
45
|
+
#
|
|
46
|
+
# The passive-voice heuristic ships at `info`; turn it off if it reads
|
|
47
|
+
# as noise for your corpus:
|
|
48
|
+
#
|
|
49
|
+
# technical-english/passive-voice:
|
|
50
|
+
# severity: off
|
|
51
|
+
#
|
|
52
|
+
# Silence one occurrence instead of the whole rule, with an inline HTML
|
|
53
|
+
# comment directive — works on any rule, from any preset:
|
|
54
|
+
#
|
|
55
|
+
# <!-- recheck-disable-next-line technical-english/sentence-length -->
|
|
56
|
+
|
|
57
|
+
# ------------------------------------------------------------------------------
|
|
58
|
+
# Full expansion (reference)
|
|
59
|
+
# ------------------------------------------------------------------------------
|
|
60
|
+
# This is what `extends: [recheck/technical-english]` resolves to today: all 3 rules,
|
|
61
|
+
# alphabetized by rule id, generated straight from the live preset (`pnpm
|
|
62
|
+
# examples:generate`). You do not need to copy any of it — the extends
|
|
63
|
+
# block above already gives you all of this. Read it to see exactly what
|
|
64
|
+
# you are adopting, or as a starting point if you would rather pin or fork
|
|
65
|
+
# specific rules into your own config instead of extending the preset.
|
|
66
|
+
#
|
|
67
|
+
# `fix: false` on every rule below means what it says: detection-only, no
|
|
68
|
+
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
69
|
+
|
|
70
|
+
technical-english/paragraph-length:
|
|
71
|
+
severity: warn
|
|
72
|
+
message: Paragraph is %s %s long; ASD-STE100 recommends at most 6 sentences per paragraph (max %s).
|
|
73
|
+
link: https://www.asd-ste100.org
|
|
74
|
+
scope: paragraph
|
|
75
|
+
fix: false
|
|
76
|
+
assertions:
|
|
77
|
+
length:
|
|
78
|
+
unit: sentences
|
|
79
|
+
max: 6
|
|
80
|
+
technical-english/passive-voice:
|
|
81
|
+
severity: info
|
|
82
|
+
message: Prefer the active voice; ASD-STE100 recommends it ("%s").
|
|
83
|
+
link: https://www.asd-ste100.org
|
|
84
|
+
scope: sentence
|
|
85
|
+
fix: false
|
|
86
|
+
assertions:
|
|
87
|
+
pattern:
|
|
88
|
+
ignoreCase: true
|
|
89
|
+
tokens:
|
|
90
|
+
- \b(?:is|are|was|were|be|been|being)\s+(?:\w+ed|begun|broken|brought|built|chosen|done|drawn|driven|found|given|held|hidden|kept|known|left|lost|made|meant|paid|put|read|said|seen|sent|set|shown|taken|told|thrown|understood|written)\b
|
|
91
|
+
technical-english/sentence-length:
|
|
92
|
+
severity: warn
|
|
93
|
+
message: Sentence is %s %s long; ASD-STE100 recommends at most 20 words in procedures and 25 in descriptive text (max %s).
|
|
94
|
+
link: https://www.asd-ste100.org
|
|
95
|
+
scope: sentence
|
|
96
|
+
fix: false
|
|
97
|
+
assertions:
|
|
98
|
+
length:
|
|
99
|
+
unit: words
|
|
100
|
+
max: 25
|
|
101
|
+
|
|
102
|
+
# ==============================================================================
|
|
103
|
+
# Appendix — candidates NOT shipped by recheck/technical-english (hand-maintained)
|
|
104
|
+
# ==============================================================================
|
|
105
|
+
# This file is appended verbatim to the generated example above by
|
|
106
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs).
|
|
107
|
+
#
|
|
108
|
+
# Full detail and reasons: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
109
|
+
#
|
|
110
|
+
# ------------------------------------------------------------------------------
|
|
111
|
+
# NOT SHIPPED — the STE approved-word dictionary
|
|
112
|
+
# ------------------------------------------------------------------------------
|
|
113
|
+
# The dictionary is part of the copyrighted standard; encoding it would
|
|
114
|
+
# reproduce the standard in part. For general word-choice checking, compose
|
|
115
|
+
# this preset with recheck/plain-language.
|
|
116
|
+
#
|
|
117
|
+
# ------------------------------------------------------------------------------
|
|
118
|
+
# NOT SHIPPED — noun clusters, present tense, one instruction per sentence
|
|
119
|
+
# ------------------------------------------------------------------------------
|
|
120
|
+
# Noun clusters need part-of-speech tagging; a tense rule fights legitimate
|
|
121
|
+
# `will` in changelogs and roadmaps; one-instruction-per-sentence is not
|
|
122
|
+
# reliably detectable (sentence length is the proxy).
|
|
123
|
+
#
|
|
124
|
+
# ------------------------------------------------------------------------------
|
|
125
|
+
# TIGHTEN for procedure-only content
|
|
126
|
+
# ------------------------------------------------------------------------------
|
|
127
|
+
# The shipped default is the descriptive-text bound (25 words). A project
|
|
128
|
+
# whose corpus is procedures overrides to the procedural bound:
|
|
129
|
+
#
|
|
130
|
+
# technical-english/sentence-length:
|
|
131
|
+
# assertions:
|
|
132
|
+
# length:
|
|
133
|
+
# unit: words
|
|
134
|
+
# max: 20
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/recheck",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Content linting (configurable + built-in rules)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -58,14 +58,23 @@
|
|
|
58
58
|
"tsx": "^4.23.1",
|
|
59
59
|
"typescript": "6.0.3",
|
|
60
60
|
"vitest": "4.1.10",
|
|
61
|
-
"@redocly/
|
|
62
|
-
"@redocly/
|
|
61
|
+
"@redocly/portal": "0.68.3",
|
|
62
|
+
"@redocly/theme": "0.69.0-next.4"
|
|
63
|
+
},
|
|
64
|
+
"nx": {
|
|
65
|
+
"targets": {
|
|
66
|
+
"vitest:test": {
|
|
67
|
+
"dependsOn": [
|
|
68
|
+
"build"
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
63
72
|
},
|
|
64
73
|
"scripts": {
|
|
65
74
|
"build": "tsgo && tsgo --noEmit -p tsconfig.typecheck.json",
|
|
66
75
|
"dev": "tsgo --watch",
|
|
67
76
|
"start": "node dist/cli.js",
|
|
68
|
-
"validate": "node dist/cli.js validate",
|
|
77
|
+
"validate": "node dist/cli.js --validate-config",
|
|
69
78
|
"test": "nx run vitest:test",
|
|
70
79
|
"examples:generate": "node scripts/generate-examples.mjs",
|
|
71
80
|
"markdoc-schema:generate": "tsx scripts/generate-markdoc-schema.mjs",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Provenance: `recheck/technical-english`
|
|
2
|
+
|
|
3
|
+
An original rule set that helps writers follow the principles of ASD-STE100 Simplified Technical English.
|
|
4
|
+
|
|
5
|
+
**ASD-STE100 Simplified Technical English is a Copyright and a Trade Mark of ASD, Brussels, Belgium.**
|
|
6
|
+
|
|
7
|
+
This preset is an independent work.
|
|
8
|
+
ASD and the ASD Simplified Technical English Maintenance Group (STEMG) do not review, validate, approve, certify, or endorse it, per their long-standing non-endorsement policy.
|
|
9
|
+
The preset reproduces no part of the standard: not its text, and not its dictionary.
|
|
10
|
+
Each rule implements a publicly documented writing principle in Recheck's own vocabulary and wording.
|
|
11
|
+
|
|
12
|
+
## The correspondence this rests on
|
|
13
|
+
|
|
14
|
+
Adam Altman asked the STEMG for permission on 2026-08-07 and again on 2026-08-19.
|
|
15
|
+
The STEMG replied on 2026-08-20: they endorse no tools by policy, they do not object to a factual reference to ASD-STE100 as the reference standard for a third-party rule set, any reference must carry the copyright and trademark statement above, and reproduction of the standard in whole or in part stays governed by its copyright and its Special Usage Rights section.
|
|
16
|
+
The full reply is preserved on issue #25886.
|
|
17
|
+
|
|
18
|
+
## What ships
|
|
19
|
+
|
|
20
|
+
| Rule | Principle | Default |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| `technical-english/sentence-length` | Short sentences: at most 20 words in procedures, 25 in descriptive text | `warn`, max 25 (a linter cannot tell procedure from description; tighten to 20 for procedure-only content) |
|
|
23
|
+
| `technical-english/paragraph-length` | At most 6 sentences per paragraph | `warn` |
|
|
24
|
+
| `technical-english/passive-voice` | Use the active voice | `info` (heuristic: be-verb + participle; the irregular-participle list is ordinary linguistic knowledge) |
|
|
25
|
+
|
|
26
|
+
The numeric thresholds are factual claims about what the standard recommends, widely documented in public secondary material and ASD's own public pages.
|
|
27
|
+
Facts are not copyrightable expression; the rule messages state them in this project's own words.
|
|
28
|
+
|
|
29
|
+
## Deliberate omissions
|
|
30
|
+
|
|
31
|
+
- **The approved-word dictionary.**
|
|
32
|
+
The STE dictionary is part of the copyrighted standard; encoding it would reproduce the standard in part.
|
|
33
|
+
The Special Usage Rights section (Issue 9, Copyright notices page) was reviewed on 2026-08-20: it grants free reproduction rights only to a closed list of aerospace and defense organizations (ASD, AIA, AIAC, and ICCAIA member ecosystems, their customers, defense ministries, Airlines for America, airworthiness authorities, and universities for educational purposes).
|
|
34
|
+
Redocly is not in any of those categories, and a public npm package distributes past every one of them.
|
|
35
|
+
Outside that list, the copyright notice requires written authority from an ASD officer for any reproduction in whole or in part — so a dictionary rule stays out of scope unless ASD grants that written authority.
|
|
36
|
+
For general word-choice checking, compose with `recheck/plain-language`.
|
|
37
|
+
- **Noun-cluster limits (three-noun rule).** Needs part-of-speech tagging; a regex approximation would flag ordinary prose constantly.
|
|
38
|
+
- **Present-tense enforcement.** `will` is legitimate in changelogs, roadmaps, and promises.
|
|
39
|
+
- **One instruction per sentence.** Not reliably detectable; sentence length is the closest proxy.
|
|
40
|
+
|
|
41
|
+
## Composition
|
|
42
|
+
|
|
43
|
+
Pairs well with `recheck/plain-language` (word choice, public-domain source) and `recheck/markdown` (structure).
|
|
44
|
+
Expected overlap when stacked with a flagship preset: the flagships ship their own sentence-length rules with different sourced thresholds; the findings co-fire by design, the same posture `plain-language/paragraph-sentence-count` documents.
|
|
@@ -17,7 +17,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
npx recheck validate
|
|
20
|
+
npx recheck --validate-config
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
2. Add prose rules deliberately, not wholesale.
|
|
@@ -28,7 +28,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
|
|
|
28
28
|
1. Run the whole corpus and count findings per rule:
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
npx recheck
|
|
31
|
+
npx recheck docs --output json --annotations-limit 5000 --output-path findings.json
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Group the findings by `ruleName` and look at real examples of each before deciding anything.
|
|
@@ -53,7 +53,7 @@ Configure recheck for a project the way its maintainers would: measure first, de
|
|
|
53
53
|
When the corpus has too many errors to fix at once, record them and gate only new ones:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
npx recheck baseline
|
|
56
|
+
npx recheck --generate-baseline
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Commit `recheck-baseline.yaml` and add `baseline: recheck-baseline.yaml` to the config.
|
|
@@ -61,6 +61,6 @@ Counts only step down: when findings get fixed, regenerate the baseline and comm
|
|
|
61
61
|
|
|
62
62
|
## Finish
|
|
63
63
|
|
|
64
|
-
- `npx recheck validate` must pass.
|
|
64
|
+
- `npx recheck --validate-config` must pass.
|
|
65
65
|
- Every `off` and every exception carries a comment with its reason.
|
|
66
66
|
- The config's README section or the project docs say how contributors run recheck locally.
|
|
@@ -18,13 +18,13 @@ If none exists, this skill does not apply.
|
|
|
18
18
|
1. After you write or edit markdown files, run recheck on them:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx recheck
|
|
21
|
+
npx recheck <file-or-directory>
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
2. If it reports errors, run the auto-fix first — most structural findings repair themselves:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npx recheck
|
|
27
|
+
npx recheck <file-or-directory> --fix
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
3. Fix the remaining errors by hand.
|