@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
|
@@ -12,11 +12,11 @@ docgen:
|
|
|
12
12
|
## Поведінка
|
|
13
13
|
|
|
14
14
|
1. Запуск правила.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
- Приймає контекст прогону.
|
|
16
|
+
- Виконує застосування JS-занепокоєних.
|
|
17
|
+
- Застосовує політику.
|
|
18
|
+
- Генерує посилання MDC.
|
|
19
|
+
- Повертає результат прогону.
|
|
20
20
|
|
|
21
21
|
## Публічний API
|
|
22
22
|
|
package/rules/js-run/docs/fix.md
CHANGED
|
@@ -14,15 +14,15 @@ docgen:
|
|
|
14
14
|
## Поведінка
|
|
15
15
|
|
|
16
16
|
1. Запуск правила.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- Приймає контекст прогону.
|
|
18
|
+
- Виконує застосування JS-занепокоєних до політики до mdc-refs.
|
|
19
|
+
- Повертає результат прогону.
|
|
20
20
|
2. Запуск правила у режимі CLI.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
22
|
+
- Виконує завантаження конфігурації.
|
|
23
|
+
- Виконує перевірку дозволених елементів.
|
|
24
|
+
- Виконує підбиття підсумків.
|
|
25
|
+
- Повертає код виходу.
|
|
26
26
|
|
|
27
27
|
## Публічний API
|
|
28
28
|
|
|
@@ -6,11 +6,11 @@ resource: npm/rules/js-run/lib/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/js-run/lib
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [bunyan-imports.mjs](bunyan-imports.md)
|
|
12
|
-
| [check-env-scan.mjs](check-env-scan.md)
|
|
13
|
-
| [conn-file-rules.mjs](conn-file-rules.md)
|
|
14
|
-
| [conn-imports-scan.mjs](conn-imports-scan.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| --------------------------------------------------------- | --------- |
|
|
11
|
+
| [bunyan-imports.mjs](bunyan-imports.md) | JS Module |
|
|
12
|
+
| [check-env-scan.mjs](check-env-scan.md) | JS Module |
|
|
13
|
+
| [conn-file-rules.mjs](conn-file-rules.md) | JS Module |
|
|
14
|
+
| [conn-imports-scan.mjs](conn-imports-scan.md) | JS Module |
|
|
15
15
|
| [promise-settimeout-scan.mjs](promise-settimeout-scan.md) | JS Module |
|
|
16
|
-
| [temporal-scan.mjs](temporal-scan.md)
|
|
16
|
+
| [temporal-scan.mjs](temporal-scan.md) | JS Module |
|
package/rules/k8s/docs/fix.md
CHANGED
|
@@ -12,12 +12,12 @@ docgen:
|
|
|
12
12
|
## Поведінка
|
|
13
13
|
|
|
14
14
|
1. Запуск правила.
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
- Виклик runStandardRule з контекстом.
|
|
16
|
+
- Повернення результату.
|
|
17
17
|
|
|
18
18
|
2. Запуск правила у режимі CLI.
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
- Виклик runRuleCli з директорією модуля.
|
|
20
|
+
- Вихід з процесом залежно від результату.
|
|
21
21
|
|
|
22
22
|
## Публічний API
|
|
23
23
|
|
package/rules/k8s/docs/index.md
CHANGED
|
@@ -6,7 +6,7 @@ resource: npm/rules/k8s/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/k8s/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [lint.mjs](lint.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------------- | ----------- |
|
|
11
|
+
| [lint.mjs](lint.md) | JS Module |
|
|
12
12
|
| [manifests](manifests.md) | Source File |
|
|
@@ -14,14 +14,14 @@ docgen:
|
|
|
14
14
|
## Поведінка
|
|
15
15
|
|
|
16
16
|
1. Запуск правила.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- Приймає контекст прогону.
|
|
18
|
+
- Виконує застосування JS-занепокоєних до політики до посилань mdc.
|
|
19
|
+
- Повертає результат.
|
|
20
20
|
2. Запуск правила у режимі CLI.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
- Викликається через оркестрацію CLI.
|
|
22
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
23
|
+
- Виконує завантаження конфігурації, перевірку дозволених елементів та підбиття підсумку.
|
|
24
|
+
- Встановлює код виходу процесу на основі результату.
|
|
25
25
|
|
|
26
26
|
## Публічний API
|
|
27
27
|
|
|
@@ -6,7 +6,7 @@ resource: npm/rules/nginx-default-tpl/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/nginx-default-tpl
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [fix.mjs](fix.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------- | --------- |
|
|
11
|
+
| [fix.mjs](fix.md) | JS Module |
|
|
12
12
|
| [main.mjs](main.md) | JS Module |
|
|
@@ -39,11 +39,11 @@ check
|
|
|
39
39
|
|
|
40
40
|
findDefaultConfTemplatePaths — Збирає повні шляхи до **default.conf.template** у репозиторії; виключає будь-який сегмент `fixtures/` (включаючи `tests/fixtures/` та ко-локальні шляхи `rules/<rule>/js/<concern>/fixtures/`).
|
|
41
41
|
migrateDefaultTplConfFiles — Знаходить **default.tpl.conf** у дереві від `root`. Якщо **default.conf.template** відсутній, перейменовує **default.tpl.conf**; якщо він присутній, перезаписує **default.conf.template** вмістом **default.tpl.conf** та видаляє **default.tpl.conf**.
|
|
42
|
-
migrateErrorLogOffDirective — Замінює невалідну директиву `error_log off;` на `error_log /dev/null crit;` у всіх **default.conf.template** від `root**. `error_log off;` трактується як ім'я файлу (`/etc/nginx/off`), що призводить до помилки `readOnlyRootFilesystem`. `/dev/null
|
|
42
|
+
migrateErrorLogOffDirective — Замінює невалідну директиву `error_log off;` на `error_log /dev/null crit;` у всіх **default.conf.template** від `root**. `error_log off;` трактується як ім'я файлу (`/etc/nginx/off`), що призводить до помилки `readOnlyRootFilesystem`. `/dev/null`— це записуваний пристрій.
|
|
43
43
|
parseIniVariableNames — Витягує імена змінних з файлів ini (рядки у форматі KEY=value, без коментарів і порожніх).
|
|
44
44
|
nginxTemplateViolations — Перевіряє вміст **default.conf.template** на відповідність вимогам **nginx-default-tpl.mdc**.
|
|
45
45
|
httpRouteMatchesNginxDefaultTpl — Перевіряє, чи відповідає **HTTPRoute** патерну Exact→RequestRedirect + PathPrefix→backendRefs.
|
|
46
|
-
iniKeysMissingInTemplate — Перевіряє, чи входять усі імена ключів з ini до шаблону у
|
|
46
|
+
iniKeysMissingInTemplate — Перевіряє, чи входять усі імена ключів з ini до шаблону у форматі`$KEY` (використовуючи envsubst).
|
|
47
47
|
check — Перевіряє відповідність проєкту правилам **nginx-default-tpl.mdc**.
|
|
48
48
|
|
|
49
49
|
## Гарантії поведінки
|
|
@@ -12,15 +12,15 @@ docgen:
|
|
|
12
12
|
## Поведінка
|
|
13
13
|
|
|
14
14
|
1. Запуск правила.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
- Приймає контекст прогону.
|
|
16
|
+
- Виконує застосування JS-занепокоєних.
|
|
17
|
+
- Застосовує політику.
|
|
18
|
+
- Генерує посилання MDC.
|
|
19
|
+
- Повертає результат прогону.
|
|
20
20
|
2. Виконання у режимі CLI.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
- Виконується як автономний скрипт.
|
|
22
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
23
|
+
- Повертає код виходу з процесу.
|
|
24
24
|
|
|
25
25
|
## Публічний API
|
|
26
26
|
|
|
@@ -3,28 +3,38 @@ type: JS Module
|
|
|
3
3
|
title: header_doc_pointer.mjs
|
|
4
4
|
resource: npm/rules/npm-module/js/header_doc_pointer.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 90fc46dc
|
|
7
|
+
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
7
8
|
score: 100
|
|
8
9
|
---
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
## Огляд
|
|
12
|
+
|
|
13
|
+
Модуль валідує відповідність контракту документації для файлів `.mjs` у сегментах `npm/rules` та `npm/skills`. Він виявляє порушення, якщо для файлу `.mjs` існує відповідний файл `docs/<ім'я>.md`, а його JSDoc-блок містить більше одного непорожнього рядка.
|
|
11
14
|
|
|
12
15
|
## Поведінка
|
|
13
16
|
|
|
14
|
-
1.
|
|
15
|
-
2.
|
|
16
|
-
3. Для кожного
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
1. Викликається функція check з корінням репозиторію як аргументом.
|
|
18
|
+
2. Ініціалізується репортер для фіксації порушень.
|
|
19
|
+
3. Для кожного з сегментів 'npm/rules' та 'npm/skills' виконується наступне:
|
|
20
|
+
а. Перевіряється існування відповідного базового сегмента.
|
|
21
|
+
б. Для кожного підсегмента (правила/скіла) у базовому сегменті:
|
|
22
|
+
i. Перевіряється існування каталогу `js/` у підсегменті.
|
|
23
|
+
ii. Для кожного файлу `.mjs` у каталозі `js/`:
|
|
24
|
+
а. Перевіряється, чи є файл звичайним вихідним файлом (не тест).
|
|
25
|
+
б. Визначається ім'я без розширення файлу.
|
|
26
|
+
в. Перевіряється існування файлу `docs/<ім'я>.md` у каталозі `js/docs/`.
|
|
27
|
+
г. Якщо файл `docs/<ім'я>.md` існує:
|
|
28
|
+
i. Зчитується вміст файлу `.mjs`.
|
|
29
|
+
ii. Визначається перша не-жадібна JSDoc-блока в файлі.
|
|
30
|
+
iii. Підраховується кількість непорожніх рядків у тілі цього JSDoc-блока.
|
|
31
|
+
iv. Якщо кількість непорожніх рядків перевищує 1, фіксується порушення, оскільки `docs/<ім'я>.md` вже описує поведінку, а JSDoc має бути лише вказівником.
|
|
32
|
+
4. Повертається код виходу репортера.
|
|
20
33
|
|
|
21
34
|
## Публічний API
|
|
22
35
|
|
|
23
|
-
|
|
24
|
-
- Якщо існує `docs/<stem>.md`, модуль повинен мати посилання на JSDoc (не наратив).
|
|
25
|
-
- Якщо `docs` відсутній, обмеження не застосовуються.
|
|
36
|
+
check — перевіряє файли `.mjs` у директоріях `npm/rules/*\/js/` та `npm/skills/*\/js/`. Якщо поруч є відповідний файл `docs/<stem>.md`, вимагає, щоб JSDoc на рівні модуля був посиланням (не описом); якщо `docs` відсутній, обмежень немає.
|
|
26
37
|
|
|
27
38
|
## Гарантії поведінки
|
|
28
39
|
|
|
29
|
-
- Read-only:
|
|
30
|
-
- Не звертається до мережі.
|
|
40
|
+
- Read-only: не виконує операцій запису (ФС/БД).
|
|
@@ -6,9 +6,9 @@ resource: npm/rules/npm-module/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/npm-module/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ----------------------------------------------- | --------- |
|
|
11
11
|
| [header_doc_pointer.mjs](header_doc_pointer.md) | JS Module |
|
|
12
|
-
| [package_structure.mjs](package_structure.md)
|
|
13
|
-
| [rule_meta.mjs](rule_meta.md)
|
|
14
|
-
| [skill_meta.mjs](skill_meta.md)
|
|
12
|
+
| [package_structure.mjs](package_structure.md) | JS Module |
|
|
13
|
+
| [rule_meta.mjs](rule_meta.md) | JS Module |
|
|
14
|
+
| [skill_meta.mjs](skill_meta.md) | JS Module |
|
|
@@ -17,12 +17,12 @@ docgen:
|
|
|
17
17
|
1. Викликати `check` для початку валідації.
|
|
18
18
|
2. Перевірити наявність каталогу `npm/rules` у корені репозиторію. Якщо каталог відсутній, валідація завершується успішно.
|
|
19
19
|
3. Для кожного підкаталогу у `npm/rules` (який представляє правило):
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
а. Перевірити наявність файлу `auto.md`. Якщо він присутній, реєструється помилка, оскільки метадані тепер знаходяться у `meta.json`.
|
|
21
|
+
б. Перевірити наявність файлу `<id>.mdc` у каталозі правила. Якщо він відсутній, реєструється помилка, оскільки це обов'язковий файл (scripts.mdc).
|
|
22
|
+
в. Зчитати вміст `meta.json` правила. Якщо файл відсутній або невалідний, реєструється помилка, і перевірка цього правила припиняється.
|
|
23
|
+
г. Перевірити поле `auto` у `meta.json`. Якщо поле `auto` присутнє, воно повинно бути валідним (відповідати одному з визначених форматів, або бути відсутнім). Якщо поле `auto` містить невідомий предикат, реєструється помилка.
|
|
24
|
+
ґ. Перевірити поле `lint` у `meta.json`. Якщо поле `lint` присутнє, воно повинно бути валідним (відповідати "per-file" або "full"). Також перевіряється, чи експортує файл `main.mjs` у каталозі правила функцію `lint` відповідно до зазначеного значення `lint`.
|
|
25
|
+
і. Якщо всі перевірки для правила пройшли успішно, реєструється повідомлення про валідність `meta.json`.
|
|
26
26
|
4. Після обробки всіх правил, повертається код виходу, що відображає загальний статус валідації.
|
|
27
27
|
|
|
28
28
|
## Публічний API
|
|
@@ -47,9 +47,7 @@ function moduleJsDoc(source) {
|
|
|
47
47
|
* @returns {boolean} true для звичайних source-файлів
|
|
48
48
|
*/
|
|
49
49
|
function isSourceMjs(fileEntry) {
|
|
50
|
-
return (
|
|
51
|
-
fileEntry.isFile() && fileEntry.name.endsWith('.mjs') && !fileEntry.name.endsWith('.test.mjs')
|
|
52
|
-
)
|
|
50
|
+
return fileEntry.isFile() && fileEntry.name.endsWith('.mjs') && !fileEntry.name.endsWith('.test.mjs')
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
/**
|
package/rules/php/docs/fix.md
CHANGED
|
@@ -14,14 +14,14 @@ docgen:
|
|
|
14
14
|
## Поведінка
|
|
15
15
|
|
|
16
16
|
1. Запуск правила.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- Приймає контекст прогону.
|
|
18
|
+
- Виконує застосування JS-занепокоєних до політики до mdc-refs.
|
|
19
|
+
- Повертає результат прогону.
|
|
20
20
|
|
|
21
21
|
2. Запуск у режимі CLI.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
- Виконується при запуску через CLI.
|
|
23
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
24
|
+
- Повертає код виходу.
|
|
25
25
|
|
|
26
26
|
## Публічний API
|
|
27
27
|
|
package/rules/php/docs/index.md
CHANGED
|
@@ -6,7 +6,7 @@ resource: npm/rules/php/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/php/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [lint.mjs](lint.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------------- | --------- |
|
|
11
|
+
| [lint.mjs](lint.md) | JS Module |
|
|
12
12
|
| [tooling.mjs](tooling.md) | JS Module |
|
package/rules/python/docs/fix.md
CHANGED
|
@@ -12,19 +12,19 @@ docgen:
|
|
|
12
12
|
## Поведінка
|
|
13
13
|
|
|
14
14
|
1. Запуск правила.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
- Приймає контекст прогону.
|
|
16
|
+
- Виконує застосування JS-занепокоєних.
|
|
17
|
+
- Застосовує політику.
|
|
18
|
+
- Генерує посилання на MDC.
|
|
19
|
+
- Повертає результат прогону.
|
|
20
20
|
|
|
21
21
|
2. Виконання у режимі CLI.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
- Виконується як автономний скрипт.
|
|
23
|
+
- Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`.
|
|
24
|
+
- Виконує завантаження конфігурації.
|
|
25
|
+
- Виконує перевірку дозволів.
|
|
26
|
+
- Виконує підбирання списку.
|
|
27
|
+
- Виконує підбирання резюме.
|
|
28
28
|
|
|
29
29
|
## Публічний API
|
|
30
30
|
|
|
@@ -3,28 +3,28 @@ type: JS Module
|
|
|
3
3
|
title: main.mjs
|
|
4
4
|
resource: npm/rules/python/main.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: d8a3aa1f
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 90
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Реалізує логіку запуску `lint-python` за правилом `python.mdc` на базі [uv](https://docs.astral.sh/uv/). Якщо `pyproject.toml` у корені відсутній, процес завершується з кодом виходу 0. Якщо файл присутній, але інструмент `uv` не знайдено в PATH, це розглядається як помилка. Обов'язкові кроки включають перевірку актуальності lock-файлу (`uv lock --check`) та синхронізацію середовища (`uv sync --frozen`). Опційні лінтери (`ruff`, `mypy`) запускаються лише за умови їх доступності через `uv run`. `ruff` виконується у режимі автоматичного виправлення (`--fix`) для мутації робочого дерева та для форматування. Цей підхід відповідає канону патерну `lint-*` (серіалізація через `runStandardLint`, без прямого `withLock`).
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
run виконує стандартну перевірку
|
|
18
|
-
runLintPythonSteps виконує послідовність кроків лінтування Python,
|
|
19
|
-
runLintPython запускає послідовність кроків лінтування Python,
|
|
20
|
-
lint
|
|
17
|
+
run виконує стандартну перевірку для правила, використовуючи контекст прогону.
|
|
18
|
+
runLintPythonSteps виконує послідовність кроків лінтування Python, перевіряючи наявність `pyproject.toml` та виконуючи команди `uv lock --check` та `uv sync --frozen`, а також запускаючи опціональні лінтери (`ruff`, `mypy`) через `uv run` на базі https://docs.astral.sh/uv/.
|
|
19
|
+
runLintPython запускає послідовність кроків лінтування Python, серіалізуючи її через стандартний механізм перевірки.
|
|
20
|
+
lint делегує виклик до `runLintPython`, забезпечуючи можливість запуску в режимі, що не мутує робоче дерево.
|
|
21
21
|
|
|
22
22
|
## Публічний API
|
|
23
23
|
|
|
24
|
-
run — Основна точка входу для виконання правил,
|
|
25
|
-
runLintPythonSteps — Виконує внутрішні етапи
|
|
26
|
-
runLintPython — Публічний інтерфейс для запуску
|
|
27
|
-
lint —
|
|
24
|
+
run — Основна точка входу для виконання правил, яка перевіряє логіку застосування (JS-занепокложення $\rightarrow$ політика $\rightarrow$ mdc-посилання) та запускає перевірку коду (uv/ruff/mypy).
|
|
25
|
+
runLintPythonSteps — Виконує внутрішні етапи перевірки Python-коду без збереження логу.
|
|
26
|
+
runLintPython — Публічний інтерфейс для запуску перевірки Python-коду, який гарантує унікальність виконання через блокування та аналіз стану Git-дерева.
|
|
27
|
+
lint — Адаптер, що керує запуском перевірки Python-коду, делегуючи цю роботу `runLintPython`.
|
|
28
28
|
|
|
29
29
|
## Гарантії поведінки
|
|
30
30
|
|
|
@@ -6,8 +6,8 @@ resource: npm/rules/python/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/python/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------------- | --------- |
|
|
11
11
|
| [applies.mjs](applies.md) | JS Module |
|
|
12
|
-
| [lint.mjs](lint.md)
|
|
12
|
+
| [lint.mjs](lint.md) | JS Module |
|
|
13
13
|
| [tooling.mjs](tooling.md) | JS Module |
|
package/rules/python/main.mjs
CHANGED
|
@@ -115,7 +115,8 @@ export function runLintPythonSteps(cwd = process.cwd(), opts = {}) {
|
|
|
115
115
|
const ruffCheck = readOnly ? ['check', '.'] : ['check', '--fix', '.']
|
|
116
116
|
const ruffFormat = readOnly ? ['format', '--check', '.'] : ['format', '.']
|
|
117
117
|
if (!runOptionalUvTool('ruff', readOnly ? 'ruff check' : 'ruff check --fix', ruffCheck)) return reporter.getExitCode()
|
|
118
|
-
if (!runOptionalUvTool('ruff', readOnly ? 'ruff format --check' : 'ruff format', ruffFormat))
|
|
118
|
+
if (!runOptionalUvTool('ruff', readOnly ? 'ruff format --check' : 'ruff format', ruffFormat))
|
|
119
|
+
return reporter.getExitCode()
|
|
119
120
|
if (!runOptionalUvTool('mypy', 'mypy', ['.'])) return reporter.getExitCode()
|
|
120
121
|
|
|
121
122
|
return reporter.getExitCode()
|
package/rules/rego/docs/fix.md
CHANGED
|
@@ -12,12 +12,12 @@ docgen:
|
|
|
12
12
|
## Поведінка
|
|
13
13
|
|
|
14
14
|
1. Запуск правила.
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
- Вхід: контекст прогону.
|
|
16
|
+
- Вихід: обіцянка, що повертає число. 0 означає успіх, 1 означає порушення.
|
|
17
17
|
2. Виконання правила у режимі CLI.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
- Умова: виконання через командний рядок.
|
|
19
|
+
- Дія: повернення коду виходу з функції.
|
|
20
|
+
- Вихід: встановлення коду виходу процесу.
|
|
21
21
|
|
|
22
22
|
## Публічний API
|
|
23
23
|
|
package/rules/rego/docs/index.md
CHANGED
|
@@ -6,7 +6,7 @@ resource: npm/rules/rego/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/rego/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------------- | --------- |
|
|
11
11
|
| [applies.mjs](applies.md) | JS Module |
|
|
12
|
-
| [lint.mjs](lint.md)
|
|
12
|
+
| [lint.mjs](lint.md) | JS Module |
|
|
@@ -6,9 +6,9 @@ resource: npm/rules/release/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/release
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [change.mjs](change.md)
|
|
12
|
-
| [fix.mjs](fix.md)
|
|
13
|
-
| [main.mjs](main.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ------------------------- | --------- |
|
|
11
|
+
| [change.mjs](change.md) | JS Module |
|
|
12
|
+
| [fix.mjs](fix.md) | JS Module |
|
|
13
|
+
| [main.mjs](main.md) | JS Module |
|
|
14
14
|
| [release.mjs](release.md) | JS Module |
|