@nitra/cursor 5.0.3 → 5.2.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 (206) hide show
  1. package/.claude-template/settings.template.json +22 -0
  2. package/.pi-template/extensions/n-cursor-adr/docs/index.md +15 -9
  3. package/CHANGELOG.md +18 -1
  4. package/bin/n-cursor.js +73 -16
  5. package/docs/stryker.config.md +6 -0
  6. package/docs/vitest.config.md +6 -0
  7. package/lib/docs/llm.md +29 -0
  8. package/lib/docs/omlx.md +32 -0
  9. package/lib/llm.mjs +137 -0
  10. package/lib/models.mjs +9 -1
  11. package/lib/omlx.mjs +147 -0
  12. package/package.json +1 -1
  13. package/rules/abie/docs/fix.md +6 -0
  14. package/rules/abie/js/docs/applies.md +6 -0
  15. package/rules/abie/js/docs/env_dns.md +25 -22
  16. package/rules/abie/js/docs/firebase_hosting.md +6 -0
  17. package/rules/abie/js/docs/hc_pairing.md +21 -25
  18. package/rules/abie/js/docs/ua_http_route.md +27 -19
  19. package/rules/abie/js/docs/ua_node_selector.md +24 -19
  20. package/rules/abie/lib/docs/enabled.md +13 -7
  21. package/rules/abie/lib/docs/env-dns.md +9 -3
  22. package/rules/abie/lib/docs/hc-yaml.md +6 -0
  23. package/rules/abie/lib/docs/http-route.md +6 -0
  24. package/rules/abie/lib/docs/k8s-tree.md +6 -0
  25. package/rules/abie/lib/docs/kustomization-patches.md +6 -0
  26. package/rules/abie/lib/docs/overlay-paths.md +6 -0
  27. package/rules/abie/lib/docs/yaml.md +6 -0
  28. package/rules/adr/docs/fix.md +6 -0
  29. package/rules/adr/js/docs/hooks.md +29 -244
  30. package/rules/bun/docs/fix.md +6 -0
  31. package/rules/bun/js/docs/layout.md +37 -375
  32. package/rules/capacitor/docs/fix.md +22 -108
  33. package/rules/capacitor/js/docs/platforms.md +62 -268
  34. package/rules/changelog/docs/fix.md +6 -0
  35. package/rules/changelog/lib/docs/package-manifest.md +6 -0
  36. package/rules/ci4/docs/fix.md +23 -165
  37. package/rules/ci4/js/docs/marksman_config.md +9 -1
  38. package/rules/docker/docs/fix.md +6 -0
  39. package/rules/docker/js/docs/lint.md +55 -239
  40. package/rules/docker/lib/docs/docker-hadolint.md +6 -0
  41. package/rules/docker/lib/docs/docker-mirror.md +6 -0
  42. package/rules/docker/lib/docs/docker-native-addon.md +6 -0
  43. package/rules/docker/lib/docs/docker-nginx-user.md +6 -0
  44. package/rules/docker/lint/docs/lint.md +9 -1
  45. package/rules/efes/docs/fix.md +6 -0
  46. package/rules/ga/lint/docs/lint.md +6 -0
  47. package/rules/graphql/docs/fix.md +6 -0
  48. package/rules/graphql/lib/docs/graphql-gql-scan.md +6 -0
  49. package/rules/image-avif/docs/fix.md +6 -0
  50. package/rules/image-avif/js/docs/avif_generation.md +6 -0
  51. package/rules/js-bun-db/lib/docs/bun-sql-scan.md +9 -3
  52. package/rules/js-bun-redis/lib/docs/redis-imports.md +6 -0
  53. package/rules/js-lint/js/docs/utils_imports.md +6 -0
  54. package/rules/js-lint-ci/docs/fix.md +7 -1
  55. package/rules/js-mssql/docs/fix.md +6 -0
  56. package/rules/js-mssql/lib/docs/mssql-pool-scan.md +6 -0
  57. package/rules/js-run/docs/fix.md +6 -0
  58. package/rules/js-run/lib/docs/bunyan-imports.md +6 -0
  59. package/rules/js-run/lib/docs/check-env-scan.md +6 -0
  60. package/rules/js-run/lib/docs/conn-file-rules.md +6 -0
  61. package/rules/js-run/lib/docs/conn-imports-scan.md +6 -0
  62. package/rules/js-run/lib/docs/promise-settimeout-scan.md +6 -0
  63. package/rules/js-run/lib/docs/temporal-scan.md +6 -0
  64. package/rules/k8s/docs/fix.md +6 -0
  65. package/rules/k8s/lint/docs/lint.md +6 -0
  66. package/rules/nginx-default-tpl/docs/fix.md +6 -0
  67. package/rules/npm-module/js/docs/header_doc_pointer.md +7 -0
  68. package/rules/npm-module/js/header_doc_pointer.mjs +2 -8
  69. package/rules/php/docs/fix.md +6 -0
  70. package/rules/php/lint/docs/lint.md +6 -0
  71. package/rules/python/docs/fix.md +6 -0
  72. package/rules/python/lint/docs/lint.md +6 -0
  73. package/rules/rego/lint/docs/lint.md +6 -0
  74. package/rules/release/docs/change.md +6 -0
  75. package/rules/release/docs/fix.md +6 -0
  76. package/rules/release/docs/release.md +6 -0
  77. package/rules/release/lib/docs/aggregate.md +6 -0
  78. package/rules/release/lib/docs/change-file.md +6 -0
  79. package/rules/release/lib/docs/fallback.md +6 -0
  80. package/rules/rust/lib/docs/has-cargo-toml.md +6 -0
  81. package/rules/security/docs/fix.md +7 -1
  82. package/rules/security/js/docs/lint.md +6 -0
  83. package/rules/style-lint/docs/fix.md +6 -0
  84. package/rules/tauri/docs/fix.md +6 -0
  85. package/rules/test/docs/fix.md +6 -0
  86. package/rules/test/js/data/stryker_config/docs/stryker-vue-macros-ignorer.md +6 -0
  87. package/rules/test/js/data/stryker_config/docs/stryker.config.baseline.md +6 -0
  88. package/rules/test/js/data/stryker_config/docs/stryker.config.vue.baseline.md +6 -0
  89. package/rules/test/js/data/vitest_config/docs/vitest.config.baseline.md +6 -0
  90. package/rules/text/docs/fix.md +6 -0
  91. package/rules/text/lint/docs/lint.md +6 -0
  92. package/rules/text/lint/docs/run-dotenv-linter.md +6 -0
  93. package/rules/text/lint/docs/run-shellcheck.md +6 -0
  94. package/rules/text/lint/docs/run-v8r.md +6 -0
  95. package/rules/vue/lib/docs/vue-forbidden-imports.md +6 -0
  96. package/scripts/coverage-classify/cache.mjs +1 -1
  97. package/scripts/coverage-classify/docs/apply.md +6 -0
  98. package/scripts/coverage-classify/docs/cache.md +6 -0
  99. package/scripts/coverage-classify/docs/prompt.md +6 -0
  100. package/scripts/coverage-classify/docs/verdict-schema.md +6 -0
  101. package/scripts/coverage-classify/index.mjs +24 -15
  102. package/scripts/coverage-classify/prompt.mjs +1 -1
  103. package/scripts/coverage-fix-extract.mjs +1 -1
  104. package/scripts/coverage-fix.mjs +2 -1
  105. package/scripts/docs/auto-skills.md +6 -0
  106. package/scripts/docs/build-agents-commands.md +7 -1
  107. package/scripts/docs/cli-entry.md +6 -0
  108. package/scripts/docs/coverage-fix-extract.md +6 -0
  109. package/scripts/docs/coverage-fix.md +6 -0
  110. package/scripts/docs/ensure-nitra-cursor-dev-dependencies.md +6 -0
  111. package/scripts/docs/lint-cli.md +6 -0
  112. package/scripts/docs/post-tool-use-fix.md +6 -0
  113. package/scripts/docs/rename-yaml-extensions.md +6 -0
  114. package/scripts/docs/skills-cli.md +6 -0
  115. package/scripts/docs/sync-setup-bun-deps-action.md +6 -0
  116. package/scripts/docs/upgrade-nitra-cursor-and-install.md +6 -0
  117. package/scripts/docs/worktree-cli.md +6 -0
  118. package/scripts/lib/docs/assert-project-root.md +6 -0
  119. package/scripts/lib/docs/check-mdc-template-refs.md +6 -0
  120. package/scripts/lib/docs/check-reporter.md +6 -0
  121. package/scripts/lib/docs/diff-added-lines.md +6 -0
  122. package/scripts/lib/docs/discover-check-rules-from-cursor.md +6 -0
  123. package/scripts/lib/docs/discover-checkable-rules.md +6 -0
  124. package/scripts/lib/docs/ensure-tool.md +6 -0
  125. package/scripts/lib/docs/generated-markdown.md +6 -0
  126. package/scripts/lib/docs/gha-workflow.md +6 -0
  127. package/scripts/lib/docs/inline-template-links.md +6 -0
  128. package/scripts/lib/docs/list-rule-ids.md +6 -0
  129. package/scripts/lib/docs/load-cursor-config.md +6 -0
  130. package/scripts/lib/docs/mirror-parity.md +6 -0
  131. package/scripts/lib/docs/read-n-cursor-config-lite.md +6 -0
  132. package/scripts/lib/docs/resolve-target-files.md +6 -0
  133. package/scripts/lib/docs/root-notice.md +6 -0
  134. package/scripts/lib/docs/rule-meta-helpers.md +6 -0
  135. package/scripts/lib/docs/rule-meta.md +6 -0
  136. package/scripts/lib/docs/run-conftest-batch.md +6 -0
  137. package/scripts/lib/docs/run-lint-step.md +6 -0
  138. package/scripts/lib/docs/run-rule-cli.md +6 -0
  139. package/scripts/lib/docs/run-rule.md +6 -0
  140. package/scripts/lib/docs/run-standard-lint.md +6 -0
  141. package/scripts/lib/docs/run-standard-rule.md +6 -0
  142. package/scripts/lib/docs/skill-meta.md +6 -0
  143. package/scripts/lib/docs/template.md +6 -0
  144. package/scripts/lib/docs/timing-summary.md +6 -0
  145. package/scripts/lib/docs/workspaces.md +6 -0
  146. package/scripts/lib/docs/worktree-notice.md +6 -0
  147. package/scripts/lib/docs/worktree.md +6 -0
  148. package/scripts/lib/mirror-parity.mjs +1 -1
  149. package/scripts/lib/root-notice.mjs +1 -1
  150. package/scripts/lib/worktree-notice.mjs +5 -5
  151. package/scripts/lib/worktree.mjs +1 -1
  152. package/scripts/sync-claude-config.mjs +3 -0
  153. package/scripts/utils/docs/ast-scan-utils.md +6 -0
  154. package/scripts/utils/docs/ensure-gitignore-entries.md +6 -0
  155. package/scripts/utils/docs/find-package-json-paths.md +6 -0
  156. package/scripts/utils/docs/lock-cache-dir.md +6 -0
  157. package/scripts/utils/docs/pass.md +6 -0
  158. package/scripts/utils/docs/resolve-cargo-manifest.md +6 -0
  159. package/scripts/utils/docs/resolve-cmd.md +6 -0
  160. package/scripts/utils/docs/resolve-js-root.md +6 -0
  161. package/scripts/utils/docs/test-helpers.md +6 -0
  162. package/scripts/utils/docs/walk-cache.md +6 -0
  163. package/scripts/utils/docs/walkDir.md +6 -0
  164. package/scripts/utils/docs/worktree-fingerprint.md +6 -0
  165. package/scripts/utils/resolve-js-root.mjs +1 -1
  166. package/skills/doc-aggregate/SKILL.md +129 -0
  167. package/skills/doc-aggregate/js/docgen-ignore.mjs +9 -0
  168. package/skills/{docgen → doc-aggregate}/js/docgen-scan.mjs +22 -67
  169. package/skills/doc-aggregate/js/docs/docgen-ignore.md +21 -0
  170. package/skills/doc-files/SKILL.md +100 -0
  171. package/skills/doc-files/js/docgen-crc.mjs +164 -0
  172. package/skills/{docgen → doc-files}/js/docgen-extract-anchors.mjs +24 -15
  173. package/skills/{docgen → doc-files}/js/docgen-extract.mjs +15 -9
  174. package/skills/doc-files/js/docgen-files-batch.mjs +181 -0
  175. package/skills/doc-files/js/docgen-gen.mjs +291 -0
  176. package/skills/{docgen → doc-files}/js/docgen-prompts.mjs +43 -40
  177. package/skills/doc-files/js/docgen-scan.mjs +298 -0
  178. package/skills/doc-files/js/docs/docgen-crc.md +32 -0
  179. package/skills/doc-files/js/docs/docgen-extract-anchors.md +27 -0
  180. package/skills/doc-files/js/docs/docgen-extract.md +29 -0
  181. package/skills/doc-files/js/docs/docgen-files-batch.md +25 -0
  182. package/skills/doc-files/js/docs/docgen-gen.md +30 -0
  183. package/skills/doc-files/js/docs/docgen-prompts.md +32 -0
  184. package/skills/doc-files/js/docs/docgen-scan.md +25 -0
  185. package/skills/doc-files/meta.json +1 -0
  186. package/skills/fix/js/docs/llm-worker.md +6 -0
  187. package/skills/fix/js/docs/orchestrator.md +6 -0
  188. package/skills/fix/js/llm-worker.mjs +23 -14
  189. package/skills/fix/js/orchestrator.mjs +1 -1
  190. package/skills/start-check/js/check.mjs +5 -3
  191. package/skills/start-check/js/docs/check.md +6 -0
  192. package/skills/docgen/SKILL.md +0 -224
  193. package/skills/docgen/bench/etalon/firebase_hosting.md +0 -19
  194. package/skills/docgen/bench/etalon/k8s-tree.md +0 -24
  195. package/skills/docgen/bench/etalon/overlay-paths.md +0 -24
  196. package/skills/docgen/js/docgen-batch-omlx.mjs +0 -82
  197. package/skills/docgen/js/docgen-batch.mjs +0 -95
  198. package/skills/docgen/js/docgen-compare-pi-vs-direct.mjs +0 -95
  199. package/skills/docgen/js/docgen-gen.mjs +0 -339
  200. package/skills/docgen/js/docs/docgen-extract.md +0 -28
  201. package/skills/docgen/js/docs/docgen-gen.md +0 -41
  202. package/skills/docgen/js/docs/docgen-ignore.md +0 -24
  203. package/skills/docgen/js/docs/docgen-prompts.md +0 -24
  204. package/skills/docgen/js/docs/docgen-scan.md +0 -48
  205. /package/skills/{docgen → doc-aggregate}/meta.json +0 -0
  206. /package/skills/{docgen → doc-files}/js/docgen-ignore.mjs +0 -0
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/ensure-nitra-cursor-dev-dependencies.mjs
4
+ crc: c3df2c0e
5
+ ---
6
+
1
7
  # ensure-nitra-cursor-dev-dependencies.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lint-cli.mjs
4
+ crc: 3724b90c
5
+ ---
6
+
1
7
  # lint-cli.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/post-tool-use-fix.mjs
4
+ crc: 50bf19e1
5
+ ---
6
+
1
7
  # post-tool-use-fix.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/rename-yaml-extensions.mjs
4
+ crc: 6ffbfdff
5
+ ---
6
+
1
7
  # rename-yaml-extensions.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/skills-cli.mjs
4
+ crc: 11ba0be9
5
+ ---
6
+
1
7
  # skills-cli.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/sync-setup-bun-deps-action.mjs
4
+ crc: 098d7209
5
+ ---
6
+
1
7
  # sync-setup-bun-deps-action.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/upgrade-nitra-cursor-and-install.mjs
4
+ crc: b0742ab3
5
+ ---
6
+
1
7
  # upgrade-nitra-cursor-and-install.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/worktree-cli.mjs
4
+ crc: 92deb344
5
+ ---
6
+
1
7
  # worktree-cli.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/assert-project-root.mjs
4
+ crc: 3ad7981a
5
+ ---
6
+
1
7
  # assert-project-root.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/check-mdc-template-refs.mjs
4
+ crc: 17b81322
5
+ ---
6
+
1
7
  # check-mdc-template-refs.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/check-reporter.mjs
4
+ crc: b76ed480
5
+ ---
6
+
1
7
  # check-reporter.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/diff-added-lines.mjs
4
+ crc: 161edaca
5
+ ---
6
+
1
7
  # diff-added-lines.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/discover-check-rules-from-cursor.mjs
4
+ crc: 5e312e3e
5
+ ---
6
+
1
7
  # discover-check-rules-from-cursor.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/discover-checkable-rules.mjs
4
+ crc: 39016d17
5
+ ---
6
+
1
7
  # discover-checkable-rules.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/ensure-tool.mjs
4
+ crc: 230254b3
5
+ ---
6
+
1
7
  # ensure-tool.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/generated-markdown.mjs
4
+ crc: 14b85a57
5
+ ---
6
+
1
7
  # generated-markdown.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/gha-workflow.mjs
4
+ crc: 266986bf
5
+ ---
6
+
1
7
  # gha-workflow.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/inline-template-links.mjs
4
+ crc: 7726f0ef
5
+ ---
6
+
1
7
  # inline-template-links.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/list-rule-ids.mjs
4
+ crc: 5ef1ead5
5
+ ---
6
+
1
7
  # list-rule-ids.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/load-cursor-config.mjs
4
+ crc: c86a80f4
5
+ ---
6
+
1
7
  # load-cursor-config.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/mirror-parity.mjs
4
+ crc: 15dc336a
5
+ ---
6
+
1
7
  ## Огляд
2
8
 
3
9
  Модуль `mirror-parity.mjs` забезпечує перевірку парності (parity) між «дзеркальними» файлами правил Cursor у `.cursor/rules/n-<id>.mdc` та їх канонічними джерелами у `npm/rules/<id>/<id>.mdc`. Ідея така: репозиторій містить два представлення одного й того ж правила:
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/read-n-cursor-config-lite.mjs
4
+ crc: a5fb0592
5
+ ---
6
+
1
7
  # read-n-cursor-config-lite.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/resolve-target-files.mjs
4
+ crc: a3b361d9
5
+ ---
6
+
1
7
  # resolve-target-files.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/root-notice.mjs
4
+ crc: 5f3ca2bb
5
+ ---
6
+
1
7
  # root-notice.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/rule-meta-helpers.mjs
4
+ crc: a7e1ae1d
5
+ ---
6
+
1
7
  # rule-meta-helpers.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/rule-meta.mjs
4
+ crc: 4475d5ff
5
+ ---
6
+
1
7
  # rule-meta.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-conftest-batch.mjs
4
+ crc: 5ec640a0
5
+ ---
6
+
1
7
  # run-conftest-batch.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-lint-step.mjs
4
+ crc: 5932fa98
5
+ ---
6
+
1
7
  # run-lint-step.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-rule-cli.mjs
4
+ crc: ab1715f2
5
+ ---
6
+
1
7
  # run-rule-cli.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-rule.mjs
4
+ crc: 94f3ac44
5
+ ---
6
+
1
7
  # run-rule.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-standard-lint.mjs
4
+ crc: e7e3f0ae
5
+ ---
6
+
1
7
  # run-standard-lint.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/run-standard-rule.mjs
4
+ crc: aeb5299a
5
+ ---
6
+
1
7
  # run-standard-rule.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/skill-meta.mjs
4
+ crc: 0c638d18
5
+ ---
6
+
1
7
  # skill-meta.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/template.mjs
4
+ crc: 3bc0617f
5
+ ---
6
+
1
7
  # template.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/timing-summary.mjs
4
+ crc: f21a9b91
5
+ ---
6
+
1
7
  # timing-summary.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/workspaces.mjs
4
+ crc: 995c1633
5
+ ---
6
+
1
7
  # workspaces.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/worktree-notice.mjs
4
+ crc: dc4fba22
5
+ ---
6
+
1
7
  # worktree-notice.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/lib/worktree.mjs
4
+ crc: ffcdbca5
5
+ ---
6
+
1
7
  # worktree.mjs
2
8
 
3
9
  ## Огляд
@@ -56,5 +56,5 @@ export async function findMirrorDrift(repoRoot) {
56
56
  const expected = await expectedMirrorContent(m.canonicalPath)
57
57
  if (readFileSync(m.mirrorPath, 'utf8') !== expected) drift.push(m.id)
58
58
  }
59
- return drift.sort()
59
+ return drift.toSorted()
60
60
  }
@@ -19,7 +19,7 @@ export const ROOT_START = '<!-- n-cursor:root:start -->'
19
19
  export const ROOT_END = '<!-- n-cursor:root:end -->'
20
20
 
21
21
  /** Наявний блок разом із сусідніми порожніми рядками (для чистого видалення). */
22
- const BLOCK_RE = /\n*<!-- n-cursor:root:start -->[\s\S]*?<!-- n-cursor:root:end -->\n*/u
22
+ const BLOCK_RE = /\n{0,8}<!-- n-cursor:root:start -->[\s\S]*?<!-- n-cursor:root:end -->\n{0,8}/u
23
23
 
24
24
  /** Закриття YAML-frontmatter на початку файла. */
25
25
  const FRONTMATTER_RE = /^(---\n[\s\S]*?\n---\n)/u
@@ -25,22 +25,22 @@ export const WORKTREE_END = '<!-- n-cursor:worktree:end -->'
25
25
  const FALLBACK_SUFFIX = 'task'
26
26
 
27
27
  /** Наявний блок разом із сусідніми порожніми рядками (для чистого видалення). */
28
- const BLOCK_RE = /\n*<!-- n-cursor:worktree:start -->[\s\S]*?<!-- n-cursor:worktree:end -->\n*/u
28
+ const BLOCK_RE = /\n{0,8}<!-- n-cursor:worktree:start -->[\s\S]*?<!-- n-cursor:worktree:end -->\n{0,8}/u
29
29
 
30
30
  /** Закриття YAML-frontmatter на початку файла. */
31
31
  const FRONTMATTER_RE = /^(---\n[\s\S]*?\n---\n)/u
32
32
 
33
33
  /** Значення `name` з YAML-frontmatter. */
34
- const NAME_RE = /^name:\s*["']?([^"'\n]+)["']?\s*$/mu
34
+ const NAME_RE = /^name:[ \t]{0,8}["']?([^"'\n]+?)["']?[ \t]{0,8}$/mu
35
35
 
36
36
  /** Перший H1 як fallback, якщо frontmatter не містить `name`. */
37
- const H1_RE = /^#\s+(.+)$/mu
37
+ const H1_RE = /^#[ \t]{1,8}(.+)$/mu
38
38
 
39
39
  const N_PREFIX_RE = /^n-/u
40
40
  const COMBINING_DIACRITICS_RE = /[̀-ͯ]/gu
41
41
  const NON_ALPHANUM_RE = /[^a-z0-9]+/gu
42
- const TRAILING_DASHES_RE = /^-+|-+$/gu
43
- const TRAILING_DASH_RE = /-+$/u
42
+ const TRAILING_DASHES_RE = /^-{1,80}|-{1,80}$/gu
43
+ const TRAILING_DASH_RE = /-{1,80}$/u
44
44
  const LEADING_NEWLINES_RE = /^\n+/u
45
45
 
46
46
  const CYRILLIC_TRANSLIT = new Map(
@@ -28,7 +28,7 @@ export function sanitizeBranch(branch) {
28
28
  const sanitized = branch
29
29
  .trim()
30
30
  .replace(UNSAFE_PATH_CHARS_RE, '-')
31
- .replaceAll(/^-+|-+$/gu, '')
31
+ .replaceAll(/^-{1,80}|-{1,80}$/gu, '')
32
32
  if (sanitized === '') {
33
33
  throw new Error(`worktree: імʼя гілки "${branch}" не містить допустимих символів`)
34
34
  }
@@ -32,6 +32,8 @@ import { join } from 'node:path'
32
32
 
33
33
  /** Маркер PostToolUse fix-hook'а (`npx --no \@nitra/cursor post-tool-use-fix`). */
34
34
  export const MANAGED_HOOK_COMMAND_MARKER = '@nitra/cursor post-tool-use-fix'
35
+ /** Маркер doc-files staleness-hook'ів (PostToolUse `--hook` і Stop-гейт `--git`). */
36
+ export const DOC_FILES_HOOK_COMMAND_MARKER = '@nitra/cursor doc-files check'
35
37
  /** Legacy-маркер старого Stop-hook'а — лишаємо для cleanup-у при оновленні існуючих інсталяцій. */
36
38
  export const LEGACY_STOP_HOOK_COMMAND_MARKER = '@nitra/cursor stop-hook'
37
39
  /** Маркер ADR Stop-hook'а — підрядок шляху до bash-скрипта capture-decisions. */
@@ -48,6 +50,7 @@ export const CURSOR_ADR_NORMALIZE_HOOK_COMMAND_MARKER = '.claude/hooks/normalize
48
50
  */
49
51
  export const MANAGED_HOOK_COMMAND_MARKERS = Object.freeze([
50
52
  MANAGED_HOOK_COMMAND_MARKER,
53
+ DOC_FILES_HOOK_COMMAND_MARKER,
51
54
  LEGACY_STOP_HOOK_COMMAND_MARKER,
52
55
  ADR_HOOK_COMMAND_MARKER,
53
56
  ADR_NORMALIZE_HOOK_COMMAND_MARKER
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/ast-scan-utils.mjs
4
+ crc: 0f9b4a21
5
+ ---
6
+
1
7
  # ast-scan-utils.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/ensure-gitignore-entries.mjs
4
+ crc: 35e65c1b
5
+ ---
6
+
1
7
  # ensure-gitignore-entries.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/find-package-json-paths.mjs
4
+ crc: 06c208de
5
+ ---
6
+
1
7
  # find-package-json-paths.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/lock-cache-dir.mjs
4
+ crc: 3b63d4b1
5
+ ---
6
+
1
7
  # lock-cache-dir.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/pass.mjs
4
+ crc: 0f69dfba
5
+ ---
6
+
1
7
  # pass.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/resolve-cargo-manifest.mjs
4
+ crc: af1efa42
5
+ ---
6
+
1
7
  # resolve-cargo-manifest.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/resolve-cmd.mjs
4
+ crc: 31c290fc
5
+ ---
6
+
1
7
  # resolve-cmd.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/resolve-js-root.mjs
4
+ crc: 2c2b9f11
5
+ ---
6
+
1
7
  # resolve-js-root.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/test-helpers.mjs
4
+ crc: 0e4357fe
5
+ ---
6
+
1
7
  # test-helpers.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/walk-cache.mjs
4
+ crc: 82798fa2
5
+ ---
6
+
1
7
  # walk-cache.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/walkDir.mjs
4
+ crc: 5e5fec27
5
+ ---
6
+
1
7
  # walkDir.mjs
2
8
 
3
9
  ## Огляд
@@ -1,3 +1,9 @@
1
+ ---
2
+ docgen:
3
+ source: npm/scripts/utils/worktree-fingerprint.mjs
4
+ crc: df297382
5
+ ---
6
+
1
7
  # worktree-fingerprint.mjs
2
8
 
3
9
  ## Огляд
@@ -27,7 +27,7 @@ async function expandWorkspacePattern(cwd, pattern) {
27
27
  const wsRel = rel.replace(PACKAGE_JSON_SUFFIX_RE, '')
28
28
  results.push(join(cwd, wsRel))
29
29
  }
30
- return results.sort()
30
+ return results.toSorted()
31
31
  }
32
32
 
33
33
  /**