@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.
Files changed (42) hide show
  1. package/README.md +160 -95
  2. package/dist/cli.js +110 -99
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/baseline.d.ts +1 -1
  5. package/dist/commands/baseline.js +1 -1
  6. package/dist/commands/markdoc-schema.js +6 -6
  7. package/dist/commands/markdoc-schema.js.map +1 -1
  8. package/dist/commands/run.d.ts.map +1 -1
  9. package/dist/commands/run.js +1 -1
  10. package/dist/commands/run.js.map +1 -1
  11. package/dist/config/presets/index.d.ts.map +1 -1
  12. package/dist/config/presets/index.js +2 -0
  13. package/dist/config/presets/index.js.map +1 -1
  14. package/dist/config/presets/technical-english.d.ts +34 -0
  15. package/dist/config/presets/technical-english.d.ts.map +1 -0
  16. package/dist/config/presets/technical-english.js +79 -0
  17. package/dist/config/presets/technical-english.js.map +1 -0
  18. package/dist/core/baseline.js +0 -0
  19. package/dist/core/baseline.js.map +1 -1
  20. package/dist/data/markdoc-realm-schema.d.ts.map +1 -1
  21. package/dist/data/markdoc-realm-schema.js +22 -0
  22. package/dist/data/markdoc-realm-schema.js.map +1 -1
  23. package/dist/parser/markdoc/extract-statics.d.ts +1 -1
  24. package/dist/parser/markdoc/extract-statics.js +2 -2
  25. package/dist/parser/markdoc/extract-statics.js.map +1 -1
  26. package/dist/rules/scope/length.d.ts.map +1 -1
  27. package/dist/rules/scope/length.js +5 -1
  28. package/dist/rules/scope/length.js.map +1 -1
  29. package/dist/rules/scope/metric.js +1 -1
  30. package/dist/rules/scope/metric.js.map +1 -1
  31. package/dist/scopes/extractor.d.ts.map +1 -1
  32. package/dist/scopes/extractor.js +89 -28
  33. package/dist/scopes/extractor.js.map +1 -1
  34. package/dist/scopes/sentences.d.ts.map +1 -1
  35. package/dist/scopes/sentences.js +85 -26
  36. package/dist/scopes/sentences.js.map +1 -1
  37. package/examples/appendices/technical-english.appendix.yaml +33 -0
  38. package/examples/technical-english.yaml +134 -0
  39. package/package.json +13 -4
  40. package/presets/technical-english/PROVENANCE.md +44 -0
  41. package/skills/recheck-config/SKILL.md +4 -4
  42. package/skills/recheck-lint/SKILL.md +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/scopes/sentences.ts"],"names":[],"mappings":"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"}
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.8.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/theme": "0.69.0-next.2",
62
- "@redocly/portal": "0.68.3"
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 run docs --output json --annotations-limit 5000 --output-path findings.json
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 run <file-or-directory>
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 run <file-or-directory> --fix
27
+ npx recheck <file-or-directory> --fix
28
28
  ```
29
29
 
30
30
  3. Fix the remaining errors by hand.