@nitra/cursor 12.7.0 → 12.8.1

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 (208) hide show
  1. package/.pi-template/extensions/n-cursor-adr/docs/index.md +2 -2
  2. package/CHANGELOG.md +21 -5
  3. package/bin/n-cursor.js +1 -1
  4. package/docs/index.md +3 -3
  5. package/docs/stryker.config.md +3 -3
  6. package/lib/docs/index.md +5 -5
  7. package/lib/docs/llm.md +4 -4
  8. package/package.json +2 -2
  9. package/rules/abie/docs/fix.md +8 -8
  10. package/rules/abie/docs/index.md +3 -3
  11. package/rules/abie/js/docs/index.md +6 -6
  12. package/rules/abie/lib/docs/index.md +9 -9
  13. package/rules/bun/docs/fix.md +5 -5
  14. package/rules/bun/docs/index.md +3 -3
  15. package/rules/bun/js/docs/index.md +2 -2
  16. package/rules/capacitor/docs/fix.md +10 -10
  17. package/rules/capacitor/docs/index.md +3 -3
  18. package/rules/capacitor/js/docs/index.md +2 -2
  19. package/rules/changelog/docs/fix.md +11 -11
  20. package/rules/changelog/docs/index.md +3 -3
  21. package/rules/changelog/js/docs/consistency.md +12 -12
  22. package/rules/changelog/js/docs/index.md +2 -2
  23. package/rules/changelog/lib/docs/index.md +2 -2
  24. package/rules/ci4/docs/fix.md +4 -4
  25. package/rules/ci4/docs/index.md +3 -3
  26. package/rules/ci4/js/docs/index.md +2 -2
  27. package/rules/doc-files/docs/index.md +3 -3
  28. package/rules/doc-files/js/docgen-crc.mjs +2 -8
  29. package/rules/doc-files/js/docgen-extract.mjs +5 -3
  30. package/rules/doc-files/js/docgen-files-batch.mjs +18 -3
  31. package/rules/doc-files/js/docgen-gen.mjs +11 -3
  32. package/rules/doc-files/js/docgen-judge-measure.mjs +67 -18
  33. package/rules/doc-files/js/docgen-judge.mjs +8 -1
  34. package/rules/doc-files/js/docgen-scan.mjs +14 -4
  35. package/rules/doc-files/js/docs/docgen-crc.md +25 -14
  36. package/rules/doc-files/js/docs/docgen-extract.md +16 -14
  37. package/rules/doc-files/js/docs/docgen-files-batch.md +11 -11
  38. package/rules/doc-files/js/docs/docgen-gen.md +15 -26
  39. package/rules/doc-files/js/docs/docgen-judge-measure.md +14 -12
  40. package/rules/doc-files/js/docs/docgen-judge.md +13 -11
  41. package/rules/doc-files/js/docs/docgen-scan.md +28 -27
  42. package/rules/doc-files/js/docs/index.md +0 -1
  43. package/rules/docker/docs/fix.md +6 -6
  44. package/rules/docker/docs/index.md +3 -3
  45. package/rules/docker/js/docs/index.md +2 -2
  46. package/rules/docker/lib/docs/docker-hadolint.md +2 -2
  47. package/rules/docker/lib/docs/index.md +5 -5
  48. package/rules/efes/docs/fix.md +8 -8
  49. package/rules/efes/docs/index.md +3 -3
  50. package/rules/feedback/docs/fix.md +5 -5
  51. package/rules/feedback/docs/index.md +3 -3
  52. package/rules/ga/docs/fix.md +5 -5
  53. package/rules/ga/docs/index.md +3 -3
  54. package/rules/ga/js/docs/index.md +3 -3
  55. package/rules/graphql/docs/fix.md +8 -8
  56. package/rules/graphql/docs/index.md +3 -3
  57. package/rules/graphql/docs/main.md +8 -8
  58. package/rules/graphql/js/docs/index.md +2 -2
  59. package/rules/graphql/lib/docs/index.md +2 -2
  60. package/rules/hasura/docs/fix.md +11 -11
  61. package/rules/hasura/docs/index.md +3 -3
  62. package/rules/hasura/js/docs/index.md +2 -2
  63. package/rules/image-avif/docs/fix.md +3 -3
  64. package/rules/image-avif/docs/index.md +3 -3
  65. package/rules/image-avif/js/docs/avif_generation.md +6 -6
  66. package/rules/image-avif/js/docs/index.md +2 -2
  67. package/rules/image-compress/docs/fix.md +2 -2
  68. package/rules/image-compress/docs/index.md +3 -3
  69. package/rules/image-compress/js/docs/index.md +3 -3
  70. package/rules/{js-lint → js}/docs/fix.md +9 -9
  71. package/rules/{js-lint → js}/docs/index.md +3 -3
  72. package/rules/{js-lint → js}/js/docs/check.md +5 -5
  73. package/rules/{js-lint → js}/js/docs/index.md +4 -4
  74. package/rules/js-bun-db/docs/fix.md +5 -5
  75. package/rules/js-bun-db/docs/index.md +3 -3
  76. package/rules/js-bun-db/js/docs/index.md +2 -2
  77. package/rules/js-bun-db/lib/docs/index.md +2 -2
  78. package/rules/js-bun-redis/docs/fix.md +6 -6
  79. package/rules/js-bun-redis/docs/index.md +3 -3
  80. package/rules/js-bun-redis/js/docs/index.md +2 -2
  81. package/rules/js-bun-redis/lib/docs/index.md +2 -2
  82. package/rules/js-lint-ci/docs/fix.md +3 -3
  83. package/rules/js-lint-ci/docs/index.md +3 -3
  84. package/rules/js-lint-ci/js/docs/index.md +2 -2
  85. package/rules/js-mssql/docs/fix.md +5 -5
  86. package/rules/js-mssql/docs/index.md +3 -3
  87. package/rules/js-mssql/js/docs/index.md +2 -2
  88. package/rules/js-mssql/lib/docs/index.md +2 -2
  89. package/rules/js-run/docs/fix.md +8 -8
  90. package/rules/js-run/docs/index.md +3 -3
  91. package/rules/js-run/js/docs/index.md +2 -2
  92. package/rules/js-run/lib/docs/index.md +7 -7
  93. package/rules/k8s/docs/fix.md +4 -4
  94. package/rules/k8s/docs/index.md +3 -3
  95. package/rules/k8s/js/docs/index.md +3 -3
  96. package/rules/nginx-default-tpl/docs/fix.md +7 -7
  97. package/rules/nginx-default-tpl/docs/index.md +3 -3
  98. package/rules/nginx-default-tpl/js/docs/index.md +2 -2
  99. package/rules/nginx-default-tpl/js/docs/template.md +2 -2
  100. package/rules/npm-module/docs/fix.md +8 -8
  101. package/rules/npm-module/docs/index.md +3 -3
  102. package/rules/npm-module/js/docs/header_doc_pointer.md +23 -13
  103. package/rules/npm-module/js/docs/index.md +5 -5
  104. package/rules/npm-module/js/docs/rule_meta.md +6 -6
  105. package/rules/npm-module/js/header_doc_pointer.mjs +1 -3
  106. package/rules/php/docs/fix.md +6 -6
  107. package/rules/php/docs/index.md +3 -3
  108. package/rules/php/js/docs/index.md +3 -3
  109. package/rules/python/docs/fix.md +11 -11
  110. package/rules/python/docs/index.md +3 -3
  111. package/rules/python/docs/main.md +10 -10
  112. package/rules/python/js/docs/index.md +3 -3
  113. package/rules/python/main.mjs +2 -1
  114. package/rules/rego/docs/fix.md +5 -5
  115. package/rules/rego/docs/index.md +3 -3
  116. package/rules/rego/js/docs/index.md +3 -3
  117. package/rules/release/docs/index.md +5 -5
  118. package/rules/release/lib/docs/index.md +4 -4
  119. package/rules/rust/docs/fix.md +4 -4
  120. package/rules/rust/docs/index.md +3 -3
  121. package/rules/rust/docs/main.md +7 -7
  122. package/rules/rust/js/docs/index.md +3 -3
  123. package/rules/rust/lib/docs/index.md +2 -2
  124. package/rules/rust/main.mjs +7 -1
  125. package/rules/security/docs/fix.md +6 -6
  126. package/rules/security/docs/index.md +3 -3
  127. package/rules/security/js/docs/index.md +4 -4
  128. package/rules/style-lint/docs/fix.md +3 -3
  129. package/rules/style-lint/docs/index.md +3 -3
  130. package/rules/style-lint/js/docs/index.md +3 -3
  131. package/rules/tauri/docs/fix.md +11 -11
  132. package/rules/tauri/docs/index.md +3 -3
  133. package/rules/tauri/js/docs/index.md +3 -3
  134. package/rules/test/docs/fix.md +5 -5
  135. package/rules/test/docs/index.md +3 -3
  136. package/rules/test/js/data/stryker_config/docs/index.md +4 -4
  137. package/rules/test/js/data/vitest_config/docs/index.md +2 -2
  138. package/rules/test/js/docs/index.md +7 -7
  139. package/rules/text/docs/fix.md +11 -11
  140. package/rules/text/docs/index.md +3 -3
  141. package/rules/text/docs/main.md +8 -8
  142. package/rules/text/js/cspell-fix.mjs +7 -2
  143. package/rules/text/js/docs/cspell-fix.md +8 -8
  144. package/rules/text/js/docs/index.md +7 -8
  145. package/rules/text/js/docs/run-v8r.md +3 -3
  146. package/rules/text/main.mjs +3 -1
  147. package/rules/tool-surface/docs/index.md +3 -3
  148. package/rules/tool-surface/meta.json +6 -1
  149. package/rules/vue/docs/fix.md +6 -6
  150. package/rules/vue/docs/index.md +3 -3
  151. package/rules/vue/js/docs/index.md +2 -2
  152. package/rules/vue/lib/docs/index.md +2 -2
  153. package/rules/worktree/docs/fix.md +11 -11
  154. package/rules/worktree/docs/index.md +3 -3
  155. package/scripts/coverage-classify/docs/index.md +6 -6
  156. package/scripts/dispatcher/docs/index.md +2 -2
  157. package/scripts/docs/index.md +16 -16
  158. package/scripts/lib/docs/index.md +36 -36
  159. package/scripts/lib/docs/run-lint.md +7 -7
  160. package/scripts/lib/docs/run-standard-lint.md +7 -5
  161. package/scripts/lib/fix/analyze-escalation.mjs +4 -1
  162. package/scripts/lib/fix/docs/analyze-escalation.md +28 -15
  163. package/scripts/lib/fix/docs/index.md +10 -10
  164. package/scripts/lib/fix/docs/orchestrator.md +14 -15
  165. package/scripts/lib/fix/docs/run-conformance-check.md +4 -3
  166. package/scripts/lib/fix/docs/run-fix-check.md +3 -3
  167. package/scripts/lib/fix/docs/t0.md +8 -7
  168. package/scripts/lib/fix/orchestrator.mjs +26 -3
  169. package/scripts/lib/fix/t0.mjs +4 -1
  170. package/scripts/lib/run-lint.mjs +1 -3
  171. package/scripts/utils/docs/index.md +14 -14
  172. package/skills/doc-aggregate/js/docs/index.md +3 -3
  173. package/skills/doc-files/.changes/260612-0002.md +1 -0
  174. package/skills/doc-files/.changes/260612-0006.md +1 -0
  175. package/skills/doc-files/.changes/260612-0008.md +1 -0
  176. package/skills/doc-files/.changes/260612-0012.md +1 -0
  177. package/skills/doc-files/.changes/260612-0031.md +1 -0
  178. package/skills/doc-files/.changes/260612-0036.md +1 -0
  179. package/skills/doc-files/.changes/260612-0114.md +1 -0
  180. package/skills/start-check/js/docs/index.md +2 -2
  181. package/skills/taze/js/docs/index.md +2 -2
  182. package/types/bin/n-cursor.d.ts +1 -1
  183. /package/rules/{js-lint → js}/coverage/coverage.mjs +0 -0
  184. /package/rules/{js-lint → js}/docs/main.md +0 -0
  185. /package/rules/{js-lint → js}/js/check.mjs +0 -0
  186. /package/rules/{js-lint → js}/js/data/tooling/knip-canonical.json +0 -0
  187. /package/rules/{js-lint → js}/js/data/tooling/oxlint-canonical.json +0 -0
  188. /package/rules/{js-lint → js}/js/docs/lint-findings.md +0 -0
  189. /package/rules/{js-lint → js}/js/docs/tooling.md +0 -0
  190. /package/rules/{js-lint → js}/js/docs/utils_imports.md +0 -0
  191. /package/rules/{js-lint → js}/js/lint-findings.mjs +0 -0
  192. /package/rules/{js-lint → js}/js/tooling.mjs +0 -0
  193. /package/rules/{js-lint → js}/js/utils_imports.mjs +0 -0
  194. /package/rules/{js-lint/js-lint.mdc → js/js.mdc} +0 -0
  195. /package/rules/{js-lint → js}/main.mjs +0 -0
  196. /package/rules/{js-lint → js}/meta.json +0 -0
  197. /package/rules/{js-lint → js}/policy/jscpd/jscpd.rego +0 -0
  198. /package/rules/{js-lint → js}/policy/jscpd/target.json +0 -0
  199. /package/rules/{js-lint → js}/policy/jscpd/template/.jscpd.json.snippet.json +0 -0
  200. /package/rules/{js-lint → js}/policy/lint_js_yml/lint_js_yml.rego +0 -0
  201. /package/rules/{js-lint → js}/policy/lint_js_yml/target.json +0 -0
  202. /package/rules/{js-lint → js}/policy/lint_js_yml/template/lint-js.yml.snippet.yml +0 -0
  203. /package/rules/{js-lint → js}/policy/package_json/package_json.rego +0 -0
  204. /package/rules/{js-lint → js}/policy/package_json/target.json +0 -0
  205. /package/rules/{js-lint → js}/policy/package_json/template/package.json.snippet.json +0 -0
  206. /package/rules/{js-lint → js}/policy/vscode_extensions/target.json +0 -0
  207. /package/rules/{js-lint → js}/policy/vscode_extensions/template/extensions.json.snippet.json +0 -0
  208. /package/rules/{js-lint → js}/policy/vscode_extensions/vscode_extensions.rego +0 -0
@@ -6,7 +6,7 @@ resource: npm/rules/js-lint-ci/
6
6
 
7
7
  # npm/rules/js-lint-ci
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,6 +6,6 @@ resource: npm/rules/js-lint-ci/js/
6
6
 
7
7
  # npm/rules/js-lint-ci/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
11
  | [lint.mjs](lint.md) | JS Module |
@@ -12,11 +12,11 @@ docgen:
12
12
  ## Поведінка
13
13
 
14
14
  1. Запуск правила.
15
- * Приймає контекст прогону.
16
- * Виконує застосування JS-занепокоєних.
17
- * Застосовує політику.
18
- * Генерує посилання MDC.
19
- * Повертає результат прогону.
15
+ - Приймає контекст прогону.
16
+ - Виконує застосування JS-занепокоєних.
17
+ - Застосовує політику.
18
+ - Генерує посилання MDC.
19
+ - Повертає результат прогону.
20
20
 
21
21
  ## Публічний API
22
22
 
@@ -6,7 +6,7 @@ resource: npm/rules/js-mssql/
6
6
 
7
7
  # npm/rules/js-mssql
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,6 +6,6 @@ resource: npm/rules/js-mssql/js/
6
6
 
7
7
  # npm/rules/js-mssql/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
11
  | [deps.mjs](deps.md) | JS Module |
@@ -6,6 +6,6 @@ resource: npm/rules/js-mssql/lib/
6
6
 
7
7
  # npm/rules/js-mssql/lib
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ----------------------------------------- | --------- |
11
11
  | [mssql-pool-scan.mjs](mssql-pool-scan.md) | JS Module |
@@ -14,15 +14,15 @@ docgen:
14
14
  ## Поведінка
15
15
 
16
16
  1. Запуск правила.
17
- * Приймає контекст прогону.
18
- * Виконує застосування JS-занепокоєних до політики до mdc-refs.
19
- * Повертає результат прогону.
17
+ - Приймає контекст прогону.
18
+ - Виконує застосування JS-занепокоєних до політики до mdc-refs.
19
+ - Повертає результат прогону.
20
20
  2. Запуск правила у режимі CLI.
21
- * Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
22
- * Виконує завантаження конфігурації.
23
- * Виконує перевірку дозволених елементів.
24
- * Виконує підбиття підсумків.
25
- * Повертає код виходу.
21
+ - Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
22
+ - Виконує завантаження конфігурації.
23
+ - Виконує перевірку дозволених елементів.
24
+ - Виконує підбиття підсумків.
25
+ - Повертає код виходу.
26
26
 
27
27
  ## Публічний API
28
28
 
@@ -6,7 +6,7 @@ resource: npm/rules/js-run/
6
6
 
7
7
  # npm/rules/js-run
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,6 +6,6 @@ resource: npm/rules/js-run/js/
6
6
 
7
7
  # npm/rules/js-run/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ------------------------- | --------- |
11
11
  | [runtime.mjs](runtime.md) | JS Module |
@@ -6,11 +6,11 @@ resource: npm/rules/js-run/lib/
6
6
 
7
7
  # npm/rules/js-run/lib
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [bunyan-imports.mjs](bunyan-imports.md) | JS Module |
12
- | [check-env-scan.mjs](check-env-scan.md) | JS Module |
13
- | [conn-file-rules.mjs](conn-file-rules.md) | JS Module |
14
- | [conn-imports-scan.mjs](conn-imports-scan.md) | JS Module |
9
+ | Файл | Тип |
10
+ | --------------------------------------------------------- | --------- |
11
+ | [bunyan-imports.mjs](bunyan-imports.md) | JS Module |
12
+ | [check-env-scan.mjs](check-env-scan.md) | JS Module |
13
+ | [conn-file-rules.mjs](conn-file-rules.md) | JS Module |
14
+ | [conn-imports-scan.mjs](conn-imports-scan.md) | JS Module |
15
15
  | [promise-settimeout-scan.mjs](promise-settimeout-scan.md) | JS Module |
16
- | [temporal-scan.mjs](temporal-scan.md) | JS Module |
16
+ | [temporal-scan.mjs](temporal-scan.md) | JS Module |
@@ -12,12 +12,12 @@ docgen:
12
12
  ## Поведінка
13
13
 
14
14
  1. Запуск правила.
15
- * Виклик runStandardRule з контекстом.
16
- * Повернення результату.
15
+ - Виклик runStandardRule з контекстом.
16
+ - Повернення результату.
17
17
 
18
18
  2. Запуск правила у режимі CLI.
19
- * Виклик runRuleCli з директорією модуля.
20
- * Вихід з процесом залежно від результату.
19
+ - Виклик runRuleCli з директорією модуля.
20
+ - Вихід з процесом залежно від результату.
21
21
 
22
22
  ## Публічний API
23
23
 
@@ -6,7 +6,7 @@ resource: npm/rules/k8s/
6
6
 
7
7
  # npm/rules/k8s
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,7 +6,7 @@ resource: npm/rules/k8s/js/
6
6
 
7
7
  # npm/rules/k8s/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [lint.mjs](lint.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------------- | ----------- |
11
+ | [lint.mjs](lint.md) | JS Module |
12
12
  | [manifests](manifests.md) | Source File |
@@ -14,14 +14,14 @@ docgen:
14
14
  ## Поведінка
15
15
 
16
16
  1. Запуск правила.
17
- * Приймає контекст прогону.
18
- * Виконує застосування JS-занепокоєних до політики до посилань mdc.
19
- * Повертає результат.
17
+ - Приймає контекст прогону.
18
+ - Виконує застосування JS-занепокоєних до політики до посилань mdc.
19
+ - Повертає результат.
20
20
  2. Запуск правила у режимі CLI.
21
- * Викликається через оркестрацію CLI.
22
- * Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
23
- * Виконує завантаження конфігурації, перевірку дозволених елементів та підбиття підсумку.
24
- * Встановлює код виходу процесу на основі результату.
21
+ - Викликається через оркестрацію CLI.
22
+ - Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
23
+ - Виконує завантаження конфігурації, перевірку дозволених елементів та підбиття підсумку.
24
+ - Встановлює код виходу процесу на основі результату.
25
25
 
26
26
  ## Публічний API
27
27
 
@@ -6,7 +6,7 @@ resource: npm/rules/nginx-default-tpl/
6
6
 
7
7
  # npm/rules/nginx-default-tpl
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,6 +6,6 @@ resource: npm/rules/nginx-default-tpl/js/
6
6
 
7
7
  # npm/rules/nginx-default-tpl/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | --------------------------- | --------- |
11
11
  | [template.mjs](template.md) | JS Module |
@@ -39,11 +39,11 @@ check
39
39
 
40
40
  findDefaultConfTemplatePaths — Збирає повні шляхи до **default.conf.template** у репозиторії; виключає будь-який сегмент `fixtures/` (включаючи `tests/fixtures/` та ко-локальні шляхи `rules/<rule>/js/<concern>/fixtures/`).
41
41
  migrateDefaultTplConfFiles — Знаходить **default.tpl.conf** у дереві від `root`. Якщо **default.conf.template** відсутній, перейменовує **default.tpl.conf**; якщо він присутній, перезаписує **default.conf.template** вмістом **default.tpl.conf** та видаляє **default.tpl.conf**.
42
- migrateErrorLogOffDirective — Замінює невалідну директиву `error_log off;` на `error_log /dev/null crit;` у всіх **default.conf.template** від `root**. `error_log off;` трактується як ім'я файлу (`/etc/nginx/off`), що призводить до помилки `readOnlyRootFilesystem`. `/dev/null` це записуваний пристрій.
42
+ migrateErrorLogOffDirective — Замінює невалідну директиву `error_log off;` на `error_log /dev/null crit;` у всіх **default.conf.template** від `root**. `error_log off;` трактується як ім'я файлу (`/etc/nginx/off`), що призводить до помилки `readOnlyRootFilesystem`. `/dev/null`— це записуваний пристрій.
43
43
  parseIniVariableNames — Витягує імена змінних з файлів ini (рядки у форматі KEY=value, без коментарів і порожніх).
44
44
  nginxTemplateViolations — Перевіряє вміст **default.conf.template** на відповідність вимогам **nginx-default-tpl.mdc**.
45
45
  httpRouteMatchesNginxDefaultTpl — Перевіряє, чи відповідає **HTTPRoute** патерну Exact→RequestRedirect + PathPrefix→backendRefs.
46
- iniKeysMissingInTemplate — Перевіряє, чи входять усі імена ключів з ini до шаблону у форматі `$KEY` (використовуючи envsubst).
46
+ iniKeysMissingInTemplate — Перевіряє, чи входять усі імена ключів з ini до шаблону у форматі`$KEY` (використовуючи envsubst).
47
47
  check — Перевіряє відповідність проєкту правилам **nginx-default-tpl.mdc**.
48
48
 
49
49
  ## Гарантії поведінки
@@ -12,15 +12,15 @@ docgen:
12
12
  ## Поведінка
13
13
 
14
14
  1. Запуск правила.
15
- * Приймає контекст прогону.
16
- * Виконує застосування JS-занепокоєних.
17
- * Застосовує політику.
18
- * Генерує посилання MDC.
19
- * Повертає результат прогону.
15
+ - Приймає контекст прогону.
16
+ - Виконує застосування JS-занепокоєних.
17
+ - Застосовує політику.
18
+ - Генерує посилання MDC.
19
+ - Повертає результат прогону.
20
20
  2. Виконання у режимі CLI.
21
- * Виконується як автономний скрипт.
22
- * Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
23
- * Повертає код виходу з процесу.
21
+ - Виконується як автономний скрипт.
22
+ - Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
23
+ - Повертає код виходу з процесу.
24
24
 
25
25
  ## Публічний API
26
26
 
@@ -6,7 +6,7 @@ resource: npm/rules/npm-module/
6
6
 
7
7
  # npm/rules/npm-module
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -3,28 +3,38 @@ type: JS Module
3
3
  title: header_doc_pointer.mjs
4
4
  resource: npm/rules/npm-module/js/header_doc_pointer.mjs
5
5
  docgen:
6
- crc: d96a2957
6
+ crc: 90fc46dc
7
+ model: omlx/gemma-4-e4b-it-OptiQ-4bit
7
8
  score: 100
8
9
  ---
9
10
 
10
- Файл виконує перевірку документації для модулів. Сканує директорії npm/rules та npm/skills. Перевіряє наявність файлів docs/<stem>.md у піддиректоріях правил/скілів. Перевіряє, чи містить відповідні js-файли не більше одного рядка JSDoc. У разі перевищення ліміту, генерує звіт про порушення.
11
+ ## Огляд
12
+
13
+ Модуль валідує відповідність контракту документації для файлів `.mjs` у сегментах `npm/rules` та `npm/skills`. Він виявляє порушення, якщо для файлу `.mjs` існує відповідний файл `docs/<ім'я>.md`, а його JSDoc-блок містить більше одного непорожнього рядка.
11
14
 
12
15
  ## Поведінка
13
16
 
14
- 1. Сканувати директорії npm/rules та npm/skills.
15
- 2. Для кожної директорії перевіряти піддиректорії правил/скілів.
16
- 3. Для кожного знайденого js-файлу перевіряти наявність файлу docs/<stem>.md.
17
- 4. Якщо файл docs/<stem>.md існує, перевіряти, чи містить module-level JSDoc не більше одного непорожного рядка.
18
- 5. У разі перевищення ліміту, зарепортувати порушення.
19
- 6. Повертати код виходу репортера.
17
+ 1. Викликається функція check з корінням репозиторію як аргументом.
18
+ 2. Ініціалізується репортер для фіксації порушень.
19
+ 3. Для кожного з сегментів 'npm/rules' та 'npm/skills' виконується наступне:
20
+ а. Перевіряється існування відповідного базового сегмента.
21
+ б. Для кожного підсегмента (правила/скіла) у базовому сегменті:
22
+ i. Перевіряється існування каталогу `js/` у підсегменті.
23
+ ii. Для кожного файлу `.mjs` у каталозі `js/`:
24
+ а. Перевіряється, чи є файл звичайним вихідним файлом (не тест).
25
+ б. Визначається ім'я без розширення файлу.
26
+ в. Перевіряється існування файлу `docs/<ім'я>.md` у каталозі `js/docs/`.
27
+ г. Якщо файл `docs/<ім'я>.md` існує:
28
+ i. Зчитується вміст файлу `.mjs`.
29
+ ii. Визначається перша не-жадібна JSDoc-блока в файлі.
30
+ iii. Підраховується кількість непорожніх рядків у тілі цього JSDoc-блока.
31
+ iv. Якщо кількість непорожніх рядків перевищує 1, фіксується порушення, оскільки `docs/<ім'я>.md` вже описує поведінку, а JSDoc має бути лише вказівником.
32
+ 4. Повертається код виходу репортера.
20
33
 
21
34
  ## Публічний API
22
35
 
23
- - check — сканує файли `npm/rules/*/js/*.mjs` та `npm/skills/*/js/*.mjs`.
24
- - Якщо існує `docs/<stem>.md`, модуль повинен мати посилання на JSDoc (не наратив).
25
- - Якщо `docs` відсутній, обмеження не застосовуються.
36
+ check — перевіряє файли `.mjs` у директоріях `npm/rules/*\/js/` та `npm/skills/*\/js/`. Якщо поруч є відповідний файл `docs/<stem>.md`, вимагає, щоб JSDoc на рівні модуля був посиланням (не описом); якщо `docs` відсутній, обмежень немає.
26
37
 
27
38
  ## Гарантії поведінки
28
39
 
29
- - Read-only: файл не виконує операцій запису у файлову систему.
30
- - Не звертається до мережі.
40
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -6,9 +6,9 @@ resource: npm/rules/npm-module/js/
6
6
 
7
7
  # npm/rules/npm-module/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ----------------------------------------------- | --------- |
11
11
  | [header_doc_pointer.mjs](header_doc_pointer.md) | JS Module |
12
- | [package_structure.mjs](package_structure.md) | JS Module |
13
- | [rule_meta.mjs](rule_meta.md) | JS Module |
14
- | [skill_meta.mjs](skill_meta.md) | JS Module |
12
+ | [package_structure.mjs](package_structure.md) | JS Module |
13
+ | [rule_meta.mjs](rule_meta.md) | JS Module |
14
+ | [skill_meta.mjs](skill_meta.md) | JS Module |
@@ -17,12 +17,12 @@ docgen:
17
17
  1. Викликати `check` для початку валідації.
18
18
  2. Перевірити наявність каталогу `npm/rules` у корені репозиторію. Якщо каталог відсутній, валідація завершується успішно.
19
19
  3. Для кожного підкаталогу у `npm/rules` (який представляє правило):
20
- а. Перевірити наявність файлу `auto.md`. Якщо він присутній, реєструється помилка, оскільки метадані тепер знаходяться у `meta.json`.
21
- б. Перевірити наявність файлу `<id>.mdc` у каталозі правила. Якщо він відсутній, реєструється помилка, оскільки це обов'язковий файл (scripts.mdc).
22
- в. Зчитати вміст `meta.json` правила. Якщо файл відсутній або невалідний, реєструється помилка, і перевірка цього правила припиняється.
23
- г. Перевірити поле `auto` у `meta.json`. Якщо поле `auto` присутнє, воно повинно бути валідним (відповідати одному з визначених форматів, або бути відсутнім). Якщо поле `auto` містить невідомий предикат, реєструється помилка.
24
- ґ. Перевірити поле `lint` у `meta.json`. Якщо поле `lint` присутнє, воно повинно бути валідним (відповідати "per-file" або "full"). Також перевіряється, чи експортує файл `main.mjs` у каталозі правила функцію `lint` відповідно до зазначеного значення `lint`.
25
- і. Якщо всі перевірки для правила пройшли успішно, реєструється повідомлення про валідність `meta.json`.
20
+ а. Перевірити наявність файлу `auto.md`. Якщо він присутній, реєструється помилка, оскільки метадані тепер знаходяться у `meta.json`.
21
+ б. Перевірити наявність файлу `<id>.mdc` у каталозі правила. Якщо він відсутній, реєструється помилка, оскільки це обов'язковий файл (scripts.mdc).
22
+ в. Зчитати вміст `meta.json` правила. Якщо файл відсутній або невалідний, реєструється помилка, і перевірка цього правила припиняється.
23
+ г. Перевірити поле `auto` у `meta.json`. Якщо поле `auto` присутнє, воно повинно бути валідним (відповідати одному з визначених форматів, або бути відсутнім). Якщо поле `auto` містить невідомий предикат, реєструється помилка.
24
+ ґ. Перевірити поле `lint` у `meta.json`. Якщо поле `lint` присутнє, воно повинно бути валідним (відповідати "per-file" або "full"). Також перевіряється, чи експортує файл `main.mjs` у каталозі правила функцію `lint` відповідно до зазначеного значення `lint`.
25
+ і. Якщо всі перевірки для правила пройшли успішно, реєструється повідомлення про валідність `meta.json`.
26
26
  4. Після обробки всіх правил, повертається код виходу, що відображає загальний статус валідації.
27
27
 
28
28
  ## Публічний API
@@ -47,9 +47,7 @@ function moduleJsDoc(source) {
47
47
  * @returns {boolean} true для звичайних source-файлів
48
48
  */
49
49
  function isSourceMjs(fileEntry) {
50
- return (
51
- fileEntry.isFile() && fileEntry.name.endsWith('.mjs') && !fileEntry.name.endsWith('.test.mjs')
52
- )
50
+ return fileEntry.isFile() && fileEntry.name.endsWith('.mjs') && !fileEntry.name.endsWith('.test.mjs')
53
51
  }
54
52
 
55
53
  /**
@@ -14,14 +14,14 @@ docgen:
14
14
  ## Поведінка
15
15
 
16
16
  1. Запуск правила.
17
- * Приймає контекст прогону.
18
- * Виконує застосування JS-занепокоєних до політики до mdc-refs.
19
- * Повертає результат прогону.
17
+ - Приймає контекст прогону.
18
+ - Виконує застосування JS-занепокоєних до політики до mdc-refs.
19
+ - Повертає результат прогону.
20
20
 
21
21
  2. Запуск у режимі CLI.
22
- * Виконується при запуску через CLI.
23
- * Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
24
- * Повертає код виходу.
22
+ - Виконується при запуску через CLI.
23
+ - Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
24
+ - Повертає код виходу.
25
25
 
26
26
  ## Публічний API
27
27
 
@@ -6,7 +6,7 @@ resource: npm/rules/php/
6
6
 
7
7
  # npm/rules/php
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,7 +6,7 @@ resource: npm/rules/php/js/
6
6
 
7
7
  # npm/rules/php/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [lint.mjs](lint.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------------- | --------- |
11
+ | [lint.mjs](lint.md) | JS Module |
12
12
  | [tooling.mjs](tooling.md) | JS Module |
@@ -12,19 +12,19 @@ docgen:
12
12
  ## Поведінка
13
13
 
14
14
  1. Запуск правила.
15
- * Приймає контекст прогону.
16
- * Виконує застосування JS-занепокоєних.
17
- * Застосовує політику.
18
- * Генерує посилання на MDC.
19
- * Повертає результат прогону.
15
+ - Приймає контекст прогону.
16
+ - Виконує застосування JS-занепокоєних.
17
+ - Застосовує політику.
18
+ - Генерує посилання на MDC.
19
+ - Повертає результат прогону.
20
20
 
21
21
  2. Виконання у режимі CLI.
22
- * Виконується як автономний скрипт.
23
- * Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
24
- * Виконує завантаження конфігурації.
25
- * Виконує перевірку дозволів.
26
- * Виконує підбирання списку.
27
- * Виконує підбирання резюме.
22
+ - Виконується як автономний скрипт.
23
+ - Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
24
+ - Виконує завантаження конфігурації.
25
+ - Виконує перевірку дозволів.
26
+ - Виконує підбирання списку.
27
+ - Виконує підбирання резюме.
28
28
 
29
29
  ## Публічний API
30
30
 
@@ -6,7 +6,7 @@ resource: npm/rules/python/
6
6
 
7
7
  # npm/rules/python
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -3,28 +3,28 @@ type: JS Module
3
3
  title: main.mjs
4
4
  resource: npm/rules/python/main.mjs
5
5
  docgen:
6
- crc: 8ceba96a
6
+ crc: d8a3aa1f
7
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
8
8
  score: 90
9
9
  ---
10
10
 
11
11
  ## Огляд
12
12
 
13
- Виконує логіку `lint-python` за правилом `python.mdc` для забезпечення якості коду Python. Якщо файл `pyproject.toml` відсутній у корені, виконання завершується з кодом 0. Якщо файл присутній, але `uv` не знайдено у системному шляху, це вважається помилкою, оскільки `uv` є єдиним дозволеним пакет-менеджером (без Poetry). Для роботи необхідно виконати `uv lock --check` для підтвердження актуальності файлу блокування та `uv sync --frozen` для створення середовища, що відповідає `uv.lock` (детальніше про `uv` на https://docs.astral.sh/uv/). Опціональні лінтери запускаються лише за умови їх доступності через `uv run`. Запускаються `ruff` у режимі автоматичного виправлення (`--fix`) та форматування, а також `mypy` для статичного аналізу коду, використовуючи канонічний патерн серіалізації через `runStandardLint`.
13
+ Реалізує логіку запуску `lint-python` за правилом `python.mdc` на базі [uv](https://docs.astral.sh/uv/). Якщо `pyproject.toml` у корені відсутній, процес завершується з кодом виходу 0. Якщо файл присутній, але інструмент `uv` не знайдено в PATH, це розглядається як помилка. Обов'язкові кроки включають перевірку актуальності lock-файлу (`uv lock --check`) та синхронізацію середовища (`uv sync --frozen`). Опційні лінтери (`ruff`, `mypy`) запускаються лише за умови їх доступності через `uv run`. `ruff` виконується у режимі автоматичного виправлення (`--fix`) для мутації робочого дерева та для форматування. Цей підхід відповідає канону патерну `lint-*` (серіалізація через `runStandardLint`, без прямого `withLock`).
14
14
 
15
15
  ## Поведінка
16
16
 
17
- run виконує стандартну перевірку на основі контексту.
18
- runLintPythonSteps виконує послідовність кроків лінтування Python, включаючи перевірку `pyproject.toml`, виконання `uv lock --check` та `uv sync --frozen`, а також запуск опціональних лінтерів (`ruff`, `mypy`) через `uv run`.
19
- runLintPython запускає послідовність кроків лінтування Python, використовуючи механізм стандартного лінтування.
20
- lint оркеструє запуск `runLintPython` для аналізу всього проєкту.
17
+ run виконує стандартну перевірку для правила, використовуючи контекст прогону.
18
+ runLintPythonSteps виконує послідовність кроків лінтування Python, перевіряючи наявність `pyproject.toml` та виконуючи команди `uv lock --check` та `uv sync --frozen`, а також запускаючи опціональні лінтери (`ruff`, `mypy`) через `uv run` на базі https://docs.astral.sh/uv/.
19
+ runLintPython запускає послідовність кроків лінтування Python, серіалізуючи її через стандартний механізм перевірки.
20
+ lint делегує виклик до `runLintPython`, забезпечуючи можливість запуску в режимі, що не мутує робоче дерево.
21
21
 
22
22
  ## Публічний API
23
23
 
24
- run — Основна точка входу для виконання правил, що включає перевірку логіки застосування (JS-concerns policy mdc-refs) та виконання лінтингу.
25
- runLintPythonSteps — Виконує внутрішні етапи лінтингу для Python без збереження логів.
26
- runLintPython — Публічний інтерфейс для запуску лінтингу Python, що забезпечує унікальність виконання через блокування та аналіз стану репозиторію.
27
- lint — Координатор, який ініціює запуск лінтингу Python, делегуючи це `runLintPython`.
24
+ run — Основна точка входу для виконання правил, яка перевіряє логіку застосування (JS-занепокложення $\rightarrow$ політика $\rightarrow$ mdc-посилання) та запускає перевірку коду (uv/ruff/mypy).
25
+ runLintPythonSteps — Виконує внутрішні етапи перевірки Python-коду без збереження логу.
26
+ runLintPython — Публічний інтерфейс для запуску перевірки Python-коду, який гарантує унікальність виконання через блокування та аналіз стану Git-дерева.
27
+ lint — Адаптер, що керує запуском перевірки Python-коду, делегуючи цю роботу `runLintPython`.
28
28
 
29
29
  ## Гарантії поведінки
30
30
 
@@ -6,8 +6,8 @@ resource: npm/rules/python/js/
6
6
 
7
7
  # npm/rules/python/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ------------------------- | --------- |
11
11
  | [applies.mjs](applies.md) | JS Module |
12
- | [lint.mjs](lint.md) | JS Module |
12
+ | [lint.mjs](lint.md) | JS Module |
13
13
  | [tooling.mjs](tooling.md) | JS Module |
@@ -115,7 +115,8 @@ export function runLintPythonSteps(cwd = process.cwd(), opts = {}) {
115
115
  const ruffCheck = readOnly ? ['check', '.'] : ['check', '--fix', '.']
116
116
  const ruffFormat = readOnly ? ['format', '--check', '.'] : ['format', '.']
117
117
  if (!runOptionalUvTool('ruff', readOnly ? 'ruff check' : 'ruff check --fix', ruffCheck)) return reporter.getExitCode()
118
- if (!runOptionalUvTool('ruff', readOnly ? 'ruff format --check' : 'ruff format', ruffFormat)) return reporter.getExitCode()
118
+ if (!runOptionalUvTool('ruff', readOnly ? 'ruff format --check' : 'ruff format', ruffFormat))
119
+ return reporter.getExitCode()
119
120
  if (!runOptionalUvTool('mypy', 'mypy', ['.'])) return reporter.getExitCode()
120
121
 
121
122
  return reporter.getExitCode()
@@ -12,12 +12,12 @@ docgen:
12
12
  ## Поведінка
13
13
 
14
14
  1. Запуск правила.
15
- - Вхід: контекст прогону.
16
- - Вихід: обіцянка, що повертає число. 0 означає успіх, 1 означає порушення.
15
+ - Вхід: контекст прогону.
16
+ - Вихід: обіцянка, що повертає число. 0 означає успіх, 1 означає порушення.
17
17
  2. Виконання правила у режимі CLI.
18
- - Умова: виконання через командний рядок.
19
- - Дія: повернення коду виходу з функції.
20
- - Вихід: встановлення коду виходу процесу.
18
+ - Умова: виконання через командний рядок.
19
+ - Дія: повернення коду виходу з функції.
20
+ - Вихід: встановлення коду виходу процесу.
21
21
 
22
22
  ## Публічний API
23
23
 
@@ -6,7 +6,7 @@ resource: npm/rules/rego/
6
6
 
7
7
  # npm/rules/rego
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [fix.mjs](fix.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------- | --------- |
11
+ | [fix.mjs](fix.md) | JS Module |
12
12
  | [main.mjs](main.md) | JS Module |
@@ -6,7 +6,7 @@ resource: npm/rules/rego/js/
6
6
 
7
7
  # npm/rules/rego/js
8
8
 
9
- | Файл | Тип |
10
- |---|---|
9
+ | Файл | Тип |
10
+ | ------------------------- | --------- |
11
11
  | [applies.mjs](applies.md) | JS Module |
12
- | [lint.mjs](lint.md) | JS Module |
12
+ | [lint.mjs](lint.md) | JS Module |
@@ -6,9 +6,9 @@ resource: npm/rules/release/
6
6
 
7
7
  # npm/rules/release
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [change.mjs](change.md) | JS Module |
12
- | [fix.mjs](fix.md) | JS Module |
13
- | [main.mjs](main.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ------------------------- | --------- |
11
+ | [change.mjs](change.md) | JS Module |
12
+ | [fix.mjs](fix.md) | JS Module |
13
+ | [main.mjs](main.md) | JS Module |
14
14
  | [release.mjs](release.md) | JS Module |