@nitra/cursor 3.27.0 → 3.29.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 (128) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +1 -3
  3. package/rules/abie/js/applies.mjs +1 -5
  4. package/rules/abie/js/env_dns.mjs +1 -9
  5. package/rules/abie/js/firebase_hosting.mjs +1 -5
  6. package/rules/abie/js/hc_pairing.mjs +1 -8
  7. package/rules/abie/js/ua_http_route.mjs +1 -10
  8. package/rules/abie/js/ua_node_selector.mjs +1 -8
  9. package/rules/adr/js/hooks.mjs +1 -20
  10. package/rules/bun/js/layout.mjs +1 -19
  11. package/rules/capacitor/js/platforms.mjs +1 -23
  12. package/rules/changelog/js/consistency.mjs +1 -29
  13. package/rules/ci4/js/marksman_config.mjs +1 -19
  14. package/rules/docker/js/lint.mjs +1 -34
  15. package/rules/ga/docs/fix.md +4 -4
  16. package/rules/ga/js/docs/lint.md +3 -3
  17. package/rules/ga/js/docs/workflows.md +14 -14
  18. package/rules/ga/js/workflows.mjs +1 -16
  19. package/rules/ga/lint/docs/lint.md +9 -9
  20. package/rules/graphql/js/tooling.mjs +1 -9
  21. package/rules/hasura/js/internal_urls.mjs +1 -24
  22. package/rules/image-avif/js/avif_generation.mjs +1 -27
  23. package/rules/image-compress/js/package_setup.mjs +1 -18
  24. package/rules/js-bun-db/js/safety.mjs +1 -31
  25. package/rules/js-bun-redis/js/imports.mjs +1 -12
  26. package/rules/js-lint/js/docs/lint-findings.md +30 -0
  27. package/rules/js-lint/js/lint-findings.mjs +1 -7
  28. package/rules/js-lint/js/lint.mjs +1 -10
  29. package/rules/js-lint/js/tooling.mjs +1 -13
  30. package/rules/js-lint/js/utils_imports.mjs +1 -18
  31. package/rules/js-lint-ci/js/lint.mjs +1 -6
  32. package/rules/js-mssql/js/deps.mjs +1 -10
  33. package/rules/js-run/js/runtime.mjs +1 -37
  34. package/rules/js-run/lib/docs/temporal-scan.md +25 -0
  35. package/rules/k8s/js/manifests.mjs +1 -137
  36. package/rules/nginx-default-tpl/js/template.mjs +1 -18
  37. package/rules/npm-module/js/docs/header_doc_pointer.md +25 -0
  38. package/rules/npm-module/js/header_doc_pointer.mjs +82 -0
  39. package/rules/npm-module/js/package_structure.mjs +1 -28
  40. package/rules/npm-module/js/rule_meta.mjs +1 -10
  41. package/rules/npm-module/js/skill_meta.mjs +1 -13
  42. package/rules/php/js/tooling.mjs +1 -11
  43. package/rules/python/js/applies.mjs +1 -8
  44. package/rules/python/js/tooling.mjs +1 -21
  45. package/rules/rego/js/applies.mjs +1 -11
  46. package/rules/rust/js/applies.mjs +1 -7
  47. package/rules/security/js/sample_secret.mjs +1 -28
  48. package/rules/security/js/trufflehog.mjs +1 -8
  49. package/rules/style-lint/js/lint.mjs +1 -5
  50. package/rules/style-lint/js/tooling.mjs +1 -19
  51. package/rules/tauri/js/cargo_mutants_config.mjs +1 -20
  52. package/rules/tauri/js/tooling.mjs +1 -21
  53. package/rules/test/js/cargo_mutants_config.mjs +1 -12
  54. package/rules/test/js/location.mjs +1 -9
  55. package/rules/test/js/no-process-chdir.mjs +1 -21
  56. package/rules/test/js/no-relative-fs-path.mjs +1 -23
  57. package/rules/test/js/stryker_config.mjs +4 -25
  58. package/rules/test/js/vitest-config-pool-forks.mjs +1 -17
  59. package/rules/text/js/forbidden-prettier.mjs +1 -10
  60. package/rules/text/js/formatting.mjs +1 -31
  61. package/rules/vue/js/packages.mjs +1 -24
  62. package/scripts/coverage-classify/index.mjs +60 -72
  63. package/scripts/coverage-fix.mjs +26 -23
  64. package/scripts/dispatcher/lib/subagent-runner.mjs +33 -102
  65. package/scripts/docs/coverage-fix-extract.md +32 -0
  66. package/scripts/docs/lint-cli.md +25 -0
  67. package/scripts/docs/post-tool-use-fix.md +27 -0
  68. package/scripts/docs/rename-yaml-extensions.md +36 -0
  69. package/scripts/docs/skills-cli.md +35 -0
  70. package/scripts/docs/sync-claude-config.md +52 -0
  71. package/scripts/docs/sync-setup-bun-deps-action.md +26 -0
  72. package/scripts/docs/upgrade-nitra-cursor-and-install.md +29 -0
  73. package/scripts/docs/worktree-cli.md +46 -0
  74. package/scripts/lib/docs/assert-project-root.md +28 -0
  75. package/scripts/lib/docs/diff-added-lines.md +34 -0
  76. package/scripts/lib/docs/read-n-cursor-config-lite.md +28 -0
  77. package/scripts/lib/docs/resolve-target-files.md +34 -0
  78. package/scripts/lib/docs/root-notice.md +28 -0
  79. package/scripts/lib/docs/rule-meta-helpers.md +34 -0
  80. package/scripts/lib/docs/rule-meta.md +34 -0
  81. package/scripts/lib/docs/rule-predicates.md +30 -0
  82. package/scripts/lib/docs/run-conftest-batch.md +26 -0
  83. package/scripts/lib/docs/run-lint-step.md +25 -0
  84. package/scripts/lib/docs/run-rule-cli.md +27 -0
  85. package/scripts/lib/docs/run-rule.md +32 -0
  86. package/scripts/lib/docs/run-standard-lint.md +22 -0
  87. package/scripts/lib/docs/run-standard-rule.md +24 -0
  88. package/scripts/lib/docs/skill-meta.md +31 -0
  89. package/scripts/lib/docs/sync-gitignore-worktree.md +31 -0
  90. package/scripts/lib/docs/template.md +40 -0
  91. package/scripts/lib/docs/timing-summary.md +24 -0
  92. package/scripts/lib/docs/workspaces.md +30 -0
  93. package/scripts/lib/docs/worktree-notice.md +27 -0
  94. package/scripts/lib/docs/worktree.md +38 -0
  95. package/scripts/utils/docs/ast-scan-utils.md +50 -0
  96. package/scripts/utils/docs/ensure-gitignore-entries.md +28 -0
  97. package/scripts/utils/docs/find-package-json-paths.md +26 -0
  98. package/scripts/utils/docs/lock-cache-dir.md +25 -0
  99. package/scripts/utils/docs/pass.md +25 -0
  100. package/scripts/utils/docs/resolve-cargo-manifest.md +23 -0
  101. package/scripts/utils/docs/resolve-cmd.md +29 -0
  102. package/scripts/utils/docs/resolve-js-root.md +25 -0
  103. package/scripts/utils/docs/test-helpers.md +36 -0
  104. package/scripts/utils/docs/walk-cache.md +27 -0
  105. package/scripts/utils/docs/walkDir.md +32 -0
  106. package/scripts/utils/docs/with-lock.md +25 -0
  107. package/scripts/utils/docs/worktree-fingerprint.md +27 -0
  108. package/skills/docgen/js/docgen-batch.mjs +95 -0
  109. package/skills/docgen/js/docgen-extract.mjs +33 -18
  110. package/skills/docgen/js/docgen-gen.mjs +140 -154
  111. package/skills/docgen/js/docgen-ignore.mjs +1 -6
  112. package/skills/docgen/js/docgen-prompts.mjs +33 -22
  113. package/skills/docgen/js/docgen-scan.mjs +1 -8
  114. package/skills/docgen/js/docs/docgen-extract.md +28 -0
  115. package/skills/docgen/js/docs/docgen-gen.md +41 -0
  116. package/skills/docgen/js/docs/docgen-ignore.md +24 -0
  117. package/skills/docgen/js/docs/docgen-prompts.md +24 -0
  118. package/skills/docgen/js/docs/docgen-scan.md +48 -0
  119. package/skills/fix/js/docs/llm-worker.md +27 -0
  120. package/skills/fix/js/docs/orchestrator.md +32 -0
  121. package/skills/fix/js/docs/t0.md +29 -0
  122. package/skills/fix/js/llm-worker.mjs +64 -29
  123. package/skills/fix/js/orchestrator.mjs +45 -54
  124. package/skills/fix/js/t0.mjs +16 -32
  125. package/skills/start-check/js/check.mjs +1 -16
  126. package/skills/start-check/js/docs/check.md +34 -0
  127. package/skills/taze/js/diff.mjs +1 -15
  128. package/skills/taze/js/docs/diff.md +33 -0
@@ -1,18 +1,4 @@
1
- /**
2
- * `n-cursor taze diff` — read-only детермінований diff версій залежностей між
3
- * `package.json` і його бекапом `package.json.taze-bak` (root + усі воркспейси
4
- * монорепо), із класифікацією кожної зміни за semver.
5
- *
6
- * Мотивація: скіл `n-taze` раніше казав LLM-агенту вручну порівнювати backup із
7
- * новим `package.json` по всіх воркспейсах і вирішувати, де «змінилась перша
8
- * значуща цифра semver» (major). Це детермінований JSON-diff + semver-логіка —
9
- * скрипт робить це за мілісекунди й без помилок, а агент отримує готовий список
10
- * major-оновлень для справді когнітивної роботи (читання CHANGELOG, рефакторинг).
11
- *
12
- * «Breaking» (major) рахуємо за caret-семантикою — змінилась найлівіша ненульова
13
- * компонента: `1.x→2.x`, `0.4.x→0.5.x`, `0.0.3→0.0.4`. Minor/patch вважаємо
14
- * сумісними.
15
- */
1
+ /** @see ./docs/diff.md */
16
2
  import { existsSync } from 'node:fs'
17
3
  import { readFile } from 'node:fs/promises'
18
4
  import { join } from 'node:path'
@@ -0,0 +1,33 @@
1
+ # diff.mjs
2
+
3
+ ## Огляд
4
+
5
+ Файл `n-cursor taze diff` порівнює поточну версію `package.json` з її резервною копією (`package.json.taze-bak`) для виявлення змін залежностей. Він класифікує ці зміни за семантикою версій (major, minor, patch) та надає список оновлень, які потребують уваги. Це автоматизує процес, який раніше виконувався вручну, забезпечуючи швидкий та точний аналіз змін у залежностях монорепо.
6
+
7
+ ## Поведінка
8
+
9
+ `parseVersion` парсує версійний specifier, ігноруючи range-префікси, і повертає об'єкт з major, minor та patch компонентами, або null, якщо spec не є semver.
10
+ `isBreaking` визначає, чи є перехід від старої до нової версії "breaking" за caret-семантикою.
11
+ `diffPackageJson` порівнює два об'єкти `package.json`, виявляє major-оновлення та підраховує minor/patch зміни для залежностей.
12
+ `collectTazeDiff` збирає diff по всіх воркспейсах монорепо, порівнюючи `package.json` з бекапом, та повертає список major-оновлень, кількість minor/patch змін, загальну кількість порівняних воркспейсів та кількість воркспейсів, які були порівняні.
13
+ `runTazeCli` запускає CLI `n-cursor taze diff`, збирає diff по воркспейсах, та виводить результат у форматі JSON.
14
+
15
+ ## Публічний API
16
+
17
+ - parseVersion — Розбирає semver-версію з специфікатора.
18
+ - isBreaking — Визначає, чи є перехід breaking за caret-семантикою.
19
+ - diffPackageJson — Порівнює два package.json-об'єкти та визначає зміни залежностей.
20
+ - collectTazeDiff — Збирає diff для монорепо, порівнюючи package.json з резервною копією.
21
+ - runTazeCli — Запускає CLI для виведення компактного JSON з інформацією про major-оновлення та кількість minor/patch.
22
+
23
+ ## Гарантії поведінки
24
+
25
+ - Скрипт повертає `true`, якщо всі воркспейси монорепо успішно порівняні.
26
+ - Скрипт повертає `false` та `null`, якщо виникла будь-яка помилка під час порівняння.
27
+ - Результат порівняння завжди є `null`, якщо `package.json` або `package.json.taze-bak` не є валідним JSON.
28
+ - Результат порівняння містить список major-оновлень, визначених за caret-семантикою.
29
+ - Minor та patch оновлення не включаються в результат.
30
+ - Результат завжди детермінований, тобто при однаковому вході скрипт завжди повертає однаковий результат.
31
+ - Скрипт не використовує кешування.
32
+ - Скрипт не кидає винятків.
33
+ - Скрипт перехоплює помилки та повертає `false` та `null`.