@nitra/cursor 11.4.1 → 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 (356) 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 +6 -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/rust/docs/fix.md +3 -5
  206. package/rules/rust/docs/index.md +11 -0
  207. package/rules/rust/js/docs/applies.md +3 -5
  208. package/rules/rust/js/docs/index.md +11 -0
  209. package/rules/rust/lib/docs/has-cargo-toml.md +3 -5
  210. package/rules/rust/lib/docs/index.md +11 -0
  211. package/rules/security/docs/fix.md +3 -5
  212. package/rules/security/docs/index.md +11 -0
  213. package/rules/security/js/docs/index.md +13 -0
  214. package/rules/security/js/docs/lint.md +3 -5
  215. package/rules/security/js/docs/sample_secret.md +3 -5
  216. package/rules/security/js/docs/trufflehog.md +3 -5
  217. package/rules/style-lint/docs/fix.md +3 -5
  218. package/rules/style-lint/docs/index.md +11 -0
  219. package/rules/style-lint/js/docs/index.md +12 -0
  220. package/rules/style-lint/js/docs/lint.md +3 -5
  221. package/rules/style-lint/js/docs/tooling.md +3 -5
  222. package/rules/tauri/docs/fix.md +3 -5
  223. package/rules/tauri/docs/index.md +11 -0
  224. package/rules/tauri/js/docs/cargo_mutants_config.md +3 -5
  225. package/rules/tauri/js/docs/index.md +12 -0
  226. package/rules/tauri/js/docs/tooling.md +3 -5
  227. package/rules/test/docs/fix.md +3 -5
  228. package/rules/test/docs/index.md +11 -0
  229. package/rules/test/js/data/stryker_config/docs/index.md +13 -0
  230. package/rules/test/js/data/stryker_config/docs/stryker-vue-macros-ignorer.md +3 -5
  231. package/rules/test/js/data/stryker_config/docs/stryker.config.baseline.md +3 -5
  232. package/rules/test/js/data/stryker_config/docs/stryker.config.vue.baseline.md +3 -5
  233. package/rules/test/js/data/vitest_config/docs/index.md +11 -0
  234. package/rules/test/js/data/vitest_config/docs/vitest.config.baseline.md +3 -5
  235. package/rules/test/js/docs/cargo_mutants_config.md +3 -5
  236. package/rules/test/js/docs/index.md +16 -0
  237. package/rules/test/js/docs/location.md +3 -5
  238. package/rules/test/js/docs/no-process-chdir.md +3 -5
  239. package/rules/test/js/docs/no-relative-fs-path.md +3 -5
  240. package/rules/test/js/docs/stryker_config.md +3 -5
  241. package/rules/test/js/docs/vitest-config-pool-forks.md +3 -5
  242. package/rules/text/docs/fix.md +3 -5
  243. package/rules/text/docs/index.md +11 -0
  244. package/rules/text/js/docs/forbidden-prettier.md +3 -5
  245. package/rules/text/js/docs/formatting.md +4 -6
  246. package/rules/text/js/docs/index.md +13 -0
  247. package/rules/text/js/docs/lint.md +4 -6
  248. package/rules/text/lint/docs/cspell-fix.md +4 -6
  249. package/rules/text/lint/docs/index.md +15 -0
  250. package/rules/text/lint/docs/lint.md +4 -6
  251. package/rules/text/lint/docs/run-dotenv-linter.md +3 -5
  252. package/rules/text/lint/docs/run-shellcheck.md +3 -5
  253. package/rules/text/lint/docs/run-v8r.md +3 -5
  254. package/rules/vue/docs/fix.md +3 -5
  255. package/rules/vue/docs/index.md +11 -0
  256. package/rules/vue/js/docs/index.md +11 -0
  257. package/rules/vue/js/docs/packages.md +3 -5
  258. package/rules/vue/lib/docs/index.md +11 -0
  259. package/rules/vue/lib/docs/vue-forbidden-imports.md +3 -5
  260. package/rules/worktree/docs/fix.md +3 -5
  261. package/rules/worktree/docs/index.md +11 -0
  262. package/rules/worktree/worktree.mdc +8 -8
  263. package/scripts/coverage-classify/docs/apply.md +3 -5
  264. package/scripts/coverage-classify/docs/cache.md +3 -5
  265. package/scripts/coverage-classify/docs/index.md +9 -27
  266. package/scripts/coverage-classify/docs/prompt.md +3 -5
  267. package/scripts/coverage-classify/docs/verdict-schema.md +3 -5
  268. package/scripts/dispatcher/docs/index.md +11 -0
  269. package/scripts/dispatcher/docs/trace.md +3 -5
  270. package/scripts/docs/auto-rules.md +3 -5
  271. package/scripts/docs/auto-skills.md +3 -5
  272. package/scripts/docs/build-agents-commands.md +3 -5
  273. package/scripts/docs/cli-entry.md +3 -5
  274. package/scripts/docs/coverage-fix-extract.md +3 -5
  275. package/scripts/docs/coverage-fix.md +3 -5
  276. package/scripts/docs/ensure-nitra-cursor-dev-dependencies.md +3 -5
  277. package/scripts/docs/index.md +24 -0
  278. package/scripts/docs/post-tool-use-fix.md +4 -6
  279. package/scripts/docs/rename-yaml-extensions.md +3 -5
  280. package/scripts/docs/skills-cli.md +3 -5
  281. package/scripts/docs/sync-claude-config.md +3 -5
  282. package/scripts/docs/sync-setup-bun-deps-action.md +3 -5
  283. package/scripts/docs/upgrade-nitra-cursor-and-install.md +3 -5
  284. package/scripts/docs/worktree-cli.md +3 -5
  285. package/scripts/lib/adr/docs/index.md +12 -0
  286. package/scripts/lib/adr/docs/normalize-cli.md +3 -5
  287. package/scripts/lib/adr/docs/normalize-pipeline.md +4 -6
  288. package/scripts/lib/adr/normalize-pipeline.mjs +140 -46
  289. package/scripts/lib/docs/assert-project-root.md +3 -5
  290. package/scripts/lib/docs/changed-files.md +3 -5
  291. package/scripts/lib/docs/check-mdc-template-refs.md +3 -5
  292. package/scripts/lib/docs/check-reporter.md +3 -5
  293. package/scripts/lib/docs/diff-added-lines.md +3 -5
  294. package/scripts/lib/docs/discover-check-rules-from-cursor.md +3 -5
  295. package/scripts/lib/docs/discover-checkable-rules.md +3 -5
  296. package/scripts/lib/docs/ensure-tool.md +3 -5
  297. package/scripts/lib/docs/generated-markdown.md +3 -5
  298. package/scripts/lib/docs/gha-workflow.md +3 -5
  299. package/scripts/lib/docs/index.md +44 -0
  300. package/scripts/lib/docs/inline-template-links.md +3 -5
  301. package/scripts/lib/docs/list-project-rules-mdc.md +3 -5
  302. package/scripts/lib/docs/list-rule-ids.md +3 -5
  303. package/scripts/lib/docs/load-cursor-config.md +3 -5
  304. package/scripts/lib/docs/mirror-parity.md +3 -3
  305. package/scripts/lib/docs/read-n-cursor-config-lite.md +3 -5
  306. package/scripts/lib/docs/resolve-target-files.md +3 -5
  307. package/scripts/lib/docs/root-notice.md +3 -5
  308. package/scripts/lib/docs/rule-meta-helpers.md +3 -5
  309. package/scripts/lib/docs/rule-meta.md +3 -5
  310. package/scripts/lib/docs/rule-predicates.md +3 -5
  311. package/scripts/lib/docs/run-conftest-batch.md +3 -5
  312. package/scripts/lib/docs/run-lint-step.md +3 -5
  313. package/scripts/lib/docs/run-rule-cli.md +3 -5
  314. package/scripts/lib/docs/run-rule.md +3 -5
  315. package/scripts/lib/docs/run-standard-lint.md +3 -5
  316. package/scripts/lib/docs/run-standard-rule.md +3 -5
  317. package/scripts/lib/docs/skill-meta.md +3 -5
  318. package/scripts/lib/docs/sync-gitignore-worktree.md +3 -5
  319. package/scripts/lib/docs/template.md +3 -5
  320. package/scripts/lib/docs/timing-summary.md +3 -5
  321. package/scripts/lib/docs/workspaces.md +3 -5
  322. package/scripts/lib/docs/worktree-notice.md +3 -5
  323. package/scripts/lib/docs/worktree.md +3 -5
  324. package/scripts/lib/fix/docs/index.md +16 -0
  325. package/scripts/lib/fix/docs/llm-fix-apply.md +3 -5
  326. package/scripts/lib/fix/docs/llm-lint-fix.md +3 -5
  327. package/scripts/lib/fix/docs/llm-worker.md +3 -5
  328. package/scripts/lib/fix/docs/orchestrator.md +3 -5
  329. package/scripts/lib/fix/docs/run-fix-check.md +3 -5
  330. package/scripts/lib/fix/docs/t0.md +3 -5
  331. package/scripts/lib/worktree-notice.mjs +3 -38
  332. package/scripts/utils/docs/ast-scan-utils.md +3 -5
  333. package/scripts/utils/docs/ensure-gitignore-entries.md +3 -5
  334. package/scripts/utils/docs/find-package-json-paths.md +3 -5
  335. package/scripts/utils/docs/index.md +23 -0
  336. package/scripts/utils/docs/lock-cache-dir.md +3 -5
  337. package/scripts/utils/docs/pass.md +3 -5
  338. package/scripts/utils/docs/resolve-cargo-manifest.md +3 -5
  339. package/scripts/utils/docs/resolve-cmd.md +3 -5
  340. package/scripts/utils/docs/resolve-js-root.md +3 -5
  341. package/scripts/utils/docs/test-helpers.md +3 -5
  342. package/scripts/utils/docs/walk-cache.md +3 -5
  343. package/scripts/utils/docs/walkDir.md +3 -5
  344. package/scripts/utils/docs/with-lock.md +3 -5
  345. package/scripts/utils/docs/worktree-fingerprint.md +3 -5
  346. package/skills/doc-aggregate/js/docs/docgen-ignore.md +3 -5
  347. package/skills/doc-aggregate/js/docs/docgen-scan.md +3 -5
  348. package/skills/doc-aggregate/js/docs/index.md +12 -0
  349. package/skills/start-check/js/docs/check.md +3 -5
  350. package/skills/start-check/js/docs/index.md +11 -0
  351. package/skills/taze/js/docs/diff.md +3 -5
  352. package/skills/taze/js/docs/index.md +11 -0
  353. package/scripts/lib/worktree.mjs +0 -126
  354. package/scripts/worktree-cli.mjs +0 -230
  355. package/skills/worktree/SKILL.md +0 -38
  356. package/skills/worktree/meta.json +0 -1
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: read-n-cursor-config-lite.mjs
4
+ resource: npm/scripts/lib/read-n-cursor-config-lite.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/read-n-cursor-config-lite.mjs
4
6
  crc: a5fb0592
5
7
  ---
6
8
 
7
- # read-n-cursor-config-lite.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл читає файл `.n-cursor.json`, що містить список правил для конфігурації. Він повертає цей список, щоб `fix.mjs` міг використовувати правила для визначення конфігурації. Це забезпечує базове читання конфігурації правил для запуску `fix.mjs` з командного рядка.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: resolve-target-files.mjs
4
+ resource: npm/scripts/lib/resolve-target-files.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/resolve-target-files.mjs
4
6
  crc: a3b361d9
5
7
  ---
6
8
 
7
- # resolve-target-files.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл відповідає за перевірку наявності файлів, що відповідають певним правилам, вказаним у файлах `policy/<name>/target.json`. Він створює список файлів для подальшого використання, використовуючи або конкретні відносні шляхи, або обхід каталогу з використанням шаблонів та ігнорування файлів. Це забезпечує узгодженість та контроль над файлами, які потрібно обробити, відповідно до заданих політик.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: root-notice.mjs
4
+ resource: npm/scripts/lib/root-notice.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/root-notice.mjs
4
6
  crc: 5f3ca2bb
5
7
  ---
6
8
 
7
- # root-notice.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл вставляє root-guard preflight для скілів, які змінюють проєкт у поточному каталозі. Він забезпечує, що скіл виконується in-place, без ізоляції worktree, і використовується для випадків, коли не потрібна ізоляція worktree. Це гарантує коректне виконання скілу від імені проєкту.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: rule-meta-helpers.mjs
4
+ resource: npm/scripts/lib/rule-meta-helpers.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/rule-meta-helpers.mjs
4
6
  crc: a7e1ae1d
5
7
  ---
6
8
 
7
- # rule-meta-helpers.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл містить хелпери для автоматичного виявлення та обробки правил конфігурації репозиторіїв. Він надає функції для ідентифікації ID міграцій, нормалізації списків та визначення URL репозиторіїв, а також для виявлення монорепо-пакетів. Ці функції використовуються для автоматизованої обробки конфігурації та забезпечення узгодженості в репозиторіях.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: rule-meta.mjs
4
+ resource: npm/scripts/lib/rule-meta.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/rule-meta.mjs
4
6
  crc: fa5ca866
5
7
  ---
6
8
 
7
- # rule-meta.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл парсує метадані правил npm/rules/<id>/meta.json для автоматичного виявлення проблемних місць у коді. Він визначає, коли правило має бути активним, використовуючи різні специфікації, такі як завжди-ввімкнене правило, правило, яке активується після виявлення залежностей, або правило, яке активується на основі glob-шаблонів чи незводимих предикатів. Це дозволяє системі динамічно визначати та застосовувати правила, не потребуючи явного налаштування.
12
10
 
13
11
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: rule-predicates.mjs
4
+ resource: npm/scripts/lib/rule-predicates.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/rule-predicates.mjs
4
6
  crc: 71fba574
5
7
  score: 95
6
8
  ---
7
9
 
8
- # rule-predicates.mjs
9
-
10
- ## Огляд
11
-
12
10
  Реєстр незводимих до даних предикатів для автодетекту правил. Предикати використовують наявність файлів або вмісту для визначення умов. Умови, що вимагають парсингу залежностей чи сканування вмісту, читають дані з різних джерел. Виклик диспетчується через `auto-rules.mjs` за іменем предиката.
13
11
 
14
12
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-conftest-batch.mjs
4
+ resource: npm/scripts/lib/run-conftest-batch.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-conftest-batch.mjs
4
6
  crc: 5ec640a0
5
7
  ---
6
8
 
7
- # run-conftest-batch.mjs
8
-
9
- ## Огляд
10
-
11
9
  Файл запускає `conftest test` на заданому списку файлів, виявляючи порушення правил, визначених у Rego-полісіях. Він використовується для автоматизованої перевірки конфігураційних файлів на відповідність заданим вимогам. Результати перевірки повертаються у структурованому вигляді, що дозволяє інтегрувати результати в інші процеси валідації.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-lint-step.mjs
4
+ resource: npm/scripts/lib/run-lint-step.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-lint-step.mjs
4
6
  crc: 5932fa98
5
7
  ---
6
8
 
7
- # run-lint-step.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл забезпечує спільний хелпер для запуску окремих кроків у ланцюжку linting, що використовується CLI-обгортками. Він імітує прямий виклик команд у shell, логуючи команди та перенаправляючи stdout/stderr на користувацькі stream-и. Це дозволяє уникнути дублювання обгорток у різних `rules/<id>/js/lint.mjs` файлах.
12
10
 
13
11
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-rule-cli.mjs
4
+ resource: npm/scripts/lib/run-rule-cli.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-rule-cli.mjs
4
6
  crc: 264e7ab0
5
7
  score: 100
6
8
  ---
7
9
 
8
- # run-rule-cli.mjs
9
-
10
- ## Огляд
11
-
12
10
  Файл є автономним CLI-запускачем для одного правила. Він друкує звіт про перевірку та повертає агрегований код виходу. Whitelist-гейту тут немає: гейтинг активних правил живе виключно у `resolveCheckRuleIds` (селекція за `.n-cursor.json`), а прямий запуск файлу правила — свідома debug/override-дія, тож виконується беззастережно.
13
11
 
14
12
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-rule.mjs
4
+ resource: npm/scripts/lib/run-rule.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-rule.mjs
4
6
  crc: 27060842
5
7
  score: 95
6
8
  ---
7
9
 
8
- # run-rule.mjs
9
-
10
- ## Огляд
11
-
12
10
  Файл слугує оркестратором правила. Він координує виконання перевірок, включаючи перевірку гейту, JS-концернів та policy-концернів.
13
11
 
14
12
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-standard-lint.mjs
4
+ resource: npm/scripts/lib/run-standard-lint.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-standard-lint.mjs
4
6
  crc: e7e3f0ae
5
7
  ---
6
8
 
7
- # run-standard-lint.mjs
8
-
9
- ## Огляд
10
-
11
9
  Файл забезпечує централізовану точку запуску для підкоманд `lint-<rule>` у `@nitra/cursor`. Він серіалізує та дедублює запуски, використовуючи `withLock`, щоб гарантувати узгодженість та ефективність. Це дозволяє легко інтегрувати нові правила та обробляти крос-cutting концерни, не вносячи змін у окремі файли правил.
12
10
 
13
11
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-standard-rule.mjs
4
+ resource: npm/scripts/lib/run-standard-rule.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/run-standard-rule.mjs
4
6
  crc: c1ae8f0e
5
7
  score: 90
6
8
  ---
7
9
 
8
- # run-standard-rule.mjs
9
-
10
- ## Огляд
11
-
12
10
  Файл інкапсулює оркестрацію виконання правил. Він забезпечує запуск правила через визначений шлях, ізолюючи його виконання у блоці `withLock` для уникнення паралельних запусків.
13
11
 
14
12
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: skill-meta.mjs
4
+ resource: npm/scripts/lib/skill-meta.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/skill-meta.mjs
4
6
  crc: 0c638d18
5
7
  ---
6
8
 
7
- # skill-meta.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл парсить метадані скілу з файлу `meta.json` та надає інформацію про його конфігурацію. Він служить єдиним джерелом правди про скіл, замінюючи старий `auto.md`, і використовується для визначення, чи потрібно запускати скіл в окремому worktree, чи з кореня репозиторію. Це забезпечує узгодженість даних про скіли та полегшує їх використання в інших частинах системи.
12
10
 
13
11
  ## Поведінка
@@ -1,14 +1,12 @@
1
1
  ---
2
+ type: JS Module
3
+ title: sync-gitignore-worktree.mjs
4
+ resource: npm/scripts/lib/sync-gitignore-worktree.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/sync-gitignore-worktree.mjs
4
6
  crc: e691c42b
5
7
  score: 95
6
8
  ---
7
9
 
8
- # sync-gitignore-worktree.mjs
9
-
10
- ## Огляд
11
-
12
10
  syncGitignoreWorktree
13
11
  Додає запис `.worktrees/` до кореневого `.gitignore`. Функція викликається для синхронізації локальних git-worktree з конфігурацією. Функція приймає шлях до кореня проєкту-споживача. Функція повертає результат, що вказує на успішність запису.
14
12
 
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: template.mjs
4
+ resource: npm/scripts/lib/template.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/template.mjs
4
6
  crc: 3bc0617f
5
7
  ---
6
8
 
7
- # template.mjs
8
-
9
- ## Огляд
10
-
11
9
  Файл обробляє шаблони для певних напрямків, збираючи їх у єдину структуру, яка індексується за назвою цільового файлу. Він повертає найбільш відповідний шаблон з `snippet/`, `deny/` або `contains/`, розпізнаний за розширенням, для кожного цільового файлу. Це забезпечує можливість динамічної генерації контенту на основі шаблонів, визначених для різних областей застосунку.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: timing-summary.mjs
4
+ resource: npm/scripts/lib/timing-summary.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/timing-summary.mjs
4
6
  crc: f21a9b91
5
7
  ---
6
8
 
7
- # timing-summary.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл генерує табличне резюме часу виконання для команд `fix` та `lint`, які використовуються в orchestrator. Він підсумовує час виконання окремих правил та скриптів linting, надаючи інформацію для аналізу продуктивності. Результат представлений у вигляді рядка, який можна вивести для відображення користувачеві.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: workspaces.mjs
4
+ resource: npm/scripts/lib/workspaces.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/workspaces.mjs
4
6
  crc: 995c1633
5
7
  ---
6
8
 
7
- # workspaces.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл визначає список кореневих каталогів пакетів у монорепо, використовуючи конфігурацію `workspaces` з `package.json`. Він використовується скриптами перевірки монорепо для ідентифікації всіх проектів, які потрібно перевірити. Результат повертається для подальшого використання в процесах перевірки та аналізу.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: worktree-notice.mjs
4
+ resource: npm/scripts/lib/worktree-notice.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/worktree-notice.mjs
4
6
  crc: dc4fba22
5
7
  ---
6
8
 
7
- # worktree-notice.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл вбудовує інструкції щодо використання git-worktree, коли `meta.json.worktree` встановлено в `true`. Він забезпечує паралельне виконання скілу лише в окремому git-worktree, запобігаючи потенційним проблемам з паралелізмом. Цей механізм дозволяє уникнути гонки з CDN та забезпечує надійний запуск скілу з локальною копією CLI.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: worktree.mjs
4
+ resource: npm/scripts/lib/worktree.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/worktree.mjs
4
6
  crc: ffcdbca5
5
7
  ---
6
8
 
7
- # worktree.mjs
8
-
9
- ## Огляд
10
-
11
9
  Файл містить детерміновану логіку для обробки гілок у `worktree-tool`, забезпечуючи безпечне перетворення імен гілок та створення описових файлів для `worktree`. Він використовується для генерації структури `.worktrees/` та ідентифікації неактивних описових файлів, що необхідно для операцій з видаленням. Це ключовий компонент для забезпечення консистентності та зручності роботи з `worktree-tool` безпосередньо з файловою системою.
12
10
 
13
11
  ## Поведінка
@@ -0,0 +1,16 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/scripts/lib/fix
4
+ resource: npm/scripts/lib/fix/
5
+ ---
6
+
7
+ # npm/scripts/lib/fix
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [llm-fix-apply.mjs](llm-fix-apply.md) | JS Module |
12
+ | [llm-lint-fix.mjs](llm-lint-fix.md) | JS Module |
13
+ | [llm-worker.mjs](llm-worker.md) | JS Module |
14
+ | [orchestrator.mjs](orchestrator.md) | JS Module |
15
+ | [run-fix-check.mjs](run-fix-check.md) | JS Module |
16
+ | [t0.mjs](t0.md) | JS Module |
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: llm-fix-apply.mjs
4
+ resource: npm/scripts/lib/fix/llm-fix-apply.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/llm-fix-apply.mjs
4
6
  crc: 80befb00
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # llm-fix-apply.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль є спільним ядром для застосування виправлень, згенерованих LLM, використовуючи конформні (`llm-worker.mjs`) та інструментальні (`llm-lint-fix.mjs`) механізми для уникнення дублювання логіки парсингу та застосування змін. Він парсить структуровану відповідь моделі, що містить список змін у форматі `{changes:[{path,content}]}`. Далі, він зчитує вміст файлів, зазначених у цих змінах, та застосовує оновлений вміст до відповідних файлів. Усі операції реалізовані з механізмом fail-safe: при невдачах функції повертають значення помилки (false/null/Err) замість викидання винятків.
14
12
 
15
13
  ## Поведінка
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: llm-lint-fix.mjs
4
+ resource: npm/scripts/lib/fix/llm-lint-fix.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/llm-lint-fix.mjs
4
6
  crc: de4439e9
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 90
7
9
  ---
8
10
 
9
- # llm-lint-fix.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль реалізує механізм `omlx-фікс` для обробки знахідок лінтера, що стосуються `detect-only` тулів, які не мають нативного механізму виправлення (відповідно до `lint-orchestrator-fix-readonly`). Він зчитує уражені файли, ініціює запит до моделі через `callLlm` (маршрутизація через `omlx/<model>` з фолбеком каскаду), щоб отримати пропоновані зміни. Ці зміни застосовуються до файлової системи за допомогою спільного ядра `llm-fix-apply`.
14
12
 
15
13
  ## Поведінка
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: llm-worker.mjs
4
+ resource: npm/scripts/lib/fix/llm-worker.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/llm-worker.mjs
4
6
  crc: 00730451
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # llm-worker.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль визначає моделі для стандартних та складних виправлень коду. Він надає функції для ініціалізації моделей (`MODEL`, `MODEL_HEAVY`) та для виконання роботи з мовною моделлю (`runLlmWorker`), застосовуючи згенеровані зміни до файлів проєкту.
14
12
 
15
13
  ## Поведінка
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: orchestrator.mjs
4
+ resource: npm/scripts/lib/fix/orchestrator.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/orchestrator.mjs
4
6
  crc: 3a66072d
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # orchestrator.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль керує процесом валідації та виправлення правил. Він ініціює перевірку всіх правил. Якщо виявлено порушення, процес ітеративно застосовує детермінований механізм виправлення (T0) та виправлення на основі великої мовної моделі (T1) до невирішених правил. Цей цикл повторюється до досягнення стану, коли всі правила відповідають вимогам, або до перевищення встановленого ліміту ітерацій. Функція `runOrchestratorCli` запускає цей процес.
14
12
 
15
13
  ## Поведінка
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: run-fix-check.mjs
4
+ resource: npm/scripts/lib/fix/run-fix-check.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/run-fix-check.mjs
4
6
  crc: 76874730
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # run-fix-check.mjs
10
-
11
- ## Огляд
12
-
13
11
  Викликає конформність-фазу `lint` (read-only), движок (`orchestrator.mjs`, `t0.mjs`) та PostToolUse-хук. Перевірка конформності виконується як пряма функція, без зовнішньої обгортки через `subprocess`. Ізоляція на рівні кожного правила зберігається: кожен файл `rules/<id>/fix.mjs` все ще запускається окремим процесом `bun` (crash-isolation). Селекція активних правил — єдине джерело: `resolveCheckRuleIds` за `.n-cursor.json`; per-rule whitelist у спавнених процесах прибрано як дубль.
14
12
 
15
13
  ## Поведінка
@@ -1,15 +1,13 @@
1
1
  ---
2
+ type: JS Module
3
+ title: t0.mjs
4
+ resource: npm/scripts/lib/fix/t0.mjs
2
5
  docgen:
3
- source: npm/scripts/lib/fix/t0.mjs
4
6
  crc: 0321ecc1
5
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
6
8
  score: 100
7
9
  ---
8
10
 
9
- # t0.mjs
10
-
11
- ## Огляд
12
-
13
11
  Модуль керує автоматичним застосуванням паттернів до правил для виправлення виводів порушень. Він визначає, які автоматичні паттерни можуть бути застосовані до правил, використовуючи `filterT0AutoRules`, і запускає повний процес виправлення для всіх відповідних правил через `applyT0Auto` та `runT0AutoCli`. Код працює у режимі fail-safe, перехоплюючи помилки та не викидаючи винятків назовні. Робота модуля залежить від конфігурацій `extensions.json` та `package-lock.json`.
14
12
 
15
13
  ## Поведінка
@@ -134,52 +134,17 @@ git branch --show-current
134
134
  Якщо \`git rev-parse --show-toplevel\` показав, що ти **не** в \`.worktrees/\`, візьми вивід \`git branch --show-current\` як \`<current-branch>\` і виконай **literal-команди без shell expansion** (без command substitution, variable expansion чи backticks). Наприклад, якщо поточна гілка \`feature/x\`:
135
135
 
136
136
  \`\`\`bash
137
- npx @nitra/cursor worktree add "feature/x-${suffix}" "n-${suffix}: worktree-only skill"
137
+ mt worktree create "feature/x-${suffix}" "n-${suffix}: worktree-only skill"
138
138
  cd ".worktrees/feature-x-${suffix}"
139
139
  \`\`\`
140
140
 
141
141
  Тобто branch-argument лишає slash як у git-гілці, а шлях для \`cd\` бере sanitized форму: slash → \`-\`.
142
142
 
143
- **Крок 0.1 — bootstrap у новому дереві (після \`cd\`, окремий крок — поза «без-expansion» блоком вище).** Дерево щойно створене й **без** \`node_modules\`. Спершу постав залежності локально: тоді \`npx\` бере локальну копію \`@nitra/cursor\` і гонки з CDN немає взагалі. Retry-обгортка нижче — safety-net на випадок, коли версію щойно опубліковано, але edge-кеш CDN ще її не має: \`npm\` тоді падає з \`ETARGET\`/\`notarget\` **до** запуску бінарника (внутрішній JS-retry у \`n-cursor\` для цього кейсу марний — бінарник ще не стартував).
143
+ **Крок 0.1 — bootstrap у новому дереві (після \`cd\`).** Дерево щойно створене й **без** \`node_modules\`. Постав залежності локально тоді \`npx @nitra/cursor <cmd>\` бере локальну копію без походу в реєстр:
144
144
 
145
145
  \`\`\`bash
146
- # Локальна копія @nitra/cursor (девзалежність споживача) — npx бере її, без походу в реєстр.
147
146
  bun install
148
-
149
- # n_cursor_npx <args> — обгортка bootstrap-виклику "npx @nitra/cursor <args>".
150
- # Ретраїмо ЛИШЕ транзитні помилки реєстру/мережі (CDN ще не пропагував щойно
151
- # опубліковану версію). Реальний nonzero від CLI (fix повернув ❌, lint-помилка) —
152
- # віддаємо одразу, без ретраю. Інтервал 30с; дефолт-ліміт 5 хв
153
- # (env N_CURSOR_NPX_RETRY_MAX_MIN), hard-ceiling 10 хв.
154
- # Чому 5 хв: CDN-пропагація npm зазвичай < 2 хв, 5 хв — запас; довше → ймовірно
155
- # реальна проблема (невірна версія / аутейдж), краще віддати помилку, ніж висіти.
156
- n_cursor_npx() {
157
- max_min="\${N_CURSOR_NPX_RETRY_MAX_MIN:-5}"
158
- case "$max_min" in '' | *[!0-9]*) max_min=5 ;; esac
159
- [ "$max_min" -gt 10 ] && max_min=10
160
- deadline=$(( $(date +%s) + max_min * 60 ))
161
- attempt=1
162
- transient='ETARGET|notarget|No matching version|ENOTFOUND|ETIMEDOUT|EAI_AGAIN|ECONNRESET|50[0-9] |502 Bad Gateway|503 Service Unavailable|504 Gateway'
163
- while :; do
164
- err=$(mktemp)
165
- npx @nitra/cursor "$@" 2>"$err"
166
- code=$?
167
- cat "$err" >&2
168
- [ "$code" -eq 0 ] && { rm -f "$err"; return 0; }
169
- if grep -Eq "$transient" "$err" && [ "$(date +%s)" -lt "$deadline" ]; then
170
- rm -f "$err"
171
- echo "n-cursor: очікую пропагації версії по CDN… спроба $attempt, повтор через 30с" >&2
172
- attempt=$((attempt + 1))
173
- sleep 30
174
- else
175
- rm -f "$err"
176
- return "$code"
177
- fi
178
- done
179
- }
180
- \`\`\`
181
-
182
- Усі подальші bootstrap-виклики \`npx @nitra/cursor <cmd>\` у цій сесії роби через \`n_cursor_npx <cmd>\`. Якщо опинився у свіжому shell без цієї функції — спершу повтори блок вище (\`bun install\` + визначення \`n_cursor_npx\`).`
147
+ \`\`\``
183
148
  }
184
149
 
185
150
  /**
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: ast-scan-utils.mjs
4
+ resource: npm/scripts/utils/ast-scan-utils.mjs
2
5
  docgen:
3
- source: npm/scripts/utils/ast-scan-utils.mjs
4
6
  crc: 0f9b4a21
5
7
  ---
6
8
 
7
- # ast-scan-utils.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл містить утиліти для AST-сканерів JavaScript та TypeScript, що використовуються для аналізу коду та виявлення потенційних проблем. Він надає інструменти для обробки AST, перетворення даних та взаємодії з різними типами вузлів, забезпечуючи основу для створення правил безпеки та аналізу коду. Ці утиліти спрощують розробку сканерів, усуваючи необхідність повторного написання boilerplate-коду.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: ensure-gitignore-entries.mjs
4
+ resource: npm/scripts/utils/ensure-gitignore-entries.mjs
2
5
  docgen:
3
- source: npm/scripts/utils/ensure-gitignore-entries.mjs
4
6
  crc: 35e65c1b
5
7
  ---
6
8
 
7
- # ensure-gitignore-entries.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей модуль відповідає за оновлення файлу `.gitignore` у корені проєкту. Він забезпечує idempotent додавання нових правил ігнорування, перевіряючи їхню наявність перед доповненням. Це необхідно для підтримки консистентності правил ігнорування в проєкті та інтеграції з інструментами тестування, такими як Stryker.
12
10
 
13
11
  ## Поведінка
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: find-package-json-paths.mjs
4
+ resource: npm/scripts/utils/find-package-json-paths.mjs
2
5
  docgen:
3
- source: npm/scripts/utils/find-package-json-paths.mjs
4
6
  crc: 06c208de
5
7
  ---
6
8
 
7
- # find-package-json-paths.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл забезпечує спільну утиліту для збору всіх файлів `package.json` у дереві проєкту, ігноруючи вказані каталоги. Він сортує знайдені шляхи пакетів за відносним розташуванням, що полегшує їх подальше використання в скриптах перевірки. Це дозволяє уникнути дублювання коду з інших інструментів перевірки та спрощує процес збору інформації про залежності.
12
10
 
13
11
  ## Поведінка
@@ -0,0 +1,23 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/scripts/utils
4
+ resource: npm/scripts/utils/
5
+ ---
6
+
7
+ # npm/scripts/utils
8
+
9
+ | Файл | Тип |
10
+ |---|---|
11
+ | [ast-scan-utils.mjs](ast-scan-utils.md) | JS Module |
12
+ | [ensure-gitignore-entries.mjs](ensure-gitignore-entries.md) | JS Module |
13
+ | [find-package-json-paths.mjs](find-package-json-paths.md) | JS Module |
14
+ | [lock-cache-dir.mjs](lock-cache-dir.md) | JS Module |
15
+ | [pass.mjs](pass.md) | JS Module |
16
+ | [resolve-cargo-manifest.mjs](resolve-cargo-manifest.md) | JS Module |
17
+ | [resolve-cmd.mjs](resolve-cmd.md) | JS Module |
18
+ | [resolve-js-root.mjs](resolve-js-root.md) | JS Module |
19
+ | [test-helpers.mjs](test-helpers.md) | JS Module |
20
+ | [walk-cache.mjs](walk-cache.md) | JS Module |
21
+ | [walkDir.mjs](walkDir.md) | JS Module |
22
+ | [with-lock.mjs](with-lock.md) | JS Module |
23
+ | [worktree-fingerprint.mjs](worktree-fingerprint.md) | JS Module |
@@ -1,13 +1,11 @@
1
1
  ---
2
+ type: JS Module
3
+ title: lock-cache-dir.mjs
4
+ resource: npm/scripts/utils/lock-cache-dir.mjs
2
5
  docgen:
3
- source: npm/scripts/utils/lock-cache-dir.mjs
4
6
  crc: 3b63d4b1
5
7
  ---
6
8
 
7
- # lock-cache-dir.mjs
8
-
9
- ## Огляд
10
-
11
9
  Цей файл визначає структуру каталогу кешування блоків для git-worktree, забезпечуючи унікальний стан локу для кожного головного checkout та пов'язаних worktree. Він використовується для серіалізації запуску інструментів аналізу коду в різних worktree, запобігаючи конфліктам та забезпечуючи ефективну роботу. Створена структура кешування гарантує, що всі worktree мають доступ до одного і того ж стану локу, що необхідно для коректної серіалізації процесів аналізу.
12
10
 
13
11
  ## Поведінка