@nitra/cursor 11.4.0 → 12.0.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 (358) hide show
  1. package/.claude-template/hooks/normalize-decisions.sh +34 -3
  2. package/.pi-template/extensions/n-cursor-adr/docs/index.md +3 -5
  3. package/CHANGELOG.md +12 -0
  4. package/bin/n-cursor.js +2 -8
  5. package/docs/index.md +12 -0
  6. package/docs/stryker.config.md +3 -5
  7. package/docs/vitest.config.md +3 -5
  8. package/lib/docs/index.md +14 -0
  9. package/lib/docs/llm.md +4 -6
  10. package/lib/docs/models.md +3 -5
  11. package/lib/docs/omlx-trace.md +3 -5
  12. package/lib/docs/omlx.md +4 -6
  13. package/package.json +2 -1
  14. package/rules/abie/docs/fix.md +3 -5
  15. package/rules/abie/docs/index.md +11 -0
  16. package/rules/abie/js/docs/applies.md +3 -5
  17. package/rules/abie/js/docs/env_dns.md +3 -5
  18. package/rules/abie/js/docs/firebase_hosting.md +3 -5
  19. package/rules/abie/js/docs/hc_pairing.md +3 -5
  20. package/rules/abie/js/docs/index.md +16 -0
  21. package/rules/abie/js/docs/ua_http_route.md +3 -5
  22. package/rules/abie/js/docs/ua_node_selector.md +3 -5
  23. package/rules/abie/lib/docs/enabled.md +3 -5
  24. package/rules/abie/lib/docs/env-dns.md +3 -5
  25. package/rules/abie/lib/docs/hc-yaml.md +3 -5
  26. package/rules/abie/lib/docs/http-route.md +3 -5
  27. package/rules/abie/lib/docs/index.md +18 -0
  28. package/rules/abie/lib/docs/k8s-tree.md +3 -5
  29. package/rules/abie/lib/docs/kustomization-patches.md +3 -5
  30. package/rules/abie/lib/docs/overlay-paths.md +3 -5
  31. package/rules/abie/lib/docs/yaml.md +3 -5
  32. package/rules/adr/adr.mdc +2 -2
  33. package/rules/adr/docs/fix.md +3 -5
  34. package/rules/adr/docs/index.md +11 -0
  35. package/rules/adr/js/docs/hooks.md +3 -5
  36. package/rules/adr/js/docs/index.md +11 -0
  37. package/rules/bun/docs/fix.md +3 -5
  38. package/rules/bun/docs/index.md +11 -0
  39. package/rules/bun/js/docs/index.md +11 -0
  40. package/rules/bun/js/docs/layout.md +3 -5
  41. package/rules/capacitor/docs/fix.md +3 -5
  42. package/rules/capacitor/docs/index.md +11 -0
  43. package/rules/capacitor/js/docs/index.md +11 -0
  44. package/rules/capacitor/js/docs/platforms.md +3 -5
  45. package/rules/changelog/docs/fix.md +3 -5
  46. package/rules/changelog/docs/index.md +11 -0
  47. package/rules/changelog/js/docs/consistency.md +3 -5
  48. package/rules/changelog/js/docs/index.md +11 -0
  49. package/rules/changelog/lib/docs/index.md +11 -0
  50. package/rules/changelog/lib/docs/package-manifest.md +3 -5
  51. package/rules/ci4/docs/fix.md +3 -5
  52. package/rules/ci4/docs/index.md +11 -0
  53. package/rules/ci4/js/docs/index.md +11 -0
  54. package/rules/ci4/js/docs/marksman_config.md +3 -5
  55. package/rules/doc-files/docs/fix.md +3 -5
  56. package/rules/doc-files/docs/index.md +11 -0
  57. package/rules/doc-files/js/docgen-crc.mjs +50 -14
  58. package/rules/doc-files/js/docgen-files-batch.mjs +73 -2
  59. package/rules/doc-files/js/docs/docgen-crc.md +4 -6
  60. package/rules/doc-files/js/docs/docgen-extract-anchors.md +3 -5
  61. package/rules/doc-files/js/docs/docgen-extract.md +3 -5
  62. package/rules/doc-files/js/docs/docgen-files-batch.md +4 -6
  63. package/rules/doc-files/js/docs/docgen-gen.md +4 -6
  64. package/rules/doc-files/js/docs/docgen-ignore.md +3 -5
  65. package/rules/doc-files/js/docs/docgen-judge-measure.md +3 -5
  66. package/rules/doc-files/js/docs/docgen-judge.md +3 -5
  67. package/rules/doc-files/js/docs/docgen-prompts.md +3 -5
  68. package/rules/doc-files/js/docs/docgen-scan.md +4 -6
  69. package/rules/doc-files/js/docs/index.md +24 -0
  70. package/rules/doc-files/js/docs/lint.md +4 -6
  71. package/rules/doc-files/js/docs/units-js.md +3 -5
  72. package/rules/doc-files/js/docs/units-rs.md +3 -5
  73. package/rules/doc-files/js/docs/units.md +3 -5
  74. package/rules/doc-files/lint/docs/index.md +11 -0
  75. package/rules/doc-files/lint/docs/lint.md +3 -5
  76. package/rules/docker/docs/fix.md +3 -5
  77. package/rules/docker/docs/index.md +11 -0
  78. package/rules/docker/js/docs/index.md +11 -0
  79. package/rules/docker/js/docs/lint.md +3 -5
  80. package/rules/docker/lib/docs/docker-hadolint.md +3 -5
  81. package/rules/docker/lib/docs/docker-mirror.md +3 -5
  82. package/rules/docker/lib/docs/docker-native-addon.md +3 -5
  83. package/rules/docker/lib/docs/docker-nginx-user.md +3 -5
  84. package/rules/docker/lib/docs/index.md +14 -0
  85. package/rules/docker/lint/docs/index.md +11 -0
  86. package/rules/docker/lint/docs/lint.md +3 -5
  87. package/rules/efes/docs/fix.md +3 -5
  88. package/rules/efes/docs/index.md +11 -0
  89. package/rules/feedback/docs/fix.md +3 -5
  90. package/rules/feedback/docs/index.md +11 -0
  91. package/rules/ga/docs/fix.md +3 -5
  92. package/rules/ga/docs/index.md +11 -0
  93. package/rules/ga/js/docs/index.md +12 -0
  94. package/rules/ga/js/docs/lint.md +3 -5
  95. package/rules/ga/js/docs/workflows.md +3 -5
  96. package/rules/ga/lint/docs/index.md +11 -0
  97. package/rules/ga/lint/docs/lint.md +3 -5
  98. package/rules/graphql/docs/fix.md +3 -5
  99. package/rules/graphql/docs/index.md +11 -0
  100. package/rules/graphql/js/docs/index.md +11 -0
  101. package/rules/graphql/js/docs/tooling.md +3 -5
  102. package/rules/graphql/lib/docs/graphql-gql-scan.md +3 -5
  103. package/rules/graphql/lib/docs/index.md +11 -0
  104. package/rules/hasura/docs/fix.md +3 -5
  105. package/rules/hasura/docs/index.md +11 -0
  106. package/rules/hasura/js/docs/index.md +11 -0
  107. package/rules/hasura/js/docs/internal_urls.md +3 -5
  108. package/rules/image-avif/docs/fix.md +3 -5
  109. package/rules/image-avif/docs/index.md +11 -0
  110. package/rules/image-avif/js/docs/avif_generation.md +3 -5
  111. package/rules/image-avif/js/docs/index.md +11 -0
  112. package/rules/image-compress/docs/fix.md +3 -5
  113. package/rules/image-compress/docs/index.md +11 -0
  114. package/rules/image-compress/js/docs/index.md +11 -0
  115. package/rules/image-compress/js/docs/package_setup.md +3 -5
  116. package/rules/js-bun-db/docs/fix.md +3 -5
  117. package/rules/js-bun-db/docs/index.md +11 -0
  118. package/rules/js-bun-db/js/docs/index.md +11 -0
  119. package/rules/js-bun-db/js/docs/safety.md +3 -5
  120. package/rules/js-bun-db/lib/docs/bun-sql-scan.md +3 -5
  121. package/rules/js-bun-db/lib/docs/index.md +11 -0
  122. package/rules/js-bun-redis/docs/fix.md +3 -5
  123. package/rules/js-bun-redis/docs/index.md +11 -0
  124. package/rules/js-bun-redis/js/docs/imports.md +3 -5
  125. package/rules/js-bun-redis/js/docs/index.md +11 -0
  126. package/rules/js-bun-redis/lib/docs/index.md +11 -0
  127. package/rules/js-bun-redis/lib/docs/redis-imports.md +3 -5
  128. package/rules/js-lint/docs/fix.md +3 -5
  129. package/rules/js-lint/docs/index.md +11 -0
  130. package/rules/js-lint/js/docs/index.md +14 -0
  131. package/rules/js-lint/js/docs/lint-findings.md +3 -5
  132. package/rules/js-lint/js/docs/lint.md +3 -5
  133. package/rules/js-lint/js/docs/tooling.md +3 -5
  134. package/rules/js-lint/js/docs/utils_imports.md +3 -5
  135. package/rules/js-lint-ci/docs/fix.md +3 -5
  136. package/rules/js-lint-ci/docs/index.md +11 -0
  137. package/rules/js-lint-ci/js/docs/index.md +11 -0
  138. package/rules/js-lint-ci/js/docs/lint.md +3 -5
  139. package/rules/js-mssql/docs/fix.md +3 -5
  140. package/rules/js-mssql/docs/index.md +11 -0
  141. package/rules/js-mssql/js/docs/deps.md +3 -5
  142. package/rules/js-mssql/js/docs/index.md +11 -0
  143. package/rules/js-mssql/lib/docs/index.md +11 -0
  144. package/rules/js-mssql/lib/docs/mssql-pool-scan.md +3 -5
  145. package/rules/js-run/docs/fix.md +3 -5
  146. package/rules/js-run/docs/index.md +11 -0
  147. package/rules/js-run/js/docs/index.md +11 -0
  148. package/rules/js-run/js/docs/runtime.md +3 -5
  149. package/rules/js-run/lib/docs/bunyan-imports.md +3 -5
  150. package/rules/js-run/lib/docs/check-env-scan.md +3 -5
  151. package/rules/js-run/lib/docs/conn-file-rules.md +3 -5
  152. package/rules/js-run/lib/docs/conn-imports-scan.md +3 -5
  153. package/rules/js-run/lib/docs/index.md +16 -0
  154. package/rules/js-run/lib/docs/promise-settimeout-scan.md +3 -5
  155. package/rules/js-run/lib/docs/temporal-scan.md +3 -5
  156. package/rules/k8s/docs/fix.md +3 -5
  157. package/rules/k8s/docs/index.md +11 -0
  158. package/rules/k8s/k8s.mdc +10 -0
  159. package/rules/k8s/lint/docs/index.md +11 -0
  160. package/rules/k8s/lint/docs/lint.md +3 -5
  161. package/rules/k8s/policy/manifest/manifest.rego +46 -0
  162. package/rules/lint/docs/fix.md +3 -5
  163. package/rules/lint/docs/index.md +11 -0
  164. package/rules/lint/js/docs/index.md +11 -0
  165. package/rules/lint/js/docs/orchestrate.md +4 -6
  166. package/rules/nginx-default-tpl/docs/fix.md +3 -5
  167. package/rules/nginx-default-tpl/docs/index.md +11 -0
  168. package/rules/nginx-default-tpl/js/docs/index.md +11 -0
  169. package/rules/nginx-default-tpl/js/docs/template.md +3 -5
  170. package/rules/npm-module/docs/fix.md +3 -5
  171. package/rules/npm-module/docs/index.md +11 -0
  172. package/rules/npm-module/js/docs/header_doc_pointer.md +3 -5
  173. package/rules/npm-module/js/docs/index.md +14 -0
  174. package/rules/npm-module/js/docs/package_structure.md +3 -5
  175. package/rules/npm-module/js/docs/rule_meta.md +3 -5
  176. package/rules/npm-module/js/docs/skill_meta.md +3 -5
  177. package/rules/php/docs/fix.md +3 -5
  178. package/rules/php/docs/index.md +11 -0
  179. package/rules/php/js/docs/index.md +11 -0
  180. package/rules/php/js/docs/tooling.md +3 -5
  181. package/rules/php/lint/docs/index.md +11 -0
  182. package/rules/php/lint/docs/lint.md +3 -5
  183. package/rules/python/docs/fix.md +3 -5
  184. package/rules/python/docs/index.md +11 -0
  185. package/rules/python/js/docs/applies.md +3 -5
  186. package/rules/python/js/docs/index.md +12 -0
  187. package/rules/python/js/docs/tooling.md +3 -5
  188. package/rules/python/lint/docs/index.md +11 -0
  189. package/rules/python/lint/docs/lint.md +3 -5
  190. package/rules/rego/docs/fix.md +3 -5
  191. package/rules/rego/docs/index.md +11 -0
  192. package/rules/rego/js/docs/applies.md +3 -5
  193. package/rules/rego/js/docs/index.md +12 -0
  194. package/rules/rego/js/docs/lint.md +3 -5
  195. package/rules/rego/lint/docs/index.md +11 -0
  196. package/rules/rego/lint/docs/lint.md +3 -5
  197. package/rules/release/docs/change.md +3 -5
  198. package/rules/release/docs/fix.md +3 -5
  199. package/rules/release/docs/index.md +13 -0
  200. package/rules/release/docs/release.md +4 -6
  201. package/rules/release/lib/docs/aggregate.md +3 -5
  202. package/rules/release/lib/docs/change-file.md +3 -3
  203. package/rules/release/lib/docs/fallback.md +3 -5
  204. package/rules/release/lib/docs/index.md +13 -0
  205. package/rules/release/release.mjs +40 -1
  206. package/rules/rust/docs/fix.md +3 -5
  207. package/rules/rust/docs/index.md +11 -0
  208. package/rules/rust/js/docs/applies.md +3 -5
  209. package/rules/rust/js/docs/index.md +11 -0
  210. package/rules/rust/lib/docs/has-cargo-toml.md +3 -5
  211. package/rules/rust/lib/docs/index.md +11 -0
  212. package/rules/security/docs/fix.md +3 -5
  213. package/rules/security/docs/index.md +11 -0
  214. package/rules/security/js/docs/index.md +13 -0
  215. package/rules/security/js/docs/lint.md +3 -5
  216. package/rules/security/js/docs/sample_secret.md +3 -5
  217. package/rules/security/js/docs/trufflehog.md +3 -5
  218. package/rules/style-lint/docs/fix.md +3 -5
  219. package/rules/style-lint/docs/index.md +11 -0
  220. package/rules/style-lint/js/docs/index.md +12 -0
  221. package/rules/style-lint/js/docs/lint.md +3 -5
  222. package/rules/style-lint/js/docs/tooling.md +3 -5
  223. package/rules/tauri/docs/fix.md +3 -5
  224. package/rules/tauri/docs/index.md +11 -0
  225. package/rules/tauri/js/docs/cargo_mutants_config.md +3 -5
  226. package/rules/tauri/js/docs/index.md +12 -0
  227. package/rules/tauri/js/docs/tooling.md +3 -5
  228. package/rules/test/docs/fix.md +3 -5
  229. package/rules/test/docs/index.md +11 -0
  230. package/rules/test/js/data/stryker_config/docs/index.md +13 -0
  231. package/rules/test/js/data/stryker_config/docs/stryker-vue-macros-ignorer.md +3 -5
  232. package/rules/test/js/data/stryker_config/docs/stryker.config.baseline.md +3 -5
  233. package/rules/test/js/data/stryker_config/docs/stryker.config.vue.baseline.md +3 -5
  234. package/rules/test/js/data/vitest_config/docs/index.md +11 -0
  235. package/rules/test/js/data/vitest_config/docs/vitest.config.baseline.md +3 -5
  236. package/rules/test/js/docs/cargo_mutants_config.md +3 -5
  237. package/rules/test/js/docs/index.md +16 -0
  238. package/rules/test/js/docs/location.md +3 -5
  239. package/rules/test/js/docs/no-process-chdir.md +3 -5
  240. package/rules/test/js/docs/no-relative-fs-path.md +3 -5
  241. package/rules/test/js/docs/stryker_config.md +3 -5
  242. package/rules/test/js/docs/vitest-config-pool-forks.md +3 -5
  243. package/rules/text/docs/fix.md +3 -5
  244. package/rules/text/docs/index.md +11 -0
  245. package/rules/text/js/docs/forbidden-prettier.md +3 -5
  246. package/rules/text/js/docs/formatting.md +4 -6
  247. package/rules/text/js/docs/index.md +13 -0
  248. package/rules/text/js/docs/lint.md +4 -6
  249. package/rules/text/lint/docs/cspell-fix.md +4 -6
  250. package/rules/text/lint/docs/index.md +15 -0
  251. package/rules/text/lint/docs/lint.md +4 -6
  252. package/rules/text/lint/docs/run-dotenv-linter.md +3 -5
  253. package/rules/text/lint/docs/run-shellcheck.md +3 -5
  254. package/rules/text/lint/docs/run-v8r.md +3 -5
  255. package/rules/vue/docs/fix.md +3 -5
  256. package/rules/vue/docs/index.md +11 -0
  257. package/rules/vue/js/docs/index.md +11 -0
  258. package/rules/vue/js/docs/packages.md +3 -5
  259. package/rules/vue/lib/docs/index.md +11 -0
  260. package/rules/vue/lib/docs/vue-forbidden-imports.md +3 -5
  261. package/rules/vue/vue.mdc +19 -1
  262. package/rules/worktree/docs/fix.md +3 -5
  263. package/rules/worktree/docs/index.md +11 -0
  264. package/rules/worktree/worktree.mdc +8 -8
  265. package/scripts/coverage-classify/docs/apply.md +3 -5
  266. package/scripts/coverage-classify/docs/cache.md +3 -5
  267. package/scripts/coverage-classify/docs/index.md +9 -27
  268. package/scripts/coverage-classify/docs/prompt.md +3 -5
  269. package/scripts/coverage-classify/docs/verdict-schema.md +3 -5
  270. package/scripts/dispatcher/docs/index.md +11 -0
  271. package/scripts/dispatcher/docs/trace.md +3 -5
  272. package/scripts/docs/auto-rules.md +3 -5
  273. package/scripts/docs/auto-skills.md +3 -5
  274. package/scripts/docs/build-agents-commands.md +3 -5
  275. package/scripts/docs/cli-entry.md +3 -5
  276. package/scripts/docs/coverage-fix-extract.md +3 -5
  277. package/scripts/docs/coverage-fix.md +3 -5
  278. package/scripts/docs/ensure-nitra-cursor-dev-dependencies.md +3 -5
  279. package/scripts/docs/index.md +24 -0
  280. package/scripts/docs/post-tool-use-fix.md +4 -6
  281. package/scripts/docs/rename-yaml-extensions.md +3 -5
  282. package/scripts/docs/skills-cli.md +3 -5
  283. package/scripts/docs/sync-claude-config.md +3 -5
  284. package/scripts/docs/sync-setup-bun-deps-action.md +3 -5
  285. package/scripts/docs/upgrade-nitra-cursor-and-install.md +3 -5
  286. package/scripts/docs/worktree-cli.md +3 -5
  287. package/scripts/lib/adr/docs/index.md +12 -0
  288. package/scripts/lib/adr/docs/normalize-cli.md +3 -5
  289. package/scripts/lib/adr/docs/normalize-pipeline.md +4 -6
  290. package/scripts/lib/adr/normalize-pipeline.mjs +140 -46
  291. package/scripts/lib/docs/assert-project-root.md +3 -5
  292. package/scripts/lib/docs/changed-files.md +3 -5
  293. package/scripts/lib/docs/check-mdc-template-refs.md +3 -5
  294. package/scripts/lib/docs/check-reporter.md +3 -5
  295. package/scripts/lib/docs/diff-added-lines.md +3 -5
  296. package/scripts/lib/docs/discover-check-rules-from-cursor.md +3 -5
  297. package/scripts/lib/docs/discover-checkable-rules.md +3 -5
  298. package/scripts/lib/docs/ensure-tool.md +3 -5
  299. package/scripts/lib/docs/generated-markdown.md +3 -5
  300. package/scripts/lib/docs/gha-workflow.md +3 -5
  301. package/scripts/lib/docs/index.md +44 -0
  302. package/scripts/lib/docs/inline-template-links.md +3 -5
  303. package/scripts/lib/docs/list-project-rules-mdc.md +3 -5
  304. package/scripts/lib/docs/list-rule-ids.md +3 -5
  305. package/scripts/lib/docs/load-cursor-config.md +3 -5
  306. package/scripts/lib/docs/mirror-parity.md +3 -3
  307. package/scripts/lib/docs/read-n-cursor-config-lite.md +3 -5
  308. package/scripts/lib/docs/resolve-target-files.md +3 -5
  309. package/scripts/lib/docs/root-notice.md +3 -5
  310. package/scripts/lib/docs/rule-meta-helpers.md +3 -5
  311. package/scripts/lib/docs/rule-meta.md +3 -5
  312. package/scripts/lib/docs/rule-predicates.md +3 -5
  313. package/scripts/lib/docs/run-conftest-batch.md +3 -5
  314. package/scripts/lib/docs/run-lint-step.md +3 -5
  315. package/scripts/lib/docs/run-rule-cli.md +3 -5
  316. package/scripts/lib/docs/run-rule.md +3 -5
  317. package/scripts/lib/docs/run-standard-lint.md +3 -5
  318. package/scripts/lib/docs/run-standard-rule.md +3 -5
  319. package/scripts/lib/docs/skill-meta.md +3 -5
  320. package/scripts/lib/docs/sync-gitignore-worktree.md +3 -5
  321. package/scripts/lib/docs/template.md +3 -5
  322. package/scripts/lib/docs/timing-summary.md +3 -5
  323. package/scripts/lib/docs/workspaces.md +3 -5
  324. package/scripts/lib/docs/worktree-notice.md +3 -5
  325. package/scripts/lib/docs/worktree.md +3 -5
  326. package/scripts/lib/fix/docs/index.md +16 -0
  327. package/scripts/lib/fix/docs/llm-fix-apply.md +3 -5
  328. package/scripts/lib/fix/docs/llm-lint-fix.md +3 -5
  329. package/scripts/lib/fix/docs/llm-worker.md +3 -5
  330. package/scripts/lib/fix/docs/orchestrator.md +3 -5
  331. package/scripts/lib/fix/docs/run-fix-check.md +3 -5
  332. package/scripts/lib/fix/docs/t0.md +3 -5
  333. package/scripts/lib/worktree-notice.mjs +3 -38
  334. package/scripts/utils/docs/ast-scan-utils.md +3 -5
  335. package/scripts/utils/docs/ensure-gitignore-entries.md +3 -5
  336. package/scripts/utils/docs/find-package-json-paths.md +3 -5
  337. package/scripts/utils/docs/index.md +23 -0
  338. package/scripts/utils/docs/lock-cache-dir.md +3 -5
  339. package/scripts/utils/docs/pass.md +3 -5
  340. package/scripts/utils/docs/resolve-cargo-manifest.md +3 -5
  341. package/scripts/utils/docs/resolve-cmd.md +3 -5
  342. package/scripts/utils/docs/resolve-js-root.md +3 -5
  343. package/scripts/utils/docs/test-helpers.md +3 -5
  344. package/scripts/utils/docs/walk-cache.md +3 -5
  345. package/scripts/utils/docs/walkDir.md +3 -5
  346. package/scripts/utils/docs/with-lock.md +3 -5
  347. package/scripts/utils/docs/worktree-fingerprint.md +3 -5
  348. package/skills/doc-aggregate/js/docs/docgen-ignore.md +3 -5
  349. package/skills/doc-aggregate/js/docs/docgen-scan.md +3 -5
  350. package/skills/doc-aggregate/js/docs/index.md +12 -0
  351. package/skills/start-check/js/docs/check.md +3 -5
  352. package/skills/start-check/js/docs/index.md +11 -0
  353. package/skills/taze/js/docs/diff.md +3 -5
  354. package/skills/taze/js/docs/index.md +11 -0
  355. package/scripts/lib/worktree.mjs +0 -126
  356. package/scripts/worktree-cli.mjs +0 -230
  357. package/skills/worktree/SKILL.md +0 -38
  358. package/skills/worktree/meta.json +0 -1
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-mssql
4
+ resource: npm/rules/js-mssql/
5
+ ---
6
+
7
+ # npm/rules/js-mssql
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: deps.mjs
4
+ resource: npm/rules/js-mssql/js/deps.mjs
2
5
  docgen:
3
- source: npm/rules/js-mssql/js/deps.mjs
4
6
  crc: d5bc32ba
5
7
  score: 100
6
8
  ---
7
9
 
8
- # deps.mjs
9
-
10
- ## Огляд
11
-
12
10
  request
13
11
  Витягує рядок версії `dependencies.mssql` з `package.json` (js-mssql.mdc)
14
12
 
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-mssql/js
4
+ resource: npm/rules/js-mssql/js/
5
+ ---
6
+
7
+ # npm/rules/js-mssql/js
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [deps.mjs](deps.md) | JS Module |
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-mssql/lib
4
+ resource: npm/rules/js-mssql/lib/
5
+ ---
6
+
7
+ # npm/rules/js-mssql/lib
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [mssql-pool-scan.mjs](mssql-pool-scan.md) | JS Module |
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: mssql-pool-scan.mjs
4
+ resource: npm/rules/js-mssql/lib/mssql-pool-scan.mjs
2
5
  docgen:
3
- source: npm/rules/js-mssql/lib/mssql-pool-scan.mjs
4
6
  crc: 7490294a
5
7
  ---
6
8
 
7
- # mssql-pool-scan.mjs
8
-
9
- ## Огляд
10
-
11
9
  Модуль `mssql-pool-scan.mjs` — це набір AST-сканерів, що шукають **небезпечні патерни використання драйвера `mssql`** (Microsoft SQL Server для Node.js) у вихідних файлах JavaScript / TypeScript. Сканери призначені для статичного аналізу й використовуються з правил `js-mssql` (див. `js-mssql.mdc`).
12
10
 
13
11
  Модуль виявляє п'ять класів проблем:
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: fix.mjs
4
+ resource: npm/rules/js-run/fix.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/fix.mjs
4
6
  crc: 38cf876b
5
7
  score: 100
6
8
  ---
7
9
 
8
- # fix.mjs
9
-
10
- ## Огляд
11
-
12
10
  Виконує застосування політики JS-занепокоєних до mdc-refs на вхідному контексті прогону та повертає результат.
13
11
 
14
12
  Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`, завантажує конфігурацію, перевіряє дозволені елементи та повертає код виходу.
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-run
4
+ resource: npm/rules/js-run/
5
+ ---
6
+
7
+ # npm/rules/js-run
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-run/js
4
+ resource: npm/rules/js-run/js/
5
+ ---
6
+
7
+ # npm/rules/js-run/js
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [runtime.mjs](runtime.md) | JS Module |
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: runtime.mjs
4
+ resource: npm/rules/js-run/js/runtime.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/js/runtime.mjs
4
6
  crc: 9c22e999
5
7
  score: 90
6
8
  ---
7
9
 
8
- # runtime.mjs
9
-
10
- ## Огляд
11
-
12
10
  pgWriteContract перевіряє правила нейминга та експортів для файлів усередині `#conn/`.
13
11
  check перевіряє правила js-run.mdc лише для workspace-пакетів.
14
12
 
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: bunyan-imports.mjs
4
+ resource: npm/rules/js-run/lib/bunyan-imports.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/bunyan-imports.mjs
4
6
  crc: 5f403a53
5
7
  ---
6
8
 
7
- # `bunyan-imports.mjs`
8
-
9
- ## Огляд
10
-
11
9
  Модуль `bunyan-imports.mjs` — це AST-сканер, який знаходить у вихідних файлах JavaScript / TypeScript заборонені імпорти й виклики модулів `@nitra/bunyan` та застарілого `bunyan`. Згідно з правилом `js-run.mdc` уся логіка структурованого логування у проєкті переведена на `@nitra/pino`, тому будь-яке згадування `bunyan`/`@nitra/bunyan` має бути замінене на `@nitra/pino`.
12
10
 
13
11
  Ключові властивості:
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: check-env-scan.mjs
4
+ resource: npm/rules/js-run/lib/check-env-scan.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/check-env-scan.mjs
4
6
  crc: 56c971d4
5
7
  ---
6
8
 
7
- # `check-env-scan.mjs` — AST-сканер правила «process.env / CheckEnv»
8
-
9
- ## Огляд
10
-
11
9
  Модуль `npm/rules/js-run/lib/check-env-scan.mjs` — це **статичний AST-сканер**,
12
10
  що реалізує перевірку правила `js-run.mdc` для двох контрактів роботи зі
13
11
  змінними оточення в JavaScript/TypeScript-коді:
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: conn-file-rules.mjs
4
+ resource: npm/rules/js-run/lib/conn-file-rules.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/conn-file-rules.mjs
4
6
  crc: 4bebf12c
5
7
  ---
6
8
 
7
- # conn-file-rules.mjs
8
-
9
- ## Огляд
10
-
11
9
  Модуль реалізує перевірки для файлів-підключень (connection files), що лежать у каталозі `src/conn/` (або в зоні дії lint-правила `conn-file` зі специфікації `js-run.mdc`, секції «Нейминг файлів у `src/conn/`» та «Експорти у файлах `src/conn/`»).
12
10
 
13
11
  Він описує канонічну форму імені файла-підключення і канонічну форму його експорту, та надає функції для:
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: conn-imports-scan.mjs
4
+ resource: npm/rules/js-run/lib/conn-imports-scan.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/conn-imports-scan.mjs
4
6
  crc: 5234d8ba
5
7
  ---
6
8
 
7
- # conn-imports-scan.mjs
8
-
9
- ## Огляд
10
-
11
9
  Модуль реалізує AST-сканер для правила «Внутрішні аліаси» з `js-run.mdc`. Його завдання — знаходити в JS/TS-файлах ті імпорти, що створюють підключення до бази даних або зовнішнього GraphQL-сервісу, і які повинні жити **лише** в каталозі `conn` пакета (типово `src/conn/`). Решта коду пакета має споживати ці підключення через `pkg-import` `#conn/...`, оголошений у полі `imports` файла `package.json`.
12
10
 
13
11
  Сканер ловить три типи імпортів:
@@ -0,0 +1,16 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js-run/lib
4
+ resource: npm/rules/js-run/lib/
5
+ ---
6
+
7
+ # npm/rules/js-run/lib
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 |
15
+ | [promise-settimeout-scan.mjs](promise-settimeout-scan.md) | JS Module |
16
+ | [temporal-scan.mjs](temporal-scan.md) | JS Module |
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: promise-settimeout-scan.mjs
4
+ resource: npm/rules/js-run/lib/promise-settimeout-scan.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/promise-settimeout-scan.mjs
4
6
  crc: a7cea379
5
7
  ---
6
8
 
7
- # promise-settimeout-scan.mjs
8
-
9
- ## Огляд
10
-
11
9
  Модуль `promise-settimeout-scan.mjs` — це AST-сканер, який виявляє у вихідному коді JavaScript/TypeScript антипаттерн «обгортка `setTimeout` у `new Promise`» виду:
12
10
 
13
11
  ```js
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: temporal-scan.mjs
4
+ resource: npm/rules/js-run/lib/temporal-scan.mjs
2
5
  docgen:
3
- source: npm/rules/js-run/lib/temporal-scan.mjs
4
6
  crc: 5b15b070
5
7
  ---
6
8
 
7
- # temporal-scan.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл є частиною системи, яка сканує код Bun workspace на наявність використання ключового слова `Temporal`. Він запобігає використанню `Temporal` у backend-коді, оскільки Bun 1.3.x ще не має глобального `Temporal`, та охоплює сценарії з імпортом та polyfill. Це забезпечує відповідність коду поточним вимогам Bun runtime щодо обробки часу.
12
10
 
13
11
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: fix.mjs
4
+ resource: npm/rules/k8s/fix.mjs
2
5
  docgen:
3
- source: npm/rules/k8s/fix.mjs
4
6
  crc: 38cf876b
5
7
  score: 100
6
8
  ---
7
9
 
8
- # fix.mjs
9
-
10
- ## Огляд
11
-
12
10
  Файл надає механізми для виконання визначених правил. Виконання цих правил здійснюється через публічну функцію run. Виконання відбувається у режимі командного рядка.
13
11
 
14
12
  ## Поведінка
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/k8s
4
+ resource: npm/rules/k8s/
5
+ ---
6
+
7
+ # npm/rules/k8s
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
package/rules/k8s/k8s.mdc CHANGED
@@ -414,6 +414,16 @@ images:
414
414
 
415
415
  Для **кожного** `kind: Deployment` у каталозі **`…/k8s/…/base/`** (у будь-якому файлі `.yaml`, наприклад **`deploy.yaml`**, **`deployment.yaml`**) сам Deployment має канонічні **`spec.template.spec.topologySpreadConstraints`**, а **HPA і PDB** живуть у **sibling каталозі** **`…/k8s/…/components/`** (Kustomize Component, фіксована назва каталогу — `components`). У `base/` локальні `hpa.yaml` і `pdb.yaml` **заборонені** (file-existence error). У дереві base-kustomize HPA / PDB також **не дозволені** через `resources` / `components` / `bases`.
416
416
 
417
+ Кожен **Deployment** має явно задавати безпечну rollout strategy: **`spec.strategy.type: RollingUpdate`**, **`spec.strategy.rollingUpdate.maxUnavailable: 0`**, **`spec.strategy.rollingUpdate.maxSurge: 1`**. Це гарантує, що під час оновлення image Kubernetes спершу створить один новий Pod, дочекається його `Ready`, і лише потім прибере один старий Pod; для prod-overlays, що успадковують `base`, це запобігає короткому вікну без ready backend-ів.
418
+
419
+ ```yaml
420
+ strategy:
421
+ type: RollingUpdate
422
+ rollingUpdate:
423
+ maxUnavailable: 0
424
+ maxSurge: 1
425
+ ```
426
+
417
427
  **NetworkPolicy** — інша історія: оскільки обмеження мережі мають діяти **і на dev**, NP лежить **у `base/`** (а не в `components/`). Для **кожного** з **`Deployment`**, **`StatefulSet`**, **`DaemonSet`**, **`Job`**, **`CronJob`** під `k8s` обов'язковий **NetworkPolicy**: у **`…/k8s/…/base/`** — у **`base/networkpolicy.yaml`** поруч з workload-маніфестом (multi-doc, якщо workload-ів кілька); у **не-base** — **`networkpolicy.yaml`** поруч із маніфестом workload у тому ж каталозі (overlay-specific override). `metadata.name` NetworkPolicy **= `metadata.name`** workload; `spec.podSelector.matchLabels.app` **= мітка `app`** з `spec.selector.matchLabels` (для **Job** — з `spec.template.metadata.labels.app`, для **CronJob** — з `spec.jobTemplate.spec.template.metadata.labels.app`; у Job/CronJob ручний `spec.selector` невалідний без `manualSelector: true`, тож джерело — pod-template labels). У `base/kustomization.yaml` `resources:` має бути `networkpolicy.yaml`. Відсутні документи **`check k8s`** створює автоматично і додає `networkpolicy.yaml` у `base/kustomization.yaml` `resources:`.
418
428
 
419
429
  **Канонічна структура `<pkg>/k8s/components/`** (sibling до `base/`) — лише HPA і PDB:
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/k8s/lint
4
+ resource: npm/rules/k8s/lint/
5
+ ---
6
+
7
+ # npm/rules/k8s/lint
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [lint.mjs](lint.md) | JS Module |
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: lint.mjs
4
+ resource: npm/rules/k8s/lint/lint.mjs
2
5
  docgen:
3
- source: npm/rules/k8s/lint/lint.mjs
4
6
  crc: b6119c36
5
7
  ---
6
8
 
7
- # lint.mjs — лінт Kubernetes-маніфестів (kubeconform + kubescape)
8
-
9
- ## Огляд
10
-
11
9
  Модуль `lint.mjs` реалізує підкоманду `lint-k8s` CLI `n-cursor`. Він автоматично знаходить у репозиторії всі дерева Kubernetes-маніфестів за конвенційним сегментом шляху `k8s/`, а потім послідовно валідує їх двома інструментами:
12
10
 
13
11
  1. **`kubeconform`** — структурна валідація YAML-маніфестів проти OpenAPI-схем Kubernetes; підтримує CRD-схеми з каталогу Datree.
@@ -18,6 +18,8 @@
18
18
  # - `kind: Deployment` з образом `hasura/graphql-engine` — образ має бути
19
19
  # у білому списку `allowed_hasura_images` (з digest або без; префікс
20
20
  # `docker.io/` дозволено);
21
+ # - `kind: Deployment` — rollout strategy має бути `RollingUpdate` з
22
+ # `maxUnavailable: 0` і `maxSurge: 1`;
21
23
  # - `kind: Deployment` — наявність канонічного запису у
22
24
  # `spec.template.spec.topologySpreadConstraints` (k8s.mdc).
23
25
  #
@@ -98,6 +100,12 @@ topology_spread_missing_template := concat(" ", [
98
100
  "labelSelector.matchLabels.app=%q (k8s.mdc)",
99
101
  ])
100
102
 
103
+ rollout_strategy_template := concat(" ", [
104
+ "Deployment %q: spec.strategy має бути RollingUpdate з",
105
+ "rollingUpdate.maxUnavailable=0 і rollingUpdate.maxSurge=1",
106
+ "(оновлення по одному pod без зменшення кількості ready pod-ів) (k8s.mdc)",
107
+ ])
108
+
101
109
  # ── deny: заборонені kind/apiVersion ──────────────────────────────────────
102
110
 
103
111
  deny contains ingress_template if {
@@ -175,6 +183,14 @@ deny contains msg if {
175
183
  msg := sprintf(hasura_image_template, [deployment_name, container.name, container.image])
176
184
  }
177
185
 
186
+ # ── deny: Deployment — безпечний RollingUpdate rollout ───────────────────
187
+
188
+ deny contains msg if {
189
+ input.kind == "Deployment"
190
+ not has_canonical_rollout_strategy
191
+ msg := sprintf(rollout_strategy_template, [deployment_name])
192
+ }
193
+
178
194
  # ── deny: Deployment — канонічний topologySpreadConstraints ───────────────
179
195
  #
180
196
  # Перевіряємо лише Deployment-и, що мають мітку `app` у
@@ -239,6 +255,36 @@ has_memory_field(container) if {
239
255
  "memory" in object.keys(requests)
240
256
  }
241
257
 
258
+ # Чи Deployment має rollout strategy, яка під час оновлення спершу додає один
259
+ # ready pod і тільки потім прибирає старий.
260
+ has_canonical_rollout_strategy if {
261
+ strategy := object.get(object.get(input, "spec", {}), "strategy", {})
262
+ strategy.type == "RollingUpdate"
263
+ rolling := object.get(strategy, "rollingUpdate", {})
264
+ is_zero_int_or_string(rolling.maxUnavailable)
265
+ is_one_int_or_string(rolling.maxSurge)
266
+ }
267
+
268
+ is_zero_int_or_string(v) if {
269
+ is_number(v)
270
+ v == 0
271
+ }
272
+
273
+ is_zero_int_or_string(v) if {
274
+ is_string(v)
275
+ trim_space(v) == "0"
276
+ }
277
+
278
+ is_one_int_or_string(v) if {
279
+ is_number(v)
280
+ v == 1
281
+ }
282
+
283
+ is_one_int_or_string(v) if {
284
+ is_string(v)
285
+ trim_space(v) == "1"
286
+ }
287
+
242
288
  # Чи рядок `image` посилається на репозиторій `hasura/graphql-engine` (з тегом
243
289
  # або без). Digest `@sha256:…` ігнорується.
244
290
  is_hasura_graphql_engine_image_ref(image) if {
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: fix.mjs
4
+ resource: npm/rules/lint/fix.mjs
2
5
  docgen:
3
- source: npm/rules/lint/fix.mjs
4
6
  crc: f85a9e1d
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # fix.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль забезпечує виконання логіки, визначеної правилом. Він ініціює виконання правила через публічну функцію `run`.
14
12
 
15
13
  ## Поведінка
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/lint
4
+ resource: npm/rules/lint/
5
+ ---
6
+
7
+ # npm/rules/lint
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/lint/js
4
+ resource: npm/rules/lint/js/
5
+ ---
6
+
7
+ # npm/rules/lint/js
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [orchestrate.mjs](orchestrate.md) | JS Module |
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: orchestrate.mjs
4
+ resource: npm/rules/lint/js/orchestrate.mjs
2
5
  docgen:
3
- source: npm/rules/lint/js/orchestrate.mjs
4
- crc: 2e5db1e7
6
+ crc: aed5ffe7
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # orchestrate.mjs
10
-
11
- ## Огляд
12
-
13
11
  Оркестратор `n-cursor lint` визначає, які правила лінтування застосовувати, керуючись двома ортогональними осями: консолідацією правил та уніфікацією режиму `readonly`. Вибір правил відбувається на основі конфігурацій, зокрема файлів `meta.json`, які визначають обсяг дії (`per-file` чи `full`) для кожного правила. Запуск лінтування може сканувати лише змінені файли відносно origin (за замовчуванням) або весь репозиторій при використанні прапорця `--full`.
14
12
 
15
13
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: fix.mjs
4
+ resource: npm/rules/nginx-default-tpl/fix.mjs
2
5
  docgen:
3
- source: npm/rules/nginx-default-tpl/fix.mjs
4
6
  crc: 38cf876b
5
7
  score: 100
6
8
  ---
7
9
 
8
- # fix.mjs
9
-
10
- ## Огляд
11
-
12
10
  Виконує застосування політики безпеки до посилань mdc.
13
11
 
14
12
  Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`, включаючи завантаження конфігурації, перевірку дозволених елементів та підбиття підсумку.
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/nginx-default-tpl
4
+ resource: npm/rules/nginx-default-tpl/
5
+ ---
6
+
7
+ # npm/rules/nginx-default-tpl
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/nginx-default-tpl/js
4
+ resource: npm/rules/nginx-default-tpl/js/
5
+ ---
6
+
7
+ # npm/rules/nginx-default-tpl/js
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [template.mjs](template.md) | JS Module |
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: template.mjs
4
+ resource: npm/rules/nginx-default-tpl/js/template.mjs
2
5
  docgen:
3
- source: npm/rules/nginx-default-tpl/js/template.mjs
4
6
  crc: 2d912e28
5
7
  score: 90
6
8
  ---
7
9
 
8
- # template.mjs
9
-
10
- ## Огляд
11
-
12
10
  Надає повну перевірку проєкту, включаючи перевірку шаблонів, Dockerfile та конфігурацій VSCode.
13
11
 
14
12
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: fix.mjs
4
+ resource: npm/rules/npm-module/fix.mjs
2
5
  docgen:
3
- source: npm/rules/npm-module/fix.mjs
4
6
  crc: 38cf876b
5
7
  score: 100
6
8
  ---
7
9
 
8
- # fix.mjs
9
-
10
- ## Огляд
11
-
12
10
  Виконує обробку JS-занепокоєних на наданому контексті прогону, застосовує політику [Політика_X] та генерує посилання MDC.
13
11
 
14
12
  ## Поведінка
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module
4
+ resource: npm/rules/npm-module/
5
+ ---
6
+
7
+ # npm/rules/npm-module
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [fix.mjs](fix.md) | JS Module |
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: header_doc_pointer.mjs
4
+ resource: npm/rules/npm-module/js/header_doc_pointer.mjs
2
5
  docgen:
3
- source: npm/rules/npm-module/js/header_doc_pointer.mjs
4
6
  crc: d96a2957
5
7
  score: 100
6
8
  ---
7
9
 
8
- # header_doc_pointer.mjs
9
-
10
- ## Огляд
11
-
12
10
  Файл виконує перевірку документації для модулів. Сканує директорії npm/rules та npm/skills. Перевіряє наявність файлів docs/<stem>.md у піддиректоріях правил/скілів. Перевіряє, чи містить відповідні js-файли не більше одного рядка JSDoc. У разі перевищення ліміту, генерує звіт про порушення.
13
11
 
14
12
  ## Поведінка
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module/js
4
+ resource: npm/rules/npm-module/js/
5
+ ---
6
+
7
+ # npm/rules/npm-module/js
8
+
9
+ | Файл | Тип |
10
+ |---|---|
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 |
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: package_structure.mjs
4
+ resource: npm/rules/npm-module/js/package_structure.mjs
2
5
  docgen:
3
- source: npm/rules/npm-module/js/package_structure.mjs
4
6
  crc: 943e3b76
5
7
  score: 85
6
8
  ---
7
9
 
8
- # package_structure.mjs
9
-
10
- ## Огляд
11
-
12
10
  globToRegex
13
11
  Перетворює glob-патерн у RegExp з якорями `^` та `$`.
14
12
 
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: rule_meta.mjs
4
+ resource: npm/rules/npm-module/js/rule_meta.mjs
2
5
  docgen:
3
- source: npm/rules/npm-module/js/rule_meta.mjs
4
6
  crc: 8262678c
5
7
  score: 100
6
8
  ---
7
9
 
8
- # rule_meta.mjs
9
-
10
- ## Огляд
11
-
12
10
  Перевіряє наявність директорії npm/rules у вказаному шляху. Ітерує по всіх директоріях у директорії npm/rules. Для кожної директорії виконує перевірку наявності файлу auto.md та валідність полів auto та lint у конфігурації meta.json. Перевіряє наявність файлу js/lint.mjs у каталозі правила. Збирає результати валідації та повертає код виходу репортера.
13
11
 
14
12
  ## Поведінка