@nitra/cursor 12.8.5 → 12.8.7

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 (202) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/bin/n-cursor.js +5 -5
  3. package/package.json +1 -1
  4. package/rules/abie/js/http_route_base.mdc +25 -0
  5. package/rules/abie/js/ua_http_route.mdc +1 -1
  6. package/rules/abie/main.mdc +12 -0
  7. package/rules/adr/js/hooks.mdc +32 -0
  8. package/rules/adr/js/madr_format.mdc +96 -0
  9. package/rules/adr/js/settings_policy.mdc +34 -0
  10. package/rules/adr/main.mdc +13 -95
  11. package/rules/bun/js/bunfig.mdc +12 -0
  12. package/rules/bun/js/layout.mdc +60 -0
  13. package/rules/bun/js/lint.mdc +9 -0
  14. package/rules/bun/js/package_json.mdc +19 -0
  15. package/rules/bun/main.mdc +9 -61
  16. package/rules/capacitor/js/ios_spm.mdc +69 -0
  17. package/rules/capacitor/js/version.mdc +29 -0
  18. package/rules/capacitor/main.mdc +8 -22
  19. package/rules/changelog/js/agent-workflow.mdc +15 -0
  20. package/rules/changelog/js/changelog-format.mdc +33 -0
  21. package/rules/changelog/js/comparison-models.mdc +40 -0
  22. package/rules/changelog/main.mdc +4 -98
  23. package/rules/ci4/js/marksman_config.mdc +31 -0
  24. package/rules/ci4/js/vscode_extensions.mdc +33 -0
  25. package/rules/ci4/main.mdc +14 -14
  26. package/rules/docker/js/compile.mdc +44 -0
  27. package/rules/docker/js/hadolint.mdc +50 -0
  28. package/rules/docker/js/mirror.mdc +13 -0
  29. package/rules/docker/js/multistage.mdc +13 -0
  30. package/rules/docker/js/native-addon.mdc +43 -0
  31. package/rules/docker/js/nginx-tag.mdc +7 -0
  32. package/rules/docker/js/nginx-user.mdc +37 -0
  33. package/rules/docker/js/non-root.mdc +39 -0
  34. package/rules/docker/main.mdc +15 -196
  35. package/rules/ga/js/lint_toolchain.mdc +15 -0
  36. package/rules/ga/js/required_workflows.mdc +35 -0
  37. package/rules/ga/js/vscode.mdc +17 -0
  38. package/rules/ga/js/workflow_common.mdc +108 -0
  39. package/rules/ga/js/workflows.mdc +32 -0
  40. package/rules/ga/js/zizmor.mdc +7 -0
  41. package/rules/ga/main.mdc +17 -125
  42. package/rules/graphql/js/tooling.mdc +13 -0
  43. package/rules/graphql/js/vscode_extensions.mdc +13 -0
  44. package/rules/graphql/main.mdc +3 -22
  45. package/rules/hasura/js/internal_urls.mdc +27 -0
  46. package/rules/hasura/js/migrations.mdc +13 -0
  47. package/rules/hasura/js/svc_hl.mdc +17 -0
  48. package/rules/hasura/main.mdc +8 -30
  49. package/rules/image-avif/js/avif_generation.mdc +26 -0
  50. package/rules/image-avif/js/package_json_optout.mdc +21 -0
  51. package/rules/image-avif/main.mdc +7 -34
  52. package/rules/image-compress/js/package_json.mdc +7 -0
  53. package/rules/image-compress/js/package_setup.mdc +13 -0
  54. package/rules/image-compress/main.mdc +4 -12
  55. package/rules/js/docs/index.md +3 -3
  56. package/rules/js/js/dep-policy.mdc +17 -0
  57. package/rules/js/js/eslint-config.mdc +28 -0
  58. package/rules/js/js/extensions.mdc +8 -0
  59. package/rules/js/js/file-extensions.mdc +12 -0
  60. package/rules/js/js/for-in.mdc +26 -0
  61. package/rules/js/js/jscpd.mdc +42 -0
  62. package/rules/js/js/knip.mdc +15 -0
  63. package/rules/js/js/lint-js-workflow.mdc +58 -0
  64. package/rules/js/js/oxlintrc.mdc +20 -0
  65. package/rules/js/js/package-json.mdc +31 -0
  66. package/rules/js/js/tests.mdc +9 -0
  67. package/rules/js/js/utils-lib-structure.mdc +15 -0
  68. package/rules/js/main.mdc +21 -214
  69. package/rules/js-bun-db/js/bun-sql-migration.mdc +15 -0
  70. package/rules/js-bun-db/js/connection.mdc +42 -0
  71. package/rules/js-bun-db/js/pg-format-identifiers.mdc +102 -0
  72. package/rules/js-bun-db/js/pg-format-shim.mdc +99 -0
  73. package/rules/js-bun-db/js/pg-leftover.mdc +27 -0
  74. package/rules/js-bun-db/js/pg-listen-notify.mdc +51 -0
  75. package/rules/js-bun-db/js/query-safety.mdc +117 -0
  76. package/rules/js-bun-db/js/sql-array.mdc +88 -0
  77. package/rules/js-bun-db/js/unsafe.mdc +65 -0
  78. package/rules/js-bun-db/main.mdc +15 -605
  79. package/rules/js-bun-redis/js/imports.mdc +47 -0
  80. package/rules/js-bun-redis/js/package_json.mdc +44 -0
  81. package/rules/js-bun-redis/main.mdc +3 -11
  82. package/rules/js-mssql/js/mssql-in-list.mdc +38 -0
  83. package/rules/js-mssql/js/mssql-pool.mdc +56 -0
  84. package/rules/js-mssql/js/mssql-query-template.mdc +33 -0
  85. package/rules/js-mssql/js/mssql-tvp.mdc +75 -0
  86. package/rules/js-mssql/js/mssql-version.mdc +7 -0
  87. package/rules/js-mssql/main.mdc +10 -198
  88. package/rules/js-run/js/check-env.mdc +35 -0
  89. package/rules/js-run/js/conn-aliases.mdc +109 -0
  90. package/rules/js-run/js/jsconfig.mdc +20 -0
  91. package/rules/js-run/js/otel-configmap.mdc +6 -0
  92. package/rules/js-run/js/pino.mdc +6 -0
  93. package/rules/js-run/js/project-structure.mdc +11 -0
  94. package/rules/js-run/js/runtime.mdc +14 -0
  95. package/rules/js-run/js/scope.mdc +11 -0
  96. package/rules/js-run/js/settimeout.mdc +11 -0
  97. package/rules/js-run/js/temporal.mdc +5 -0
  98. package/rules/js-run/main.mdc +16 -218
  99. package/rules/k8s/js/configmap.mdc +41 -0
  100. package/rules/k8s/js/deployment_resources.mdc +49 -0
  101. package/rules/k8s/js/hasura_httproute.mdc +91 -0
  102. package/rules/k8s/js/hpa_apiversion.mdc +27 -0
  103. package/rules/k8s/js/ingress_gateway.mdc +16 -0
  104. package/rules/k8s/js/kustomize_structure.mdc +144 -0
  105. package/rules/k8s/js/lint_k8s.mdc +72 -0
  106. package/rules/k8s/js/multidoc_yaml.mdc +5 -0
  107. package/rules/k8s/js/network_policy.mdc +136 -0
  108. package/rules/k8s/js/schema_modeline.mdc +57 -0
  109. package/rules/k8s/js/service.mdc +44 -0
  110. package/rules/k8s/js/topology_hpa_pdb.mdc +181 -0
  111. package/rules/k8s/main.mdc +30 -843
  112. package/rules/nginx-default-tpl/js/dockerfile.mdc +36 -0
  113. package/rules/nginx-default-tpl/js/http-route.mdc +41 -0
  114. package/rules/nginx-default-tpl/js/ini-keys.mdc +21 -0
  115. package/rules/nginx-default-tpl/js/template-structure.mdc +86 -0
  116. package/rules/nginx-default-tpl/js/vscode.mdc +37 -0
  117. package/rules/nginx-default-tpl/main.mdc +6 -112
  118. package/rules/npm-module/js/docs/index.md +5 -5
  119. package/rules/npm-module/js/docs/rule_meta.md +6 -6
  120. package/rules/npm-module/js/docs/skill_meta.md +8 -8
  121. package/rules/npm-module/js/header_doc_pointer.mdc +18 -0
  122. package/rules/npm-module/js/package_structure.mdc +62 -0
  123. package/rules/npm-module/js/rule_meta.mdc +11 -0
  124. package/rules/npm-module/js/skill_meta.mdc +11 -0
  125. package/rules/npm-module/main.mdc +10 -55
  126. package/rules/php/js/lint_php_yml.mdc +12 -0
  127. package/rules/php/js/tooling.mdc +66 -0
  128. package/rules/php/main.mdc +7 -66
  129. package/rules/python/js/lint_python_yml.mdc +23 -0
  130. package/rules/python/js/pyproject_toml.mdc +32 -0
  131. package/rules/python/js/tooling.mdc +23 -0
  132. package/rules/python/main.mdc +9 -33
  133. package/rules/rego/js/rego-lint.mdc +31 -0
  134. package/rules/rego/js/vscode_extensions.mdc +11 -0
  135. package/rules/rego/js/vscode_settings.mdc +13 -0
  136. package/rules/rego/main.mdc +8 -24
  137. package/rules/rust/js/coverage.mdc +28 -0
  138. package/rules/rust/js/lint.mdc +22 -0
  139. package/rules/rust/js/tauri_composition.mdc +8 -0
  140. package/rules/rust/js/vscode_extensions.mdc +12 -0
  141. package/rules/rust/main.mdc +8 -38
  142. package/rules/security/js/rego_policies.mdc +15 -0
  143. package/rules/security/js/sample_secret.mdc +19 -0
  144. package/rules/security/js/trufflehog.mdc +21 -0
  145. package/rules/security/main.mdc +7 -35
  146. package/rules/style/js/admin-table.mdc +88 -0
  147. package/rules/style/js/colors.mdc +21 -0
  148. package/rules/style/js/gap.mdc +22 -0
  149. package/rules/style/js/quasar-fixes.mdc +32 -0
  150. package/rules/style/js/quasar.mdc +7 -0
  151. package/rules/style/js/tooling.mdc +85 -0
  152. package/rules/style/main.mdc +13 -253
  153. package/rules/tauri/js/cargo_mutants_config.mdc +39 -0
  154. package/rules/tauri/js/tool_surface.mdc +21 -0
  155. package/rules/tauri/js/tooling.mdc +25 -0
  156. package/rules/tauri/main.mdc +8 -78
  157. package/rules/test/js/cargo_mutants_config.mdc +18 -0
  158. package/rules/test/js/docs/index.md +7 -7
  159. package/rules/test/js/location.mdc +52 -0
  160. package/rules/test/js/no-console-store-restore.mdc +11 -0
  161. package/rules/test/js/no-process-chdir.mdc +15 -0
  162. package/rules/test/js/no-relative-fs-path.mdc +22 -0
  163. package/rules/test/js/sandbox-aware-test.mdc +28 -0
  164. package/rules/test/js/stryker_config.mdc +26 -0
  165. package/rules/test/js/vitest-config-pool-forks.mdc +33 -0
  166. package/rules/test/main.mdc +18 -184
  167. package/rules/text/js/ci-lint-text.mdc +15 -0
  168. package/rules/text/js/cspell.mdc +81 -0
  169. package/rules/text/js/dotenv-linter.mdc +16 -0
  170. package/rules/text/js/forbidden-prettier.mdc +13 -0
  171. package/rules/text/js/markdownlint.mdc +25 -0
  172. package/rules/text/js/oxfmt.mdc +35 -0
  173. package/rules/text/js/package-json.mdc +26 -0
  174. package/rules/text/js/shellcheck.mdc +18 -0
  175. package/rules/text/js/v8r.mdc +23 -0
  176. package/rules/text/js/vscode.mdc +86 -0
  177. package/rules/text/main.mdc +20 -237
  178. package/rules/vue/js/composition-api.mdc +82 -0
  179. package/rules/vue/js/nheader-layout.mdc +171 -0
  180. package/rules/vue/js/node-imports.mdc +25 -0
  181. package/rules/vue/js/quasar-ui.mdc +32 -0
  182. package/rules/vue/js/structure.mdc +101 -0
  183. package/rules/vue/js/testing.mdc +32 -0
  184. package/rules/vue/js/tfm-translations.mdc +26 -0
  185. package/rules/vue/js/vite-config.mdc +126 -0
  186. package/rules/vue/js/vite-env.mdc +55 -0
  187. package/rules/vue/js/vue-imports.mdc +25 -0
  188. package/rules/vue/main.mdc +16 -640
  189. package/scripts/auto-rules.mjs +6 -6
  190. package/scripts/auto-skills.mjs +3 -3
  191. package/scripts/docs/auto-rules.md +17 -31
  192. package/scripts/docs/auto-skills.md +18 -163
  193. package/scripts/docs/index.md +16 -16
  194. package/scripts/lib/docs/index.md +36 -36
  195. package/scripts/lib/docs/mirror-parity.md +7 -7
  196. package/scripts/lib/docs/rule-meta.md +12 -12
  197. package/scripts/lib/docs/skill-meta.md +9 -9
  198. package/scripts/lib/docs/worktree-notice.md +10 -8
  199. package/scripts/lib/rule-meta.mjs +6 -6
  200. package/scripts/lib/skill-meta.mjs +6 -6
  201. package/scripts/lib/worktree-notice.mjs +2 -2
  202. package/scripts/utils/docs/index.md +14 -14
@@ -3,24 +3,26 @@ type: JS Module
3
3
  title: worktree-notice.mjs
4
4
  resource: npm/scripts/lib/worktree-notice.mjs
5
5
  docgen:
6
- crc: 1f7d5e0d
6
+ crc: b4358793
7
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
8
8
  score: 100
9
9
  ---
10
10
 
11
- Цей файл вшиває worktree-інструкцію у синкнутий `SKILL.md` (рішення D2 зі spec). Коли `meta.json.worktree === true`, скіл вставляє/замінює ідемпотентний ре-синкнутий блок, що містить маркери WORKTREE_START та WORKTREE_END, забезпечуючи виконання скілу в окремому git-worktree та запобігаючи паралелізації. Функція `injectWorktreeNotice` керує наявністю або відсутністю цього блоку в `SKILL.md` на основі конфігурації.
11
+ ## Огляд
12
+
13
+ Управляє вставкою інструкцій для виконання команд у ізольованому git-worktree у синкнутий `SKILL.md` (рішення D2 зі spec). Коли `main.json.worktree === true`, інструкції вставляються між маркерами `WORKTREE_START` та `WORKTREE_END`. Це забезпечує ре-синк ідемпотентність: наявний блок замінюється, а при `main.json.worktree === false` — видаляється. Механізм адаптований для агента, який читає `SKILL.md`.
12
14
 
13
15
  ## Поведінка
14
16
 
15
- WORKTREE_START Маркер початку блоку інструкцій для роботи в окремому git-worktree.
16
- WORKTREE_END Маркер кінця блоку інструкцій для роботи в окремому git-worktree.
17
- injectWorktreeNotice Вставляє, оновлює або видаляє блок інструкцій для роботи в worktree у вмісті SKILL.md залежно від булевого значення.
17
+ WORKTREE_START: Позначає початок блоку інструкцій для роботи в окремому git-worktree.
18
+ WORKTREE_END: Позначає кінець блоку інструкцій для роботи в окремому git-worktree.
19
+ injectWorktreeNotice: Вставляє, оновлює або видаляє блок інструкцій для роботи в worktree у вмісті SKILL.md залежно від булевого значення.
18
20
 
19
21
  ## Публічний API
20
22
 
21
- WORKTREE_START — Позначає початок секції, що описує робоче дерево.
22
- WORKTREE_END — Позначає кінець секції, що описує робоче дерево.
23
- injectWorktreeNotice — Вставляє, змінює або видаляє блок інформації про робоче дерево у файлі `SKILL.md`.
23
+ WORKTREE_START — Позначає початок блоку, що описує робоче дерево.
24
+ WORKTREE_END — Позначає кінець блоку, що описує робоче дерево.
25
+ injectWorktreeNotice — Додає, змінює або видаляє блок робочого дерева у файлі `SKILL.md`.
24
26
 
25
27
  ## Гарантії поведінки
26
28
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Парсер метаданих правила з `npm/rules/<id>/meta.json` (data-driven автодетект).
2
+ * Парсер метаданих правила з `npm/rules/<id>/main.json` (data-driven автодетект).
3
3
  *
4
- * `meta.json.auto` має один із чотирьох видів:
4
+ * `main.json.auto` має один із чотирьох видів:
5
5
  * - `"завжди"` → always-on;
6
6
  * - `["rule", …]` → активується, коли всі правила-залежності виявлені;
7
7
  * - `{ "glob": "<pat>" | [<pat>] }` → наявність файлів/каталогів за glob (OR);
@@ -20,7 +20,7 @@ export const RULE_ALWAYS = 'завжди'
20
20
  */
21
21
 
22
22
  /**
23
- * Нормалізує значення `meta.json.auto` у дискриміновану форму.
23
+ * Нормалізує значення `main.json.auto` у дискриміновану форму.
24
24
  * @param {unknown} value значення поля `auto`
25
25
  * @returns {RuleAutoSpec | null} `null` — формат не розпізнано (= opt-in)
26
26
  */
@@ -48,11 +48,11 @@ export function parseRuleAutoSpec(value) {
48
48
  return null
49
49
  }
50
50
 
51
- /** Допустимі значення `meta.json.lint` (вісь scope: чи детектор дробиться на changed-set). */
51
+ /** Допустимі значення `main.json.lint` (вісь scope: чи детектор дробиться на changed-set). */
52
52
  const LINT_SCOPES = new Set(['per-file', 'full'])
53
53
 
54
54
  /**
55
- * Нормалізує значення `meta.json.lint` у scope детектора.
55
+ * Нормалізує значення `main.json.lint` у scope детектора.
56
56
  * - `"per-file"` — детектор декомпозується на змінені файли (дельта vs origin);
57
57
  * - `"full"` — нероздільно крос-файловий (лише `--full` / CI).
58
58
  * Об'єктна форма `{scope, ci}` скасована: CI=`--read-only --full` ганяє все повністю,
@@ -65,7 +65,7 @@ export function parseRuleLintSpec(value) {
65
65
  }
66
66
 
67
67
  /**
68
- * Читає й парсить `meta.json` одного правила.
68
+ * Читає й парсить `main.json` одного правила.
69
69
  * @param {string} ruleDir абсолютний шлях до каталогу правила
70
70
  * @returns {Record<string, unknown> | null} обʼєкт або `null` (немає файлу / невалідний JSON / не-обʼєкт)
71
71
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Спільний парсер метаданих скіла з `npm/skills/<id>/meta.json`.
2
+ * Спільний парсер метаданих скіла з `npm/skills/<id>/main.json`.
3
3
  *
4
- * `meta.json` — єдине джерело правди для скіла замість колишнього `auto.md`:
4
+ * `main.json` — єдине джерело правди для скіла замість колишнього `auto.md`:
5
5
  * - `auto` — умова автоактивації (`"завжди"` | масив id правил), опційне;
6
6
  * - `worktree` — boolean: чи виконувати скіл в окремому git-worktree (один інстанс);
7
7
  * - `requireRoot` — boolean, опційне: чи скіл вимагає запуску з кореня репо.
@@ -24,8 +24,8 @@ export const SKILL_ALWAYS = 'завжди'
24
24
  */
25
25
 
26
26
  /**
27
- * Перетворює значення поля `auto` з `meta.json` у `SkillAutoSpec`.
28
- * @param {unknown} value значення `meta.json.auto`
27
+ * Перетворює значення поля `auto` з `main.json` у `SkillAutoSpec`.
28
+ * @param {unknown} value значення `main.json.auto`
29
29
  * @returns {SkillAutoSpec | null} `null` — формат не розпізнано (= opt-in)
30
30
  */
31
31
  export function parseSkillAutoSpec(value) {
@@ -43,7 +43,7 @@ export function parseSkillAutoSpec(value) {
43
43
  /**
44
44
  * Чи вимагає скіл запуску з кореня репо («активовано root-захист»). Єдина похідна
45
45
  * ознака: `worktree:true` (корінь гарантує worktree) АБО явний `requireRoot:true`.
46
- * @param {Record<string, unknown> | null} meta розпарсений `meta.json` (або null)
46
+ * @param {Record<string, unknown> | null} meta розпарсений `main.json` (або null)
47
47
  * @returns {boolean} true — скіл мутує проєкт і має стартувати з кореня
48
48
  */
49
49
  export function skillRequiresRoot(meta) {
@@ -51,7 +51,7 @@ export function skillRequiresRoot(meta) {
51
51
  }
52
52
 
53
53
  /**
54
- * Читає й парсить `meta.json` одного скіла.
54
+ * Читає й парсить `main.json` одного скіла.
55
55
  * @param {string} skillDir абсолютний шлях до каталогу скіла
56
56
  * @returns {Record<string, unknown> | null} розпарсений обʼєкт або `null` (немає файлу / невалідний JSON / не-обʼєкт)
57
57
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Вшивання worktree-інструкції у синкнутий `SKILL.md` (рішення D2 зі spec).
3
3
  *
4
- * Коли `meta.json.worktree === true`, скіл має виконуватись в окремому git-worktree
4
+ * Коли `main.json.worktree === true`, скіл має виконуватись в окремому git-worktree
5
5
  * і не паралелитись. Підказка адресована агенту, який читає `SKILL.md`, тож
6
6
  * вставляється в текст між стабільними маркерами — ре-синк ідемпотентний:
7
7
  * наявний блок замінюється, при `worktree:false` — видаляється.
@@ -159,7 +159,7 @@ function buildBlock(content) {
159
159
  /**
160
160
  * Вставляє / оновлює / видаляє worktree-блок у вмісті `SKILL.md`.
161
161
  * @param {string} content вміст `SKILL.md`
162
- * @param {boolean} enabled чи має бути блок (значення `meta.json.worktree`)
162
+ * @param {boolean} enabled чи має бути блок (значення `main.json.worktree`)
163
163
  * @returns {string} оновлений вміст (ідемпотентно)
164
164
  */
165
165
  export function injectWorktreeNotice(content, enabled) {
@@ -6,18 +6,18 @@ resource: npm/scripts/utils/
6
6
 
7
7
  # npm/scripts/utils
8
8
 
9
- | Файл | Тип |
10
- |---|---|
11
- | [ast-scan-utils.mjs](ast-scan-utils.md) | JS Module |
9
+ | Файл | Тип |
10
+ | ----------------------------------------------------------- | --------- |
11
+ | [ast-scan-utils.mjs](ast-scan-utils.md) | JS Module |
12
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 |
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 |