@nitra/cursor 12.8.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/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/rules/doc-files/js/docgen-scan.mjs +4 -2
- package/rules/doc-files/js/docs/docgen-extract.md +10 -10
- package/rules/doc-files/js/docs/docgen-judge-measure.md +10 -10
- 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 +15 -16
- package/rules/npm-module/js/docs/header_doc_pointer.md +23 -13
- package/rules/python/docs/main.md +10 -10
- package/rules/rust/docs/main.md +7 -7
- package/rules/text/docs/main.md +8 -8
- package/rules/text/js/docs/cspell-fix.md +8 -8
- package/rules/text/js/docs/index.md +0 -1
- package/scripts/lib/docs/run-lint.md +6 -6
- package/scripts/lib/fix/docs/analyze-escalation.md +28 -15
- package/scripts/lib/fix/docs/orchestrator.md +14 -15
- package/scripts/lib/fix/docs/t0.md +8 -7
- /package/rules/{js-lint → js}/coverage/coverage.mjs +0 -0
- /package/rules/{js-lint → js}/docs/fix.md +0 -0
- /package/rules/{js-lint → js}/docs/index.md +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/check.md +0 -0
- /package/rules/{js-lint → js}/js/docs/index.md +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
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -115,9 +115,11 @@ export function scanOrphanedDocs(root) {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* Обходить дерево, шукаючи docs/-директорії для orphan-перевірки.
|
|
119
120
|
* docs/ — входимо завжди (батьківська пройшла ignore-перевірку);
|
|
120
|
-
* інші — перевіряємо через isDocgenIgnored.
|
|
121
|
+
* інші — перевіряємо через isDocgenIgnored.
|
|
122
|
+
*/
|
|
121
123
|
function walk(dir) {
|
|
122
124
|
let entries
|
|
123
125
|
try {
|
|
@@ -17,17 +17,17 @@ docgen:
|
|
|
17
17
|
1. Витягує факт-лист з вмісту файлу.
|
|
18
18
|
2. Визначає мову файлу за розширенням.
|
|
19
19
|
3. Якщо мова — Rust, виконує аналіз Rust-коду:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
а. Витягує модульний заголовок (`//!`).
|
|
21
|
+
б. Визначає публічні експорти (структури, функції, класи), виходячи з префіксів `pub` та атрибутів експозиції.
|
|
22
|
+
в. Визначає локальні (приватні) символи, які не є публічними.
|
|
23
|
+
г. Класифікує імпорти (`use`) як стандартні, зовнішні чи внутрішні.
|
|
24
|
+
д. Визначає поведінкові маркери (наприклад, чи є код лише для читання, чи обробляє помилки).
|
|
25
25
|
4. Якщо мова — JavaScript/TypeScript/MJS, виконує аналіз JS-коду:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
а. Витягує заголовок файлу.
|
|
27
|
+
б. Визначає публічні експорти з їхнім JSDoc.
|
|
28
|
+
в. Класифікує імпорти як стандартні, npm або внутрішні.
|
|
29
|
+
г. Визначає локальні символи (службові функції).
|
|
30
|
+
д. Визначає поведінкові маркери (наприклад, чи є код лише для читання, чи звертається до мережі).
|
|
31
31
|
5. Усі аналізи свідомо ігнорують шляхи: `.github`, `.git`, `node_modules`, `base/`, `ua/`, `.firebase`.
|
|
32
32
|
6. Повертає структуру фактів, що містить інформацію про файл.
|
|
33
33
|
|
|
@@ -10,21 +10,21 @@ docgen:
|
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Файл аналізує надані файли коду, створюючи документацію та оцінюючи її якість відповідно до конфігурації, що міститься у report.json. Процес збирає результати для кожного файлу, використовуючи кешування у межах прогону на основі вмісту джерела та вже згенерованої документації. У кінці процес агрегує дані та зберігає повний звіт у report.json, а також виводить його у консоль.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
17
|
1. Зчитує список файлів для аналізу з аргументів командного рядка.
|
|
18
18
|
2. Для кожного файлу зчитує його вміст.
|
|
19
|
-
3. Генерує документацію для файлу, використовуючи
|
|
20
|
-
4. Якщо
|
|
21
|
-
5. Якщо
|
|
22
|
-
6.
|
|
23
|
-
7.
|
|
24
|
-
8.
|
|
25
|
-
9.
|
|
26
|
-
10.
|
|
27
|
-
11.
|
|
19
|
+
3. Генерує документацію для файлу, використовуючи кешування за вмістом джерела.
|
|
20
|
+
4. Якщо генерація документації успішна і отриманий бал перевищує встановлений поріг, переходить до етапу оцінки.
|
|
21
|
+
5. Якщо бал не перевищує порогу, файл вважається "degraded" (зниженою якістю) і не підлягає подальшій оцінці.
|
|
22
|
+
6. Якщо бал перевищує поріг, документація передається для оцінки потужній моделі, використовуючи кешування за вмістом джерела та згенерованою документацією.
|
|
23
|
+
7. Оцінка повертає вердикт ("accurate", "generic" або "inaccurate"), впевненість та причину.
|
|
24
|
+
8. Збираються результати для кожного файлу.
|
|
25
|
+
9. Після обробки всіх файлів агрегуються результати: підраховуються загальні показники (кількість файлів, помилки генерації, кількість пройшлих тестів, розподіл вердиктів).
|
|
26
|
+
10. Зберігається звіт у файл `report.json` у каталозі кешу.
|
|
27
|
+
11. Виводиться консольний звіт про результати вимірювання.
|
|
28
28
|
|
|
29
29
|
## Гарантії поведінки
|
|
30
30
|
|
|
@@ -3,30 +3,32 @@ type: JS Module
|
|
|
3
3
|
title: docgen-judge.mjs
|
|
4
4
|
resource: npm/rules/doc-files/js/docgen-judge.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: fcbf72fa
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Огляд
|
|
12
|
+
|
|
13
|
+
Модуль реалізує механізм оцінки якості документації. Він визначає модель для оцінки за допомогою `JUDGE_MODEL`, перевіряє статус активності гейту через `JUDGE_ENABLED` та встановлює поріг впевненості за допомогою `JUDGE_CONFIDENCE`. Модуль отримує, парсить та визначає фінальний статус документації, викликаючи `judgeDoc` для отримання висновків, а також може використовувати `judgeFailsDoc` для визначення провалу.
|
|
12
14
|
|
|
13
15
|
## Поведінка
|
|
14
16
|
|
|
15
17
|
JUDGE_MODEL — Вказує модель, яку використовує суддя для оцінки документації.
|
|
16
|
-
JUDGE_ENABLED — Позначає, чи
|
|
17
|
-
JUDGE_CONFIDENCE — Визначає
|
|
18
|
-
parseDocVerdict — Витягує та валідує об'єкт
|
|
19
|
-
judgeDoc —
|
|
18
|
+
JUDGE_ENABLED — Позначає, чи активний семантичний гейт судді.
|
|
19
|
+
JUDGE_CONFIDENCE — Визначає мінімальну впевненість, необхідну для позначення документації як деградованої.
|
|
20
|
+
parseDocVerdict — Витягує та валідує об'єкт оцінки з сирого текстового виводу судді.
|
|
21
|
+
judgeDoc — Зіставляє вміст вихідного файлу та згенеровану документацію, щоб отримати оцінку від судді.
|
|
20
22
|
judgeFailsDoc — Визначає, чи слід вважати документацію деградованою на основі оцінки судді.
|
|
21
23
|
|
|
22
24
|
## Публічний API
|
|
23
25
|
|
|
24
26
|
JUDGE_MODEL — Визначає модель-суддю як `N_CLOUD_MIN_MODEL` (хмарний мінімальний рівень).
|
|
25
|
-
JUDGE_ENABLED — Автоматично вмикає механізм
|
|
26
|
-
JUDGE_CONFIDENCE — Встановлює мінімальний рівень
|
|
27
|
-
parseDocVerdict — Витягує та перевіряє
|
|
28
|
-
judgeDoc — Оцінює згенерований документ потужною
|
|
29
|
-
judgeFailsDoc — Визначає, чи повинен документ бути позначений як
|
|
27
|
+
JUDGE_ENABLED — Автоматично вмикає механізм суддівства, якщо обрано `N_CLOUD_MIN_MODEL`.
|
|
28
|
+
JUDGE_CONFIDENCE — Встановлює мінімальний рівень впевненості для позначення документа як погіршеного (degraded) через неточність.
|
|
29
|
+
parseDocVerdict — Витягує та перевіряє JSON-вердикт із відповіді великої мовної моделі.
|
|
30
|
+
judgeDoc — Оцінює згенерований документ потужною моделлю порівняно з оригінальним джерелом.
|
|
31
|
+
judgeFailsDoc — Визначає, чи повинен документ бути позначений як погіршений, якщо вердикт є `inaccurate` і впевненість достатня.
|
|
30
32
|
|
|
31
33
|
## Гарантії поведінки
|
|
32
34
|
|
|
@@ -3,47 +3,48 @@ type: JS Module
|
|
|
3
3
|
title: docgen-scan.mjs
|
|
4
4
|
resource: npm/rules/doc-files/js/docgen-scan.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 563b7722
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
Модуль
|
|
13
|
+
Модуль визначає, які файли є кодовим джерелом за допомогою `isSourceFile`. Він обчислює відповідні шляхи до Markdown-документів для коду за допомогою `docPathForSource`. Модуль ідентифікує потенційні кандидати для документування за допомогою `isDocCandidate` та надає опис файлу за допомогою `describeFile`. Для аналізу файлової системи використовуються `scanOrphanedDocs` для пошуку "сирітських" документів та `scanForDocFiles` для сканування файлів. Модуль також може визначати кореневий каталог за допомогою `resolveRoot` та виконувати сканування файлів документації через `runDocFilesScanCli` або перевірку через `runDocFilesCheckCli`.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
17
|
isSourceFile визначає, чи є ім'я файлу кодовим джерелом для документування.
|
|
18
|
-
docPathForSource обчислює шлях до відповідного
|
|
19
|
-
isDocCandidate визначає, чи
|
|
20
|
-
describeFile описує кодовий файл, надаючи
|
|
21
|
-
scanOrphanedDocs знаходить
|
|
22
|
-
scanForDocFiles рекурсивно
|
|
23
|
-
resolveRoot
|
|
18
|
+
docPathForSource обчислює шлях до відповідного md-документа для заданого кодового файлу.
|
|
19
|
+
isDocCandidate визначає, чи є файл кандидатом на документування, враховуючи розширення, статус тесту та ігнорування.
|
|
20
|
+
describeFile описує кодовий файл, надаючи шлях джерела, шлях доки та стан застарілості.
|
|
21
|
+
scanOrphanedDocs знаходить md-документи, які посилаються на джерела, що більше не існують.
|
|
22
|
+
scanForDocFiles рекурсивно сканує дерево і повертає список кодових файлів зі станом застарілості, відфільтрований за ігноруванням Git.
|
|
23
|
+
resolveRoot визначає абсолютний корінь обходу, використовуючи аргументи або поточний робочий каталог.
|
|
24
24
|
runDocFilesScanCli сканує дерево і друкує JSON-масив усіх кодових файлів зі станом застарілості.
|
|
25
|
-
runDocFilesCheckCli виконує перевірку застарілості,
|
|
25
|
+
runDocFilesCheckCli виконує перевірку застарілості, що може бути використана для хуків, Git-гейтів або ручного переліку шляхів.
|
|
26
26
|
|
|
27
27
|
## Публічний API
|
|
28
28
|
|
|
29
|
-
isSourceFile — визначає, чи є файл
|
|
30
|
-
docPathForSource — визначає шлях до
|
|
31
|
-
isDocCandidate — вирішує, чи повинен кодовий файл бути
|
|
32
|
-
describeFile — надає опис кодового файлу, включаючи його
|
|
33
|
-
scanOrphanedDocs —
|
|
34
|
-
scanForDocFiles — рекурсивно
|
|
35
|
-
resolveRoot — встановлює кореневу директорію для сканування, використовуючи аргумент командного рядка або поточну
|
|
36
|
-
runDocFilesScanCli — сканує дерево та виводить JSON-масив усіх кодових файлів зі статусом
|
|
37
|
-
runDocFilesCheckCli — виконує перевірку застарілості для
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
29
|
+
isSourceFile — визначає, чи є файл вихідним кодом для створення документації.
|
|
30
|
+
docPathForSource — визначає шлях до файлу документації, розміщений у теці `docs/` відносно коду.
|
|
31
|
+
isDocCandidate — вирішує, чи повинен кодовий файл бути документований (правильне розширення, не тест, не ігнорується, не системний).
|
|
32
|
+
describeFile — надає опис кодового файлу, включаючи його шлях та статус застарілості.
|
|
33
|
+
scanOrphanedDocs — знаходить файли документації, які посилаються на вихідний код, що більше не існує.
|
|
34
|
+
scanForDocFiles — рекурсивно шукає всі кодові файли у заданому дереві та визначає їхній статус застарілості.
|
|
35
|
+
resolveRoot — встановлює кореневу директорію для сканування, використовуючи аргумент командного рядка або поточну директорію.
|
|
36
|
+
runDocFilesScanCli — сканує дерево та виводить JSON-масив усіх кодових файлів зі статусом застарілості.
|
|
37
|
+
runDocFilesCheckCli — виконує перевірку застарілості файлів для хуків та командного інтерфейсу.
|
|
38
|
+
|
|
39
|
+
**Режими роботи:**
|
|
40
|
+
`--hook` — перевіряє один файл, отриманий із вхідного JSON, у контексті хука.
|
|
41
|
+
`--git` — порівнює файли у `git diff` та блокує виконання, якщо знайдено застарілі файли, перевищуючи встановлений ліміт.
|
|
42
|
+
`--degraded` — генерує звіт про файли документації, які не відповідають встановленому рівню якості.
|
|
43
|
+
`<paths…>` — обробляє лише вказані явно шляхи-джерела.
|
|
44
|
+
|
|
45
|
+
**Коди виходу:**
|
|
46
|
+
Вихід 2 — вказує на знаходження застарілих файлів (для блокування хука).
|
|
47
|
+
Вихід 0 — вказує на відсутність застарілих файлів або проходження перевірки згідно з лімітом.
|
|
47
48
|
|
|
48
49
|
## Гарантії поведінки
|
|
49
50
|
|
|
@@ -6,20 +6,19 @@ resource: npm/rules/doc-files/js/
|
|
|
6
6
|
|
|
7
7
|
# npm/rules/doc-files/js
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [docgen-crc.mjs](docgen-crc.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [docgen-crc.mjs](docgen-crc.md) | JS Module |
|
|
12
12
|
| [docgen-extract-anchors.mjs](docgen-extract-anchors.md) | JS Module |
|
|
13
|
-
| [docgen-extract.mjs](docgen-extract.md)
|
|
14
|
-
| [docgen-files-batch.mjs](docgen-files-batch.md)
|
|
15
|
-
| [docgen-gen.mjs](docgen-gen.md)
|
|
16
|
-
| [docgen-ignore.mjs](docgen-ignore.md)
|
|
17
|
-
| [docgen-judge-measure.mjs](docgen-judge-measure.md)
|
|
18
|
-
| [docgen-judge.mjs](docgen-judge.md)
|
|
19
|
-
| [docgen-prompts.mjs](docgen-prompts.md)
|
|
20
|
-
| [docgen-scan.mjs](docgen-scan.md)
|
|
21
|
-
| [lint.mjs](lint.md)
|
|
22
|
-
| [
|
|
23
|
-
| [units-
|
|
24
|
-
| [units
|
|
25
|
-
| [units.mjs](units.md) | JS Module |
|
|
13
|
+
| [docgen-extract.mjs](docgen-extract.md) | JS Module |
|
|
14
|
+
| [docgen-files-batch.mjs](docgen-files-batch.md) | JS Module |
|
|
15
|
+
| [docgen-gen.mjs](docgen-gen.md) | JS Module |
|
|
16
|
+
| [docgen-ignore.mjs](docgen-ignore.md) | JS Module |
|
|
17
|
+
| [docgen-judge-measure.mjs](docgen-judge-measure.md) | JS Module |
|
|
18
|
+
| [docgen-judge.mjs](docgen-judge.md) | JS Module |
|
|
19
|
+
| [docgen-prompts.mjs](docgen-prompts.md) | JS Module |
|
|
20
|
+
| [docgen-scan.mjs](docgen-scan.md) | JS Module |
|
|
21
|
+
| [run-lint.mjs](run-lint.md) | JS Module |
|
|
22
|
+
| [units-js.mjs](units-js.md) | JS Module |
|
|
23
|
+
| [units-rs.mjs](units-rs.md) | JS Module |
|
|
24
|
+
| [units.mjs](units.md) | JS Module |
|
|
@@ -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: не виконує операцій запису (ФС/БД).
|
|
@@ -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
|
|
package/rules/rust/docs/main.md
CHANGED
|
@@ -3,24 +3,24 @@ type: JS Module
|
|
|
3
3
|
title: main.mjs
|
|
4
4
|
resource: npm/rules/rust/main.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 93c44fd7
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
|
-
score:
|
|
8
|
+
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
Модуль надає
|
|
13
|
+
Модуль надає інструменти для забезпечення якості коду Rust. Він дозволяє виконати перевірку коду на відповідність заданим Lint-правилам або запустити повну оркестрацію форматування та аналізу коду через `cargo`. Функціонал реалізується через публічні функції `run` та `lint`.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
run виконує перевірку коду Rust
|
|
18
|
-
lint запускає оркестрацію перевірки Rust,
|
|
17
|
+
run виконує перевірку коду Rust відповідно до політик.
|
|
18
|
+
lint запускає оркестрацію перевірки коду Rust, використовуючи `cargo` для виконання `rustfmt` та `clippy`.
|
|
19
19
|
|
|
20
20
|
## Публічний API
|
|
21
21
|
|
|
22
|
-
run —
|
|
23
|
-
lint —
|
|
22
|
+
run — виконує основну логіку правила, включаючи перевірку аспектів застосування, логіки та посилань.
|
|
23
|
+
lint — забезпечує точку входу для статичного аналізу коду Rust.
|
|
24
24
|
|
|
25
25
|
## Гарантії поведінки
|
|
26
26
|
|
package/rules/text/docs/main.md
CHANGED
|
@@ -3,26 +3,26 @@ type: JS Module
|
|
|
3
3
|
title: main.mjs
|
|
4
4
|
resource: npm/rules/text/main.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 8a0470de
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 90
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
CLI
|
|
13
|
+
Цей модуль є CLI-обгорткою над канонічним `lint-text` (text.mdc) та викликається через `n-cursor lint text` (оркестраторний адаптер `lint`). Він автоматично встановлює необхідні інструменти (`shellcheck`, `dotenv-linter`) через `ensureTool` (brew/scoop/GitHub Release per-platform) та перевіряє наявність `patch` (для авто-фіксу shellcheck). Функція `runLintTextCli` послідовно виконує: 1) перевірку правопису з `@nitra/cspell-dict` (`cspell .`); 2) авто-фікс та фінальну перевірку `.sh` файлів (`shellcheck`); 3) авто-фікс та фінальну перевірку `.env*` файлів (`dotenv-linter`); 4) авто-фікс Markdown-документів (`markdownlint-cli2 --fix "**\/*.md" "**\/*.mdc"`); 5) schema-валідацію JSON/YAML/TOML через `v8r`. При першому ненульовому коді з ланцюжка повертається код виходу, і наступні кроки не запускаються. Конфігурації, на які спирається код: meta.json.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
run
|
|
18
|
-
runLintTextCli
|
|
19
|
-
lint
|
|
17
|
+
run виконує стандартну перевірку, використовуючи контекст прогону.
|
|
18
|
+
runLintTextCli виконує повний ланцюжок перевірок тексту (cspell, shellcheck, dotenv-linter, markdownlint, v8r), автоматично встановлюючи необхідні інструменти, і повертає код першого порушення.
|
|
19
|
+
lint делегує виклик `runLintTextCli` для виконання повного ланцюжка перевірок тексту.
|
|
20
20
|
|
|
21
21
|
## Публічний API
|
|
22
22
|
|
|
23
|
-
run —
|
|
24
|
-
runLintTextCli —
|
|
25
|
-
lint —
|
|
23
|
+
run — Основна точка входу правила, що виконує перевірку логіки (JS-занепокоєння $\rightarrow$ політика $\rightarrow$ маркування повідомлень).
|
|
24
|
+
runLintTextCli — Публічний інтерфейс командного рядка для лінтингу тексту, що серіалізує через блокування та усуває дублікати на основі стану Git.
|
|
25
|
+
lint — Координатор, що передає завдання лінтингу тексту до `runLintTextCli`.
|
|
26
26
|
|
|
27
27
|
## Гарантії поведінки
|
|
28
28
|
|
|
@@ -3,26 +3,26 @@ type: JS Module
|
|
|
3
3
|
title: cspell-fix.mjs
|
|
4
4
|
resource: npm/rules/text/js/cspell-fix.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: e00c233e
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Огляд
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Модуль інтегрує cspell у ланцюжку lint-text для класифікації невідомих слів згідно зі схемою docs/specs/2026-06-15-opportunistic-llm-fix-tier.md. Він виявляє невідомі слова, класифікує їх за допомогою LLM у межах omlx-класифікації. Валідні слова автоматично дописуються до `.cspell.json#words` (відповідно до конфігурацій .cspell.json та meta.json). Невалідні знахідки залишаються для ручного рев'ю. Процес є read-only (нуль мутацій), оскільки fix-режим не переписує файли, а лише класифікує знахідки. Після дописування словника виконується re-detect. Гейт-механізм гарантує, що cspell поверне ненульовий код, якщо нерозкласифіковані або потенційні одруки залишилися.
|
|
14
14
|
|
|
15
15
|
## Поведінка
|
|
16
16
|
|
|
17
|
-
unknownWords витягує унікальні
|
|
18
|
-
appendWordsToDict
|
|
19
|
-
runCspellText запускає cspell
|
|
17
|
+
unknownWords витягує унікальні «Unknown word» з виводу cspell.
|
|
18
|
+
appendWordsToDict дописує класифіковані валідні слова у `.cspell.json#words`, сортуючи та усуваючи дублікати.
|
|
19
|
+
runCspellText запускає cspell, класифікує знахідки за допомогою LLM (якщо `llmFix` встановлено), дописує валідні слова у словник та повторно запускає cspell для перевірки, повертаючи код виходу.
|
|
20
20
|
|
|
21
21
|
## Публічний API
|
|
22
22
|
|
|
23
|
-
unknownWords — Збирає унікальні слова, які не були знайдені у
|
|
24
|
-
appendWordsToDict — Додає зібрані слова до
|
|
25
|
-
runCspellText — Виконує перевірку тексту за допомогою cspell
|
|
23
|
+
unknownWords — Збирає унікальні слова, які не були знайдені у cspell.
|
|
24
|
+
appendWordsToDict — Додає зібрані слова до словника `.cspell.json` у відсортованому та унікальному вигляді.
|
|
25
|
+
runCspellText — Виконує перевірку тексту за допомогою cspell для формування словника за новою схемою.
|
|
26
26
|
|
|
27
27
|
## Гарантії поведінки
|
|
28
28
|
|
|
@@ -11,7 +11,6 @@ resource: npm/rules/text/js/
|
|
|
11
11
|
| [cspell-fix.mjs](cspell-fix.md) | JS Module |
|
|
12
12
|
| [forbidden-prettier.mjs](forbidden-prettier.md) | JS Module |
|
|
13
13
|
| [formatting.mjs](formatting.md) | JS Module |
|
|
14
|
-
| [lint.mjs](lint.md) | JS Module |
|
|
15
14
|
| [run-dotenv-linter.mjs](run-dotenv-linter.md) | JS Module |
|
|
16
15
|
| [run-shellcheck.mjs](run-shellcheck.md) | JS Module |
|
|
17
16
|
| [run-v8r.mjs](run-v8r.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
24
|
full — сканує весь репозиторій, порівнюючи його з початковим станом.
|
|
25
|
-
readOnly — лише виявляє
|
|
26
|
-
rules — виконує повне сканування
|
|
25
|
+
readOnly — лише виявляє проблеми, не вносячи змін, порівнюючи з початковим станом.
|
|
26
|
+
rules — виконує повне сканування лише для вказаних правил у заданому обсязі.
|
|
27
27
|
|
|
28
28
|
## Гарантії поведінки
|
|
29
29
|
|
|
@@ -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`) замість винятку.
|
|
@@ -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
|
|
|
@@ -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
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/rules/{js-lint → js}/policy/vscode_extensions/template/extensions.json.snippet.json
RENAMED
|
File without changes
|
|
File without changes
|