@nitra/cursor 12.7.0 → 12.8.1
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.
- package/.pi-template/extensions/n-cursor-adr/docs/index.md +2 -2
- package/CHANGELOG.md +21 -5
- package/bin/n-cursor.js +1 -1
- package/docs/index.md +3 -3
- package/docs/stryker.config.md +3 -3
- package/lib/docs/index.md +5 -5
- package/lib/docs/llm.md +4 -4
- package/package.json +2 -2
- package/rules/abie/docs/fix.md +8 -8
- package/rules/abie/docs/index.md +3 -3
- package/rules/abie/js/docs/index.md +6 -6
- package/rules/abie/lib/docs/index.md +9 -9
- package/rules/bun/docs/fix.md +5 -5
- package/rules/bun/docs/index.md +3 -3
- package/rules/bun/js/docs/index.md +2 -2
- package/rules/capacitor/docs/fix.md +10 -10
- package/rules/capacitor/docs/index.md +3 -3
- package/rules/capacitor/js/docs/index.md +2 -2
- package/rules/changelog/docs/fix.md +11 -11
- package/rules/changelog/docs/index.md +3 -3
- package/rules/changelog/js/docs/consistency.md +12 -12
- package/rules/changelog/js/docs/index.md +2 -2
- package/rules/changelog/lib/docs/index.md +2 -2
- package/rules/ci4/docs/fix.md +4 -4
- package/rules/ci4/docs/index.md +3 -3
- package/rules/ci4/js/docs/index.md +2 -2
- package/rules/doc-files/docs/index.md +3 -3
- package/rules/doc-files/js/docgen-crc.mjs +2 -8
- package/rules/doc-files/js/docgen-extract.mjs +5 -3
- package/rules/doc-files/js/docgen-files-batch.mjs +18 -3
- package/rules/doc-files/js/docgen-gen.mjs +11 -3
- package/rules/doc-files/js/docgen-judge-measure.mjs +67 -18
- package/rules/doc-files/js/docgen-judge.mjs +8 -1
- package/rules/doc-files/js/docgen-scan.mjs +14 -4
- package/rules/doc-files/js/docs/docgen-crc.md +25 -14
- package/rules/doc-files/js/docs/docgen-extract.md +16 -14
- package/rules/doc-files/js/docs/docgen-files-batch.md +11 -11
- package/rules/doc-files/js/docs/docgen-gen.md +15 -26
- package/rules/doc-files/js/docs/docgen-judge-measure.md +14 -12
- package/rules/doc-files/js/docs/docgen-judge.md +13 -11
- package/rules/doc-files/js/docs/docgen-scan.md +28 -27
- package/rules/doc-files/js/docs/index.md +0 -1
- package/rules/docker/docs/fix.md +6 -6
- package/rules/docker/docs/index.md +3 -3
- package/rules/docker/js/docs/index.md +2 -2
- package/rules/docker/lib/docs/docker-hadolint.md +2 -2
- package/rules/docker/lib/docs/index.md +5 -5
- package/rules/efes/docs/fix.md +8 -8
- package/rules/efes/docs/index.md +3 -3
- package/rules/feedback/docs/fix.md +5 -5
- package/rules/feedback/docs/index.md +3 -3
- package/rules/ga/docs/fix.md +5 -5
- package/rules/ga/docs/index.md +3 -3
- package/rules/ga/js/docs/index.md +3 -3
- package/rules/graphql/docs/fix.md +8 -8
- package/rules/graphql/docs/index.md +3 -3
- package/rules/graphql/docs/main.md +8 -8
- package/rules/graphql/js/docs/index.md +2 -2
- package/rules/graphql/lib/docs/index.md +2 -2
- package/rules/hasura/docs/fix.md +11 -11
- package/rules/hasura/docs/index.md +3 -3
- package/rules/hasura/js/docs/index.md +2 -2
- package/rules/image-avif/docs/fix.md +3 -3
- package/rules/image-avif/docs/index.md +3 -3
- package/rules/image-avif/js/docs/avif_generation.md +6 -6
- package/rules/image-avif/js/docs/index.md +2 -2
- package/rules/image-compress/docs/fix.md +2 -2
- package/rules/image-compress/docs/index.md +3 -3
- package/rules/image-compress/js/docs/index.md +3 -3
- package/rules/{js-lint → js}/docs/fix.md +9 -9
- package/rules/{js-lint → js}/docs/index.md +3 -3
- package/rules/{js-lint → js}/js/docs/check.md +5 -5
- package/rules/{js-lint → js}/js/docs/index.md +4 -4
- package/rules/js-bun-db/docs/fix.md +5 -5
- package/rules/js-bun-db/docs/index.md +3 -3
- package/rules/js-bun-db/js/docs/index.md +2 -2
- package/rules/js-bun-db/lib/docs/index.md +2 -2
- package/rules/js-bun-redis/docs/fix.md +6 -6
- package/rules/js-bun-redis/docs/index.md +3 -3
- package/rules/js-bun-redis/js/docs/index.md +2 -2
- package/rules/js-bun-redis/lib/docs/index.md +2 -2
- package/rules/js-lint-ci/docs/fix.md +3 -3
- package/rules/js-lint-ci/docs/index.md +3 -3
- package/rules/js-lint-ci/js/docs/index.md +2 -2
- package/rules/js-mssql/docs/fix.md +5 -5
- package/rules/js-mssql/docs/index.md +3 -3
- package/rules/js-mssql/js/docs/index.md +2 -2
- package/rules/js-mssql/lib/docs/index.md +2 -2
- package/rules/js-run/docs/fix.md +8 -8
- package/rules/js-run/docs/index.md +3 -3
- package/rules/js-run/js/docs/index.md +2 -2
- package/rules/js-run/lib/docs/index.md +7 -7
- package/rules/k8s/docs/fix.md +4 -4
- package/rules/k8s/docs/index.md +3 -3
- package/rules/k8s/js/docs/index.md +3 -3
- package/rules/nginx-default-tpl/docs/fix.md +7 -7
- package/rules/nginx-default-tpl/docs/index.md +3 -3
- package/rules/nginx-default-tpl/js/docs/index.md +2 -2
- package/rules/nginx-default-tpl/js/docs/template.md +2 -2
- package/rules/npm-module/docs/fix.md +8 -8
- package/rules/npm-module/docs/index.md +3 -3
- package/rules/npm-module/js/docs/header_doc_pointer.md +23 -13
- package/rules/npm-module/js/docs/index.md +5 -5
- package/rules/npm-module/js/docs/rule_meta.md +6 -6
- package/rules/npm-module/js/header_doc_pointer.mjs +1 -3
- package/rules/php/docs/fix.md +6 -6
- package/rules/php/docs/index.md +3 -3
- package/rules/php/js/docs/index.md +3 -3
- package/rules/python/docs/fix.md +11 -11
- package/rules/python/docs/index.md +3 -3
- package/rules/python/docs/main.md +10 -10
- package/rules/python/js/docs/index.md +3 -3
- package/rules/python/main.mjs +2 -1
- package/rules/rego/docs/fix.md +5 -5
- package/rules/rego/docs/index.md +3 -3
- package/rules/rego/js/docs/index.md +3 -3
- package/rules/release/docs/index.md +5 -5
- package/rules/release/lib/docs/index.md +4 -4
- package/rules/rust/docs/fix.md +4 -4
- package/rules/rust/docs/index.md +3 -3
- package/rules/rust/docs/main.md +7 -7
- package/rules/rust/js/docs/index.md +3 -3
- package/rules/rust/lib/docs/index.md +2 -2
- package/rules/rust/main.mjs +7 -1
- package/rules/security/docs/fix.md +6 -6
- package/rules/security/docs/index.md +3 -3
- package/rules/security/js/docs/index.md +4 -4
- package/rules/style-lint/docs/fix.md +3 -3
- package/rules/style-lint/docs/index.md +3 -3
- package/rules/style-lint/js/docs/index.md +3 -3
- package/rules/tauri/docs/fix.md +11 -11
- package/rules/tauri/docs/index.md +3 -3
- package/rules/tauri/js/docs/index.md +3 -3
- package/rules/test/docs/fix.md +5 -5
- package/rules/test/docs/index.md +3 -3
- package/rules/test/js/data/stryker_config/docs/index.md +4 -4
- package/rules/test/js/data/vitest_config/docs/index.md +2 -2
- package/rules/test/js/docs/index.md +7 -7
- package/rules/text/docs/fix.md +11 -11
- package/rules/text/docs/index.md +3 -3
- package/rules/text/docs/main.md +8 -8
- package/rules/text/js/cspell-fix.mjs +7 -2
- package/rules/text/js/docs/cspell-fix.md +8 -8
- package/rules/text/js/docs/index.md +7 -8
- package/rules/text/js/docs/run-v8r.md +3 -3
- package/rules/text/main.mjs +3 -1
- package/rules/tool-surface/docs/index.md +3 -3
- package/rules/tool-surface/meta.json +6 -1
- package/rules/vue/docs/fix.md +6 -6
- package/rules/vue/docs/index.md +3 -3
- package/rules/vue/js/docs/index.md +2 -2
- package/rules/vue/lib/docs/index.md +2 -2
- package/rules/worktree/docs/fix.md +11 -11
- package/rules/worktree/docs/index.md +3 -3
- package/scripts/coverage-classify/docs/index.md +6 -6
- package/scripts/dispatcher/docs/index.md +2 -2
- package/scripts/docs/index.md +16 -16
- package/scripts/lib/docs/index.md +36 -36
- package/scripts/lib/docs/run-lint.md +7 -7
- package/scripts/lib/docs/run-standard-lint.md +7 -5
- package/scripts/lib/fix/analyze-escalation.mjs +4 -1
- package/scripts/lib/fix/docs/analyze-escalation.md +28 -15
- package/scripts/lib/fix/docs/index.md +10 -10
- package/scripts/lib/fix/docs/orchestrator.md +14 -15
- package/scripts/lib/fix/docs/run-conformance-check.md +4 -3
- package/scripts/lib/fix/docs/run-fix-check.md +3 -3
- package/scripts/lib/fix/docs/t0.md +8 -7
- package/scripts/lib/fix/orchestrator.mjs +26 -3
- package/scripts/lib/fix/t0.mjs +4 -1
- package/scripts/lib/run-lint.mjs +1 -3
- package/scripts/utils/docs/index.md +14 -14
- package/skills/doc-aggregate/js/docs/index.md +3 -3
- package/skills/doc-files/.changes/260612-0002.md +1 -0
- package/skills/doc-files/.changes/260612-0006.md +1 -0
- package/skills/doc-files/.changes/260612-0008.md +1 -0
- package/skills/doc-files/.changes/260612-0012.md +1 -0
- package/skills/doc-files/.changes/260612-0031.md +1 -0
- package/skills/doc-files/.changes/260612-0036.md +1 -0
- package/skills/doc-files/.changes/260612-0114.md +1 -0
- package/skills/start-check/js/docs/index.md +2 -2
- package/skills/taze/js/docs/index.md +2 -2
- package/types/bin/n-cursor.d.ts +1 -1
- /package/rules/{js-lint → js}/coverage/coverage.mjs +0 -0
- /package/rules/{js-lint → js}/docs/main.md +0 -0
- /package/rules/{js-lint → js}/js/check.mjs +0 -0
- /package/rules/{js-lint → js}/js/data/tooling/knip-canonical.json +0 -0
- /package/rules/{js-lint → js}/js/data/tooling/oxlint-canonical.json +0 -0
- /package/rules/{js-lint → js}/js/docs/lint-findings.md +0 -0
- /package/rules/{js-lint → js}/js/docs/tooling.md +0 -0
- /package/rules/{js-lint → js}/js/docs/utils_imports.md +0 -0
- /package/rules/{js-lint → js}/js/lint-findings.mjs +0 -0
- /package/rules/{js-lint → js}/js/tooling.mjs +0 -0
- /package/rules/{js-lint → js}/js/utils_imports.mjs +0 -0
- /package/rules/{js-lint/js-lint.mdc → js/js.mdc} +0 -0
- /package/rules/{js-lint → js}/main.mjs +0 -0
- /package/rules/{js-lint → js}/meta.json +0 -0
- /package/rules/{js-lint → js}/policy/jscpd/jscpd.rego +0 -0
- /package/rules/{js-lint → js}/policy/jscpd/target.json +0 -0
- /package/rules/{js-lint → js}/policy/jscpd/template/.jscpd.json.snippet.json +0 -0
- /package/rules/{js-lint → js}/policy/lint_js_yml/lint_js_yml.rego +0 -0
- /package/rules/{js-lint → js}/policy/lint_js_yml/target.json +0 -0
- /package/rules/{js-lint → js}/policy/lint_js_yml/template/lint-js.yml.snippet.yml +0 -0
- /package/rules/{js-lint → js}/policy/package_json/package_json.rego +0 -0
- /package/rules/{js-lint → js}/policy/package_json/target.json +0 -0
- /package/rules/{js-lint → js}/policy/package_json/template/package.json.snippet.json +0 -0
- /package/rules/{js-lint → js}/policy/vscode_extensions/target.json +0 -0
- /package/rules/{js-lint → js}/policy/vscode_extensions/template/extensions.json.snippet.json +0 -0
- /package/rules/{js-lint → js}/policy/vscode_extensions/vscode_extensions.rego +0 -0
|
@@ -14,19 +14,19 @@ docgen:
|
|
|
14
14
|
## Поведінка
|
|
15
15
|
|
|
16
16
|
1. Запуск правила.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
- Приймає контекст прогону.
|
|
18
|
+
- Виконує застосування JS-занепокоєних.
|
|
19
|
+
- Застосовує політику.
|
|
20
|
+
- Генерує посилання MDC.
|
|
21
|
+
- Повертає результат прогону.
|
|
22
22
|
|
|
23
23
|
2. Запуск у режимі CLI.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
- Виконується при запуску через CLI.
|
|
25
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
26
|
+
- Виконує завантаження конфігурації.
|
|
27
|
+
- Виконує перевірку дозволених елементів.
|
|
28
|
+
- Генерує зведену інформацію.
|
|
29
|
+
- Виконує вихід з процесу залежно від результату.
|
|
30
30
|
|
|
31
31
|
## Публічний API
|
|
32
32
|
|
|
@@ -6,9 +6,9 @@ docgen:
|
|
|
6
6
|
crc: 06249ac8
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [apply.mjs](apply.md)
|
|
12
|
-
| [cache.mjs](cache.md)
|
|
13
|
-
| [prompt.mjs](prompt.md)
|
|
14
|
-
| [verdict-schema.mjs](verdict-schema.md) | JS Module | Файл надає схему VerdictSchema для валідації вердиктів LLM-класифікатора.
|
|
9
|
+
| Файл | Тип | Опис |
|
|
10
|
+
| --------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------ |
|
|
11
|
+
| [apply.mjs](apply.md) | JS Module | Модуль apply.mjs із пакета coverage-classify відповідає за \*\*застосування вердиктів класифікатора му |
|
|
12
|
+
| [cache.mjs](cache.md) | JS Module | Модуль cache.mjs реалізує **file-hash-keyed cache** для вердиктів класифікатора покриття мутаційного |
|
|
13
|
+
| [prompt.mjs](prompt.md) | JS Module | Модуль prompt.mjs — це prompt-builder для скрипта coverage-classify, що класифікує вцілілих мутантів |
|
|
14
|
+
| [verdict-schema.mjs](verdict-schema.md) | JS Module | Файл надає схему VerdictSchema для валідації вердиктів LLM-класифікатора. |
|
package/scripts/docs/index.md
CHANGED
|
@@ -6,20 +6,20 @@ resource: npm/scripts/
|
|
|
6
6
|
|
|
7
7
|
# npm/scripts
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [auto-rules.mjs](auto-rules.md)
|
|
12
|
-
| [auto-skills.mjs](auto-skills.md)
|
|
13
|
-
| [build-agents-commands.mjs](build-agents-commands.md)
|
|
14
|
-
| [cli-entry.mjs](cli-entry.md)
|
|
15
|
-
| [coverage-fix-extract.mjs](coverage-fix-extract.md)
|
|
16
|
-
| [coverage-fix.mjs](coverage-fix.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ----------------------------------------------------------------------------------- | --------- |
|
|
11
|
+
| [auto-rules.mjs](auto-rules.md) | JS Module |
|
|
12
|
+
| [auto-skills.mjs](auto-skills.md) | JS Module |
|
|
13
|
+
| [build-agents-commands.mjs](build-agents-commands.md) | JS Module |
|
|
14
|
+
| [cli-entry.mjs](cli-entry.md) | JS Module |
|
|
15
|
+
| [coverage-fix-extract.mjs](coverage-fix-extract.md) | JS Module |
|
|
16
|
+
| [coverage-fix.mjs](coverage-fix.md) | JS Module |
|
|
17
17
|
| [ensure-nitra-cursor-dev-dependencies.mjs](ensure-nitra-cursor-dev-dependencies.md) | JS Module |
|
|
18
|
-
| [post-tool-use-check.mjs](post-tool-use-check.md)
|
|
19
|
-
| [post-tool-use-fix.mjs](post-tool-use-fix.md)
|
|
20
|
-
| [rename-yaml-extensions.mjs](rename-yaml-extensions.md)
|
|
21
|
-
| [skills-cli.mjs](skills-cli.md)
|
|
22
|
-
| [sync-claude-config.mjs](sync-claude-config.md)
|
|
23
|
-
| [sync-setup-bun-deps-action.mjs](sync-setup-bun-deps-action.md)
|
|
24
|
-
| [upgrade-nitra-cursor-and-install.mjs](upgrade-nitra-cursor-and-install.md)
|
|
25
|
-
| [worktree-cli.mjs](worktree-cli.md)
|
|
18
|
+
| [post-tool-use-check.mjs](post-tool-use-check.md) | JS Module |
|
|
19
|
+
| [post-tool-use-fix.mjs](post-tool-use-fix.md) | JS Module |
|
|
20
|
+
| [rename-yaml-extensions.mjs](rename-yaml-extensions.md) | JS Module |
|
|
21
|
+
| [skills-cli.mjs](skills-cli.md) | JS Module |
|
|
22
|
+
| [sync-claude-config.mjs](sync-claude-config.md) | JS Module |
|
|
23
|
+
| [sync-setup-bun-deps-action.mjs](sync-setup-bun-deps-action.md) | JS Module |
|
|
24
|
+
| [upgrade-nitra-cursor-and-install.mjs](upgrade-nitra-cursor-and-install.md) | JS Module |
|
|
25
|
+
| [worktree-cli.mjs](worktree-cli.md) | JS Module |
|
|
@@ -6,40 +6,40 @@ resource: npm/scripts/lib/
|
|
|
6
6
|
|
|
7
7
|
# npm/scripts/lib
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [assert-project-root.mjs](assert-project-root.md)
|
|
12
|
-
| [changed-files.mjs](changed-files.md)
|
|
13
|
-
| [check-mdc-template-refs.mjs](check-mdc-template-refs.md)
|
|
14
|
-
| [check-reporter.mjs](check-reporter.md)
|
|
15
|
-
| [diff-added-lines.mjs](diff-added-lines.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| --------------------------------------------------------------------------- | --------- |
|
|
11
|
+
| [assert-project-root.mjs](assert-project-root.md) | JS Module |
|
|
12
|
+
| [changed-files.mjs](changed-files.md) | JS Module |
|
|
13
|
+
| [check-mdc-template-refs.mjs](check-mdc-template-refs.md) | JS Module |
|
|
14
|
+
| [check-reporter.mjs](check-reporter.md) | JS Module |
|
|
15
|
+
| [diff-added-lines.mjs](diff-added-lines.md) | JS Module |
|
|
16
16
|
| [discover-check-rules-from-cursor.mjs](discover-check-rules-from-cursor.md) | JS Module |
|
|
17
|
-
| [discover-checkable-rules.mjs](discover-checkable-rules.md)
|
|
18
|
-
| [ensure-tool.mjs](ensure-tool.md)
|
|
19
|
-
| [generated-markdown.mjs](generated-markdown.md)
|
|
20
|
-
| [gha-workflow.mjs](gha-workflow.md)
|
|
21
|
-
| [inline-template-links.mjs](inline-template-links.md)
|
|
22
|
-
| [list-project-rules-mdc.mjs](list-project-rules-mdc.md)
|
|
23
|
-
| [list-rule-ids.mjs](list-rule-ids.md)
|
|
24
|
-
| [load-cursor-config.mjs](load-cursor-config.md)
|
|
25
|
-
| [mirror-parity.mjs](mirror-parity.md)
|
|
26
|
-
| [read-n-cursor-config-lite.mjs](read-n-cursor-config-lite.md)
|
|
27
|
-
| [resolve-target-files.mjs](resolve-target-files.md)
|
|
28
|
-
| [root-notice.mjs](root-notice.md)
|
|
29
|
-
| [rule-meta-helpers.mjs](rule-meta-helpers.md)
|
|
30
|
-
| [rule-meta.mjs](rule-meta.md)
|
|
31
|
-
| [rule-predicates.mjs](rule-predicates.md)
|
|
32
|
-
| [run-conftest-batch.mjs](run-conftest-batch.md)
|
|
33
|
-
| [run-lint-step.mjs](run-lint-step.md)
|
|
34
|
-
| [run-lint.mjs](run-lint.md)
|
|
35
|
-
| [run-rule-cli.mjs](run-rule-cli.md)
|
|
36
|
-
| [run-rule.mjs](run-rule.md)
|
|
37
|
-
| [run-standard-lint.mjs](run-standard-lint.md)
|
|
38
|
-
| [run-standard-rule.mjs](run-standard-rule.md)
|
|
39
|
-
| [skill-meta.mjs](skill-meta.md)
|
|
40
|
-
| [sync-gitignore-worktree.mjs](sync-gitignore-worktree.md)
|
|
41
|
-
| [template.mjs](template.md)
|
|
42
|
-
| [timing-summary.mjs](timing-summary.md)
|
|
43
|
-
| [workspaces.mjs](workspaces.md)
|
|
44
|
-
| [worktree-notice.mjs](worktree-notice.md)
|
|
45
|
-
| [worktree.mjs](worktree.md)
|
|
17
|
+
| [discover-checkable-rules.mjs](discover-checkable-rules.md) | JS Module |
|
|
18
|
+
| [ensure-tool.mjs](ensure-tool.md) | JS Module |
|
|
19
|
+
| [generated-markdown.mjs](generated-markdown.md) | JS Module |
|
|
20
|
+
| [gha-workflow.mjs](gha-workflow.md) | JS Module |
|
|
21
|
+
| [inline-template-links.mjs](inline-template-links.md) | JS Module |
|
|
22
|
+
| [list-project-rules-mdc.mjs](list-project-rules-mdc.md) | JS Module |
|
|
23
|
+
| [list-rule-ids.mjs](list-rule-ids.md) | JS Module |
|
|
24
|
+
| [load-cursor-config.mjs](load-cursor-config.md) | JS Module |
|
|
25
|
+
| [mirror-parity.mjs](mirror-parity.md) | JS Module |
|
|
26
|
+
| [read-n-cursor-config-lite.mjs](read-n-cursor-config-lite.md) | JS Module |
|
|
27
|
+
| [resolve-target-files.mjs](resolve-target-files.md) | JS Module |
|
|
28
|
+
| [root-notice.mjs](root-notice.md) | JS Module |
|
|
29
|
+
| [rule-meta-helpers.mjs](rule-meta-helpers.md) | JS Module |
|
|
30
|
+
| [rule-meta.mjs](rule-meta.md) | JS Module |
|
|
31
|
+
| [rule-predicates.mjs](rule-predicates.md) | JS Module |
|
|
32
|
+
| [run-conftest-batch.mjs](run-conftest-batch.md) | JS Module |
|
|
33
|
+
| [run-lint-step.mjs](run-lint-step.md) | JS Module |
|
|
34
|
+
| [run-lint.mjs](run-lint.md) | JS Module |
|
|
35
|
+
| [run-rule-cli.mjs](run-rule-cli.md) | JS Module |
|
|
36
|
+
| [run-rule.mjs](run-rule.md) | JS Module |
|
|
37
|
+
| [run-standard-lint.mjs](run-standard-lint.md) | JS Module |
|
|
38
|
+
| [run-standard-rule.mjs](run-standard-rule.md) | JS Module |
|
|
39
|
+
| [skill-meta.mjs](skill-meta.md) | JS Module |
|
|
40
|
+
| [sync-gitignore-worktree.mjs](sync-gitignore-worktree.md) | JS Module |
|
|
41
|
+
| [template.mjs](template.md) | JS Module |
|
|
42
|
+
| [timing-summary.mjs](timing-summary.md) | JS Module |
|
|
43
|
+
| [workspaces.mjs](workspaces.md) | JS Module |
|
|
44
|
+
| [worktree-notice.mjs](worktree-notice.md) | JS Module |
|
|
45
|
+
| [worktree.mjs](worktree.md) | JS Module |
|
|
@@ -3,27 +3,27 @@ type: JS Module
|
|
|
3
3
|
title: run-lint.mjs
|
|
4
4
|
resource: npm/scripts/lib/run-lint.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 24827b04
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
Модуль
|
|
13
|
+
Модуль ініціалізує та керує процесом лінтування коду. Він вибирає та сортує набір правил для перевірки, використовуючи конфігурації `meta.json` та `.n-cursor.json`. Публічна функція `selectLintRules` виконує вибір правил. Публічна функція `runLint` ініціює повний цикл лінтування, який може включати перевірку змінених файлів або всього репозиторію.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
selectLintRules вибирає і алфавітно сортує ідентифікатори правил для
|
|
18
|
-
runLint запускає
|
|
17
|
+
selectLintRules вибирає і алфавітно сортує ідентифікатори правил для лінтування, ґрунтуючись на наявності в конфігурації та заданому обсязі перевірки.
|
|
18
|
+
runLint запускає повну оркестрацію лінтування, виконуючи перевірку змінених файлів або весь репозиторій, залежно від параметрів, і може включати фази конформності та форматування.
|
|
19
19
|
|
|
20
20
|
## Публічний API
|
|
21
21
|
|
|
22
22
|
selectLintRules — обирає ідентифікатори правил для контексту, розташовуючи їх в алфавітному порядку.
|
|
23
23
|
runLint — ініціює процес лінтування.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
full — сканує весь репозиторій, порівнюючи його з початковим станом.
|
|
25
|
+
readOnly — лише виявляє проблеми, не вносячи змін, порівнюючи з початковим станом.
|
|
26
|
+
rules — виконує повне сканування лише для вказаних правил у заданому обсязі.
|
|
27
27
|
|
|
28
28
|
## Гарантії поведінки
|
|
29
29
|
|
|
@@ -11,11 +11,12 @@ docgen:
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
13
|
Спільна точка входу для канонічних `lint-<rule>` підкоманд `@nitra/cursor`. Файл серіалізує та дедуплікує запуски лінту через `withLock`. `ruleId` визначається зі шляху незалежно від глибини виклику (наприклад, `rules/<id>`). Це дозволяє уніфікувати крос-cutting концерни. Інтеграція з боку правила виглядає так:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
|
|
15
|
+
- import { runStandardLint } from '../../scripts/lib/run-standard-lint.mjs'
|
|
16
|
+
-
|
|
17
|
+
- async function runLintFooSteps { ... }
|
|
18
|
+
-
|
|
19
|
+
- export function lint { return runStandardLint }
|
|
19
20
|
|
|
20
21
|
## Поведінка
|
|
21
22
|
|
|
@@ -29,6 +30,7 @@ lint — є спільною точкою входу для канонічних
|
|
|
29
30
|
runStandardLint — виконує стандартний лінтинг у директорії, приймаючи контекст директорії та функцію, що описує кроки лінтингу.
|
|
30
31
|
|
|
31
32
|
Приклад інтеграції:
|
|
33
|
+
|
|
32
34
|
```js
|
|
33
35
|
import { runStandardLint } from '../../scripts/lib/run-standard-lint.mjs'
|
|
34
36
|
|
|
@@ -231,7 +231,10 @@ function buildSynthesisPrompt(partials) {
|
|
|
231
231
|
*/
|
|
232
232
|
function safeCall(call, prompt, model) {
|
|
233
233
|
try {
|
|
234
|
-
const text = call([{ role: 'user', content: prompt }], model, {
|
|
234
|
+
const text = call([{ role: 'user', content: prompt }], model, {
|
|
235
|
+
timeoutMs: ANALYZE_TIMEOUT_MS,
|
|
236
|
+
caller: 'fix-analyze'
|
|
237
|
+
})
|
|
235
238
|
return text || null
|
|
236
239
|
} catch {
|
|
237
240
|
return null
|
|
@@ -3,31 +3,44 @@ type: JS Module
|
|
|
3
3
|
title: analyze-escalation.mjs
|
|
4
4
|
resource: npm/scripts/lib/fix/analyze-escalation.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: f26cd4c7
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Огляд
|
|
12
|
+
|
|
13
|
+
Аналізує записи рунгів драбини з `escalation-log.mjs` для виявлення шляхів зменшення LLM-залежності у fix-конформності. Лог обробляється за один прогін (від байтового зсуву) або повністю, ділячись на чанки для аналізу хмарною **avg**-моделлю. Мета аналізу — визначити конкретні правки пакета `@nitra/cursor`: (A) новий ДЕТЕРМІНОВАНИЙ T0-патерн (`t0.mjs`), (B) уточнення `.mdc`-інструкцій правила, або (C) зміна скрипта/чека. Результат зберігається у markdown-звіт `.n-cursor/fix-escalation-analysis.md` (append із timestamp) після виклику CLI `n-cursor analyze-escalation`.
|
|
12
14
|
|
|
13
15
|
## Поведінка
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
analysisEnabled визначає, чи дозволено виконувати автоматичний аналіз ескалації наприкінці процесу `lint`.
|
|
18
|
+
escalationLogSize повертає розмір файлу логу ескалації у байтах.
|
|
19
|
+
readEscalationRecords читає записи логу ескалації, починаючи з заданого байтового зсуву, та повертає їх як масив об'єктів.
|
|
20
|
+
summarizeCalls рахує кількість викликів моделей для різних рівнів (локальний, cloud-min, cloud-avg) у наданих записах.
|
|
21
|
+
reportRunStats друкує резюме кількості викликів моделей для поточного прогону, використовуючи заданий байтовий зсув.
|
|
22
|
+
chunkRecords ділить масив стиснених записів на менші чанки, щоб кожен чанк не перевищив заданий бюджет символів.
|
|
23
|
+
analyzeEscalations аналізує надані записи, ділить їх на чанки, викликає модель для аналізу кожного чанка, а потім синтезує фінальний звіт.
|
|
24
|
+
analysisReportPath повертає шлях до файлу, де зберігається звіт аналізу ескалації.
|
|
25
|
+
writeAnalysisReport дописує згенерований звіт у markdown-файл у відповідному шляху, додаючи до нього мітку часу.
|
|
26
|
+
runEscalationAnalysisCli виконує повний аналіз всього логу ескалації та записує звіт.
|
|
27
|
+
maybeAnalyzeEscalation виконує аналіз ескалацій лише для записів поточного прогону, якщо дозволено та є необхідні умови.
|
|
16
28
|
|
|
17
29
|
## Публічний API
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
analysisEnabled — Вмикає автоматичний аналіз після завершення lint.
|
|
32
|
+
escalationLogSize — Визначає максимальний розмір escalation-логу в байтах.
|
|
33
|
+
readEscalationRecords — Зчитує записи з логу, починаючи з заданого байтового зсуву.
|
|
34
|
+
summarizeCalls — Підраховує реальні виклики моделей за тирами, ігноруючи записи про середнє кешування.
|
|
35
|
+
reportRunStats — Виводить підсумок викликів моделей за поточний запуск.
|
|
36
|
+
chunkRecords — Розбиває записи на менші частини, щоб розмір JSON кожного чанку не перевищував заданий ліміт.
|
|
37
|
+
analyzeEscalations — Обробляє записи: розбиває їх на чанки, викликає модель для кожного чанку та синтезує результат, якщо чанків більше одного.
|
|
38
|
+
analysisReportPath — Вказує шлях для збереження markdown-звіту аналізу.
|
|
39
|
+
writeAnalysisReport — Додає звіт до markdown-файлу, додаючи до нього мітку часу.
|
|
40
|
+
runEscalationAnalysisCli — Виконує повний аналіз всього логу escalation через інтерфейс командного рядка.
|
|
41
|
+
maybeAnalyzeEscalation — Запускає аналіз записів поточного прогону після `lint --full`, якщо це дозволено налаштуваннями.
|
|
29
42
|
|
|
30
43
|
## Гарантії поведінки
|
|
31
44
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
45
|
+
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
|
|
46
|
+
- За певних помилок повертає порожнє значення (напр. `null`) замість винятку.
|
|
@@ -6,14 +6,14 @@ resource: npm/scripts/lib/fix/
|
|
|
6
6
|
|
|
7
7
|
# npm/scripts/lib/fix
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [analyze-escalation.mjs](analyze-escalation.md)
|
|
12
|
-
| [escalation-log.mjs](escalation-log.md)
|
|
13
|
-
| [llm-fix-apply.mjs](llm-fix-apply.md)
|
|
14
|
-
| [llm-lint-fix.mjs](llm-lint-fix.md)
|
|
15
|
-
| [llm-worker.mjs](llm-worker.md)
|
|
16
|
-
| [orchestrator.mjs](orchestrator.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ----------------------------------------------------- | --------- |
|
|
11
|
+
| [analyze-escalation.mjs](analyze-escalation.md) | JS Module |
|
|
12
|
+
| [escalation-log.mjs](escalation-log.md) | JS Module |
|
|
13
|
+
| [llm-fix-apply.mjs](llm-fix-apply.md) | JS Module |
|
|
14
|
+
| [llm-lint-fix.mjs](llm-lint-fix.md) | JS Module |
|
|
15
|
+
| [llm-worker.mjs](llm-worker.md) | JS Module |
|
|
16
|
+
| [orchestrator.mjs](orchestrator.md) | JS Module |
|
|
17
17
|
| [run-conformance-check.mjs](run-conformance-check.md) | JS Module |
|
|
18
|
-
| [run-fix-check.mjs](run-fix-check.md)
|
|
19
|
-
| [t0.mjs](t0.md)
|
|
18
|
+
| [run-fix-check.mjs](run-fix-check.md) | JS Module |
|
|
19
|
+
| [t0.mjs](t0.md) | JS Module |
|
|
@@ -3,38 +3,37 @@ type: JS Module
|
|
|
3
3
|
title: orchestrator.mjs
|
|
4
4
|
resource: npm/scripts/lib/fix/orchestrator.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 3bb1b761
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
Модуль
|
|
13
|
+
Модуль відповідає за управління процесом виправлення порушень. Він будує послідовність тирів ескалації за допомогою `buildLadder`, парсить аргументи командного рядка за допомогою `parseOrchestratorArgs` та запускає повний цикл виправлення за допомогою `runOrchestratorCli`. Цей цикл включає автоматичний фікс та ескалацію через LLM-моделі, що реалізується функцією `escalateRule`.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
17
|
buildLadder будує послідовність тирів ескалації для вирішення порушень, від локальних мінімальних моделей до хмарних середніх моделей.
|
|
18
|
-
escalateRule
|
|
19
|
-
parseOrchestratorArgs парсить аргументи командного рядка для визначення максимального
|
|
20
|
-
runOrchestratorCli
|
|
18
|
+
escalateRule виконує один прогін по послідовності тирів, намагаючись вирішити порушення, використовуючи LLM-моделі та фіксуючи результат.
|
|
19
|
+
parseOrchestratorArgs парсить аргументи командного рядка для визначення максимального ліміту викликів хмарної моделі та фільтра правил.
|
|
20
|
+
runOrchestratorCli керує повним процесом виправлення порушень: виконує початкову перевірку, застосовує детермінований фікс (T0-auto), а потім ініціює LLM-драбину ескалації для невирішених правил.
|
|
21
21
|
|
|
22
22
|
## Публічний API
|
|
23
23
|
|
|
24
|
-
buildLadder — Створює послідовність моделей для ескалації,
|
|
24
|
+
buildLadder — Створює послідовність моделей для ескалації, обмежуючись лише тирами, які доступні.
|
|
25
25
|
|
|
26
|
-
local-min —
|
|
27
|
-
local-min-retry — Повторює локальний прохід, використовуючи
|
|
28
|
-
cloud-min —
|
|
29
|
-
cloud-avg —
|
|
26
|
+
local-min — Виконує перший прохід з локальною мінімальною моделлю.
|
|
27
|
+
local-min-retry — Повторює локальний прохід, використовуючи результати попереднього рунгу.
|
|
28
|
+
cloud-min — Виконує прохід з хмарною мінімальною моделлю, використовуючи результати попереднього рунгу.
|
|
29
|
+
cloud-avg — Виконує прохід з хмарною середньою моделлю, використовуючи результати попереднього рунгу та обмеження середнього.
|
|
30
30
|
|
|
31
|
-
escalateRule —
|
|
32
|
-
Кожен рунг —
|
|
33
|
-
Достроковий вихід — Зупиняє процес при певних умовах (відсутність ключа, пропуск моделі на системному рівні) або при досягненні ліміту середнього.
|
|
31
|
+
escalateRule — Застосовує одне правило по драбині ескалації до першого позитивного результату.
|
|
32
|
+
Кожен рунг — Викликає модель з попереднім відгуком, перевіряє правило, фіксує результат у лозі. Зупиняється при певних умовах (відсутність ключа, пропуск моделі, перевищення бюджету).
|
|
34
33
|
|
|
35
|
-
parseOrchestratorArgs — Витягує максимальне значення середнього та
|
|
34
|
+
parseOrchestratorArgs — Витягує максимальне значення середнього та список фільтрів правил з командного рядка.
|
|
36
35
|
|
|
37
|
-
runOrchestratorCli — Запускає
|
|
36
|
+
runOrchestratorCli — Запускає основну логіку оркестратора на основі аргументів командного рядка.
|
|
38
37
|
|
|
39
38
|
## Гарантії поведінки
|
|
40
39
|
|
|
@@ -21,9 +21,10 @@ runConformanceCheck виконує перевірку конформності
|
|
|
21
21
|
## Публічний API
|
|
22
22
|
|
|
23
23
|
resolveCheckRuleIds — Визначає, які правила будуть застосовані для перевірки, використовуючи `.n-cursor.json` як основне джерело:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
|
|
25
|
+
- Якщо вказані правила, вони фільтруються до активних у конфігурації.
|
|
26
|
+
- Якщо правила не вказані, беруться всі активні правила з конфігу.
|
|
27
|
+
- Якщо правила не вказані і конфіг відсутній, використовується список правил, що були збережені локально.
|
|
27
28
|
|
|
28
29
|
runConformanceCheck — Виконує перевірку відповідності для кожного окремого правила без внесення змін.
|
|
29
30
|
|
|
@@ -15,9 +15,9 @@ docgen:
|
|
|
15
15
|
1. Визначається наявність інструменту `conftest`.
|
|
16
16
|
2. Отримується список усіх доступних ідентифікаторів правил з каталогу правил.
|
|
17
17
|
3. Визначається список ідентифікаторів правил для прогону (`resolveCheckRuleIds`), де `.n-cursor.json` — єдине джерело правди:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
а. Якщо надано явний список правил — він валідується проти доступних і звужується до активних (вимкнене правило не вмикається навіть на явний запит).
|
|
19
|
+
б. Якщо явного списку нема й конфіг є — беруться активні правила конфіга (`available ∩ enabled`); `.cursor/rules/*.mdc` ігнорується (фікс дрейфу «enabled, але .mdc нема»).
|
|
20
|
+
в. Якщо конфіга нема (open-by-default debug) — fallback на скан `.cursor/rules/*.mdc`.
|
|
21
21
|
4. Якщо визначено ідентифікатори правил для прогону, для кожного ідентифікатора запускається окремий процес `bun` з файлом `fix.mjs` відповідного правила.
|
|
22
22
|
5. Захоплюється вивід кожного процесу.
|
|
23
23
|
6. Підраховується загальна кількість правил, що не пройшли перевірку.
|
|
@@ -3,26 +3,27 @@ type: JS Module
|
|
|
3
3
|
title: t0.mjs
|
|
4
4
|
resource: npm/scripts/lib/fix/t0.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: cfb0d5c9
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
Модуль керує автоматичним застосуванням T0-auto
|
|
13
|
+
Модуль керує автоматичним застосуванням паттернів T0-auto до виводів порушень. Він використовує конфігурації з `extensions.json` та `package-lock.json` для визначення правил. Модуль фільтрує правила, які можуть бути автоматично оброблені, застосовує паттерни за допомогою `applyT0Auto`, а потім запускає повний цикл перевірки для всіх провальних правил через `runT0AutoCli`. Усі операції виконуються з механізмом fail-safe, що запобігає виникненню винятків назовні.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
Поведінка
|
|
18
|
+
applyT0Auto застосовує всі визначені T0-auto паттерни до одного виводу порушення, повертаючи результат застосування та список виконаних дій.
|
|
19
|
+
filterT0AutoRules повертає список ID правил, для яких існує хоча б один T0-auto паттерн, виходячи з виводу порушення.
|
|
20
|
+
runT0AutoCli запускає T0-auto для всіх провальних правил, повторно перевіряє конформність та виводить підсумок щодо закритого чи незакритого порушень.
|
|
20
21
|
|
|
21
22
|
## Публічний API
|
|
22
23
|
|
|
23
24
|
applyT0Auto — вносить зміни до виводу порушень, використовуючи всі визначені T0-auto шаблони.
|
|
24
|
-
filterT0AutoRules — визначає, які правила мають
|
|
25
|
-
runT0AutoCli — виконує команду `n-cursor fix-t0 [rule...]`,
|
|
25
|
+
filterT0AutoRules — визначає, які правила мають відповідні T0-auto шаблони, аналізуючи вивід порушень, отриманий з `fix --json`.
|
|
26
|
+
runT0AutoCli — виконує команду `n-cursor fix-t0 [rule...]`, що включає застосування T0-auto до кожного порушення, повторну перевірку check-gate та виведення результату.
|
|
26
27
|
|
|
27
28
|
## Гарантії поведінки
|
|
28
29
|
|
|
@@ -45,7 +45,14 @@ const CLOUD_TRANSPORT_RE = /etimedout|timed out|pi error/i
|
|
|
45
45
|
export function buildLadder({ localMin, cloudMin, cloudAvg }) {
|
|
46
46
|
return [
|
|
47
47
|
{ tier: 'local-min', model: localMin, feedback: false, local: true, isAvg: false, timeoutMs: LOCAL_TIMEOUT_MS },
|
|
48
|
-
{
|
|
48
|
+
{
|
|
49
|
+
tier: 'local-min-retry',
|
|
50
|
+
model: localMin,
|
|
51
|
+
feedback: true,
|
|
52
|
+
local: true,
|
|
53
|
+
isAvg: false,
|
|
54
|
+
timeoutMs: LOCAL_TIMEOUT_MS
|
|
55
|
+
},
|
|
49
56
|
{ tier: 'cloud-min', model: cloudMin, feedback: true, local: false, isAvg: false, timeoutMs: CLOUD_TIMEOUT_MS },
|
|
50
57
|
{ tier: 'cloud-avg', model: cloudAvg, feedback: true, local: false, isAvg: true, timeoutMs: CLOUD_TIMEOUT_MS }
|
|
51
58
|
].filter(r => r.model)
|
|
@@ -103,7 +110,15 @@ export async function escalateRule(rule, cwd, deps) {
|
|
|
103
110
|
|
|
104
111
|
const common = { rung: idx, tier: rung.tier, model: rung.model, withFeedback: rung.feedback }
|
|
105
112
|
if (rung.isAvg && avgBudget - avgUsed <= 0) {
|
|
106
|
-
record({
|
|
113
|
+
record({
|
|
114
|
+
...common,
|
|
115
|
+
callOk: false,
|
|
116
|
+
callError: 'cloud-avg cap reached',
|
|
117
|
+
recheckOk: false,
|
|
118
|
+
remainingViolation: currentViolation,
|
|
119
|
+
diagnosis: null,
|
|
120
|
+
ms: 0
|
|
121
|
+
})
|
|
107
122
|
log(` ⏭️ ${rule.ruleId}: ${rung.tier} пропущено (avg-кеп вичерпано)`)
|
|
108
123
|
continue
|
|
109
124
|
}
|
|
@@ -120,7 +135,15 @@ export async function escalateRule(rule, cwd, deps) {
|
|
|
120
135
|
const recheck = await check([rule.ruleId], cwd)
|
|
121
136
|
const recheckOk = recheck.rules.every(r => r.ok)
|
|
122
137
|
const remaining = recheckOk ? '' : (recheck.rules.find(r => !r.ok)?.output ?? '')
|
|
123
|
-
record({
|
|
138
|
+
record({
|
|
139
|
+
...common,
|
|
140
|
+
callOk: res.ok,
|
|
141
|
+
callError: res.error ?? null,
|
|
142
|
+
recheckOk,
|
|
143
|
+
remainingViolation: remaining,
|
|
144
|
+
diagnosis: res.diagnosis ?? null,
|
|
145
|
+
ms: clock() - startedAt
|
|
146
|
+
})
|
|
124
147
|
|
|
125
148
|
if (recheckOk) {
|
|
126
149
|
log(` ✅ ${rung.tier} (${rung.model || 'pi'}): ${rule.ruleId}`)
|
package/scripts/lib/fix/t0.mjs
CHANGED
|
@@ -210,7 +210,10 @@ export async function runT0AutoCli(args, cwd) {
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
// 4. Check-gate: перевірити лише ті правила, що ми чіпали
|
|
213
|
-
const recheckJson = await runConformanceCheck(
|
|
213
|
+
const recheckJson = await runConformanceCheck(
|
|
214
|
+
applied.map(a => a.ruleId),
|
|
215
|
+
cwd
|
|
216
|
+
)
|
|
214
217
|
const stillFailed = recheckJson.rules.filter(r => !r.ok)
|
|
215
218
|
|
|
216
219
|
if (verbose) {
|
package/scripts/lib/run-lint.mjs
CHANGED
|
@@ -148,9 +148,7 @@ async function runPerFileRules(ids, ctx) {
|
|
|
148
148
|
* @returns {Promise<number>} код конформності
|
|
149
149
|
*/
|
|
150
150
|
async function runFullConformancePhase(cwd, readOnly, log) {
|
|
151
|
-
const { escalationLogSize, maybeAnalyzeEscalation, reportRunStats } = await import(
|
|
152
|
-
'./fix/analyze-escalation.mjs'
|
|
153
|
-
)
|
|
151
|
+
const { escalationLogSize, maybeAnalyzeEscalation, reportRunStats } = await import('./fix/analyze-escalation.mjs')
|
|
154
152
|
const escOffset = readOnly ? 0 : escalationLogSize()
|
|
155
153
|
const conformanceCode = await runConformance(cwd, readOnly, log)
|
|
156
154
|
if (!readOnly) {
|