@nitra/cursor 5.1.0 → 5.2.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/.claude-template/settings.template.json +22 -0
- package/.pi-template/extensions/n-cursor-adr/docs/index.md +15 -9
- package/CHANGELOG.md +18 -1
- package/bin/n-cursor.js +73 -16
- package/docs/stryker.config.md +6 -0
- package/docs/vitest.config.md +6 -0
- package/lib/docs/llm.md +29 -0
- package/lib/docs/models.md +24 -17
- package/lib/docs/omlx.md +32 -0
- package/lib/llm.mjs +137 -0
- package/lib/omlx.mjs +49 -4
- package/package.json +1 -1
- package/rules/abie/docs/fix.md +6 -0
- package/rules/abie/js/docs/applies.md +6 -0
- package/rules/abie/js/docs/env_dns.md +25 -22
- package/rules/abie/js/docs/firebase_hosting.md +6 -0
- package/rules/abie/js/docs/hc_pairing.md +21 -25
- package/rules/abie/js/docs/ua_http_route.md +27 -19
- package/rules/abie/js/docs/ua_node_selector.md +24 -19
- package/rules/abie/lib/docs/enabled.md +13 -7
- package/rules/abie/lib/docs/env-dns.md +9 -3
- package/rules/abie/lib/docs/hc-yaml.md +6 -0
- package/rules/abie/lib/docs/http-route.md +6 -0
- package/rules/abie/lib/docs/k8s-tree.md +6 -0
- package/rules/abie/lib/docs/kustomization-patches.md +6 -0
- package/rules/abie/lib/docs/overlay-paths.md +6 -0
- package/rules/abie/lib/docs/yaml.md +6 -0
- package/rules/adr/docs/fix.md +6 -0
- package/rules/adr/js/docs/hooks.md +29 -244
- package/rules/bun/docs/fix.md +6 -0
- package/rules/bun/js/docs/layout.md +37 -375
- package/rules/capacitor/docs/fix.md +22 -108
- package/rules/capacitor/js/docs/platforms.md +62 -268
- package/rules/changelog/docs/fix.md +6 -0
- package/rules/changelog/js/docs/consistency.md +36 -383
- package/rules/changelog/lib/docs/package-manifest.md +6 -0
- package/rules/ci4/docs/fix.md +23 -165
- package/rules/ci4/js/docs/marksman_config.md +9 -1
- package/rules/docker/docs/fix.md +6 -0
- package/rules/docker/js/docs/lint.md +55 -239
- package/rules/docker/lib/docs/docker-hadolint.md +6 -0
- package/rules/docker/lib/docs/docker-mirror.md +6 -0
- package/rules/docker/lib/docs/docker-native-addon.md +6 -0
- package/rules/docker/lib/docs/docker-nginx-user.md +6 -0
- package/rules/docker/lint/docs/lint.md +9 -1
- package/rules/efes/docs/fix.md +6 -0
- package/rules/feedback/docs/fix.md +21 -131
- package/rules/ga/docs/fix.md +14 -12
- package/rules/ga/js/docs/lint.md +12 -9
- package/rules/ga/js/docs/workflows.md +20 -19
- package/rules/ga/lint/docs/lint.md +6 -0
- package/rules/graphql/docs/fix.md +6 -0
- package/rules/graphql/js/docs/tooling.md +18 -253
- package/rules/graphql/lib/docs/graphql-gql-scan.md +6 -0
- package/rules/hasura/docs/fix.md +18 -111
- package/rules/image-avif/docs/fix.md +6 -0
- package/rules/image-avif/js/docs/avif_generation.md +6 -0
- package/rules/js-bun-db/lib/docs/bun-sql-scan.md +9 -3
- package/rules/js-bun-redis/lib/docs/redis-imports.md +6 -0
- package/rules/js-lint/js/docs/utils_imports.md +6 -0
- package/rules/js-lint-ci/docs/fix.md +7 -1
- package/rules/js-mssql/docs/fix.md +6 -0
- package/rules/js-mssql/lib/docs/mssql-pool-scan.md +6 -0
- package/rules/js-run/docs/fix.md +6 -0
- package/rules/js-run/lib/docs/bunyan-imports.md +6 -0
- package/rules/js-run/lib/docs/check-env-scan.md +6 -0
- package/rules/js-run/lib/docs/conn-file-rules.md +6 -0
- package/rules/js-run/lib/docs/conn-imports-scan.md +6 -0
- package/rules/js-run/lib/docs/promise-settimeout-scan.md +6 -0
- package/rules/js-run/lib/docs/temporal-scan.md +6 -0
- package/rules/k8s/docs/fix.md +6 -0
- package/rules/k8s/lint/docs/lint.md +6 -0
- package/rules/nginx-default-tpl/docs/fix.md +6 -0
- package/rules/npm-module/js/docs/header_doc_pointer.md +7 -0
- package/rules/npm-module/js/header_doc_pointer.mjs +2 -8
- package/rules/php/docs/fix.md +6 -0
- package/rules/php/lint/docs/lint.md +6 -0
- package/rules/python/docs/fix.md +6 -0
- package/rules/python/lint/docs/lint.md +6 -0
- package/rules/rego/lint/docs/lint.md +6 -0
- package/rules/release/docs/change.md +6 -0
- package/rules/release/docs/fix.md +6 -0
- package/rules/release/docs/release.md +6 -0
- package/rules/release/lib/docs/aggregate.md +6 -0
- package/rules/release/lib/docs/change-file.md +6 -0
- package/rules/release/lib/docs/fallback.md +6 -0
- package/rules/rust/lib/docs/has-cargo-toml.md +6 -0
- package/rules/security/docs/fix.md +7 -1
- package/rules/security/js/docs/lint.md +6 -0
- package/rules/style-lint/docs/fix.md +6 -0
- package/rules/tauri/docs/fix.md +6 -0
- package/rules/test/docs/fix.md +6 -0
- package/rules/test/js/data/stryker_config/docs/stryker-vue-macros-ignorer.md +6 -0
- package/rules/test/js/data/stryker_config/docs/stryker.config.baseline.md +6 -0
- package/rules/test/js/data/stryker_config/docs/stryker.config.vue.baseline.md +6 -0
- package/rules/test/js/data/vitest_config/docs/vitest.config.baseline.md +6 -0
- package/rules/text/docs/fix.md +6 -0
- package/rules/text/lint/docs/lint.md +6 -0
- package/rules/text/lint/docs/run-dotenv-linter.md +6 -0
- package/rules/text/lint/docs/run-shellcheck.md +6 -0
- package/rules/text/lint/docs/run-v8r.md +6 -0
- package/rules/vue/lib/docs/vue-forbidden-imports.md +6 -0
- package/scripts/coverage-classify/cache.mjs +1 -1
- package/scripts/coverage-classify/docs/apply.md +6 -0
- package/scripts/coverage-classify/docs/cache.md +6 -0
- package/scripts/coverage-classify/docs/prompt.md +6 -0
- package/scripts/coverage-classify/docs/verdict-schema.md +6 -0
- package/scripts/coverage-classify/prompt.mjs +1 -1
- package/scripts/coverage-fix-extract.mjs +1 -1
- package/scripts/coverage-fix.mjs +2 -1
- package/scripts/docs/auto-skills.md +6 -0
- package/scripts/docs/build-agents-commands.md +7 -1
- package/scripts/docs/cli-entry.md +6 -0
- package/scripts/docs/coverage-fix-extract.md +6 -0
- package/scripts/docs/coverage-fix.md +6 -0
- package/scripts/docs/ensure-nitra-cursor-dev-dependencies.md +6 -0
- package/scripts/docs/lint-cli.md +6 -0
- package/scripts/docs/post-tool-use-fix.md +6 -0
- package/scripts/docs/rename-yaml-extensions.md +6 -0
- package/scripts/docs/skills-cli.md +6 -0
- package/scripts/docs/sync-setup-bun-deps-action.md +6 -0
- package/scripts/docs/upgrade-nitra-cursor-and-install.md +6 -0
- package/scripts/docs/worktree-cli.md +6 -0
- package/scripts/lib/docs/assert-project-root.md +6 -0
- package/scripts/lib/docs/check-mdc-template-refs.md +6 -0
- package/scripts/lib/docs/check-reporter.md +6 -0
- package/scripts/lib/docs/diff-added-lines.md +6 -0
- package/scripts/lib/docs/discover-check-rules-from-cursor.md +6 -0
- package/scripts/lib/docs/discover-checkable-rules.md +6 -0
- package/scripts/lib/docs/ensure-tool.md +6 -0
- package/scripts/lib/docs/generated-markdown.md +6 -0
- package/scripts/lib/docs/gha-workflow.md +6 -0
- package/scripts/lib/docs/inline-template-links.md +6 -0
- package/scripts/lib/docs/list-rule-ids.md +6 -0
- package/scripts/lib/docs/load-cursor-config.md +6 -0
- package/scripts/lib/docs/mirror-parity.md +6 -0
- package/scripts/lib/docs/read-n-cursor-config-lite.md +6 -0
- package/scripts/lib/docs/resolve-target-files.md +6 -0
- package/scripts/lib/docs/root-notice.md +6 -0
- package/scripts/lib/docs/rule-meta-helpers.md +6 -0
- package/scripts/lib/docs/rule-meta.md +6 -0
- package/scripts/lib/docs/run-conftest-batch.md +6 -0
- package/scripts/lib/docs/run-lint-step.md +6 -0
- package/scripts/lib/docs/run-rule-cli.md +6 -0
- package/scripts/lib/docs/run-rule.md +6 -0
- package/scripts/lib/docs/run-standard-lint.md +6 -0
- package/scripts/lib/docs/run-standard-rule.md +6 -0
- package/scripts/lib/docs/skill-meta.md +6 -0
- package/scripts/lib/docs/template.md +6 -0
- package/scripts/lib/docs/timing-summary.md +6 -0
- package/scripts/lib/docs/workspaces.md +6 -0
- package/scripts/lib/docs/worktree-notice.md +6 -0
- package/scripts/lib/docs/worktree.md +6 -0
- package/scripts/lib/mirror-parity.mjs +1 -1
- package/scripts/lib/root-notice.mjs +1 -1
- package/scripts/lib/worktree-notice.mjs +5 -5
- package/scripts/lib/worktree.mjs +1 -1
- package/scripts/sync-claude-config.mjs +3 -0
- package/scripts/utils/docs/ast-scan-utils.md +6 -0
- package/scripts/utils/docs/ensure-gitignore-entries.md +6 -0
- package/scripts/utils/docs/find-package-json-paths.md +6 -0
- package/scripts/utils/docs/lock-cache-dir.md +6 -0
- package/scripts/utils/docs/pass.md +6 -0
- package/scripts/utils/docs/resolve-cargo-manifest.md +6 -0
- package/scripts/utils/docs/resolve-cmd.md +6 -0
- package/scripts/utils/docs/resolve-js-root.md +6 -0
- package/scripts/utils/docs/test-helpers.md +6 -0
- package/scripts/utils/docs/walk-cache.md +6 -0
- package/scripts/utils/docs/walkDir.md +6 -0
- package/scripts/utils/docs/worktree-fingerprint.md +6 -0
- package/scripts/utils/resolve-js-root.mjs +1 -1
- package/skills/doc-aggregate/SKILL.md +129 -0
- package/skills/doc-aggregate/js/docgen-ignore.mjs +9 -0
- package/skills/{docgen → doc-aggregate}/js/docgen-scan.mjs +22 -67
- package/skills/doc-aggregate/js/docs/docgen-ignore.md +21 -0
- package/skills/doc-files/SKILL.md +100 -0
- package/skills/doc-files/js/docgen-crc.mjs +164 -0
- package/skills/{docgen → doc-files}/js/docgen-extract-anchors.mjs +48 -13
- package/skills/{docgen → doc-files}/js/docgen-extract.mjs +39 -10
- package/skills/doc-files/js/docgen-files-batch.mjs +181 -0
- package/skills/doc-files/js/docgen-gen.mjs +336 -0
- package/skills/{docgen → doc-files}/js/docgen-prompts.mjs +65 -50
- package/skills/doc-files/js/docgen-scan.mjs +298 -0
- package/skills/doc-files/js/docs/docgen-crc.md +32 -0
- package/skills/doc-files/js/docs/docgen-extract-anchors.md +27 -0
- package/skills/doc-files/js/docs/docgen-extract.md +29 -0
- package/skills/doc-files/js/docs/docgen-files-batch.md +25 -0
- package/skills/doc-files/js/docs/docgen-gen.md +30 -0
- package/skills/doc-files/js/docs/docgen-prompts.md +32 -0
- package/skills/doc-files/js/docs/docgen-scan.md +25 -0
- package/skills/doc-files/js/units-js.mjs +139 -0
- package/skills/doc-files/js/units.mjs +19 -0
- package/skills/doc-files/meta.json +1 -0
- package/skills/fix/js/docs/llm-worker.md +6 -0
- package/skills/fix/js/docs/orchestrator.md +6 -0
- package/skills/fix/js/llm-worker.mjs +3 -3
- package/skills/fix/js/orchestrator.mjs +1 -1
- package/skills/start-check/js/check.mjs +5 -3
- package/skills/start-check/js/docs/check.md +6 -0
- package/skills/docgen/SKILL.md +0 -224
- package/skills/docgen/bench/etalon/firebase_hosting.md +0 -19
- package/skills/docgen/bench/etalon/k8s-tree.md +0 -24
- package/skills/docgen/bench/etalon/overlay-paths.md +0 -24
- package/skills/docgen/js/docgen-batch-omlx.mjs +0 -82
- package/skills/docgen/js/docgen-batch.mjs +0 -95
- package/skills/docgen/js/docgen-compare-pi-vs-direct.mjs +0 -95
- package/skills/docgen/js/docgen-gen.mjs +0 -306
- package/skills/docgen/js/docs/docgen-extract.md +0 -28
- package/skills/docgen/js/docs/docgen-gen.md +0 -41
- package/skills/docgen/js/docs/docgen-ignore.md +0 -24
- package/skills/docgen/js/docs/docgen-prompts.md +0 -24
- package/skills/docgen/js/docs/docgen-scan.md +0 -48
- /package/skills/{docgen → doc-aggregate}/meta.json +0 -0
- /package/skills/{docgen → doc-files}/js/docgen-ignore.mjs +0 -0
|
@@ -1,32 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/js/env_dns.mjs
|
|
4
|
+
crc: f2aff16b
|
|
5
|
+
score: 100
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# env_dns.mjs
|
|
2
9
|
|
|
3
10
|
## Огляд
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Функція check виконує перевірку відповідності вхідних даних визначеному контракту. Вона забезпечує ізоляцію логіки перевірки, перевіряючи виконання необхідних умов перед подальшою обробкою. Результати перевірки передаються через маркер (abie.mdc). Функція гарантує, що помилки не будуть прокидані назовні.
|
|
6
13
|
|
|
7
14
|
## Поведінка
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
5.
|
|
16
|
-
6.
|
|
17
|
-
7.
|
|
18
|
-
8.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
`check(cwd)` — запускає перевірку від кореня репозиторію (за замовчуванням поточна робоча директорія) і повертає код виходу: `0`, якщо порушень немає, інакше ненульовий. Це стандартна точка інтеграції чек-механізму правил.
|
|
16
|
+
Алгоритм перевірки конфігурації середовища.
|
|
17
|
+
|
|
18
|
+
1. Ініціалізація механізму звітування.
|
|
19
|
+
2. Завантаження шляхів для ігнорування.
|
|
20
|
+
3. Збір файлів конфігурації середовища.
|
|
21
|
+
4. Перевірка наявності файлів. Якщо файлів не знайдено, перевірка пропущено.
|
|
22
|
+
5. Ітерація по кожному знайденому файлу конфігурації.
|
|
23
|
+
6. Для кожного файлу обчислюється відносний шлях.
|
|
24
|
+
7. Визначається назва середовища на основі імені файлу.
|
|
25
|
+
8. Зчитується вміст файлу. У разі помилки читання вмісту, генерується помилка та перевірка переходить до наступного файлу.
|
|
26
|
+
9. Вміст файлу підлягає валідації внутрішніх посилань.
|
|
27
|
+
10. Якщо валідація повертає помилки, генерується помилка, що вказує на невідповідність внутрішніх URL для визначеного середовища (abie.mdc).
|
|
28
|
+
11. Якщо валідація успішна, генерується повідомлення про успішну перевірку.
|
|
29
|
+
12. Повернення фінального коду виходу звіту.
|
|
25
30
|
|
|
26
31
|
## Гарантії поведінки
|
|
27
32
|
|
|
28
|
-
- Read-only:
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- Файли без розпізнаного імені кластера пропускаються без помилки.
|
|
32
|
-
- Файли обробляються в детермінованому (відсортованому) порядку, тож вивід стабільний між запусками.
|
|
33
|
+
- Read-only: файл не виконує операцій запису у файлову систему.
|
|
34
|
+
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
|
|
35
|
+
- Не звертається до мережі.
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/js/hc_pairing.mjs
|
|
4
|
+
crc: 5627bda6
|
|
5
|
+
score: 100
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# hc_pairing.mjs
|
|
2
9
|
|
|
3
10
|
## Огляд
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Модуль забезпечує валідацію даних відповідно до визначеного контракту. Функція check є публічною і є Read-only. Модуль гарантує внутрішню цілісність стану системи через механізм fail-safe, який запобігає виходу з ладу при помилках. Робота модуля стосується даних, визначених у (abie.mdc).
|
|
6
13
|
|
|
7
14
|
## Поведінка
|
|
8
15
|
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
11
|
-
3.
|
|
12
|
-
4.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Очікуваний перший рядок `hc.yaml`:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
# yaml-language-server: $schema=https://datreeio.github.io/CRDs-catalog/networking.gke.io/healthcheckpolicy_v1.json
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Де використовується
|
|
26
|
-
|
|
27
|
-
Це check-модуль правила abie (`abie.mdc`) у складі lint-набору cursor. Точка інтеграції — асинхронний `check(cwd)`, який повертає exit-код; його викликає механізм запуску перевірок для кореня репозиторію.
|
|
16
|
+
1. Запускається перевірка.
|
|
17
|
+
2. Завантажується конфігурація пропусків шляхів.
|
|
18
|
+
3. Зводяться всього список файлів Kubernetes YAML.
|
|
19
|
+
4. Збираються директорії розгортань на основі знайдених YAML файлів.
|
|
20
|
+
5. Перевіряється, чи існує хоча б одна директорія розгортань. Якщо директорій немає, видається повідомлення про пропуск перевірки.
|
|
21
|
+
6. Якщо директорії розгортань знайдені, видається повідомлення про успішне знаходження директорій для подальшої перевірки.
|
|
22
|
+
7. Для кожної знайденої директорії перевіряється наявність файлу hc.yaml у відповідній директорії. Якщо файл відсутній, видається повідомлення про помилку, і перевірка для цього елемента пропускається.
|
|
23
|
+
8. Для кожного знайденого файлу hc.yaml відбувається спроба прочитати його вміст. У разі помилки читання, видається повідомлення про невдачу.
|
|
24
|
+
9. Проводиться валідація прочитаного вмісту відповідно до моделіне (abie.mdc). У разі успішної валідації, видається повідомлення про успіх. У разі невдачі, видається повідомлення про помилку валідації.
|
|
25
|
+
10. Повертається код виходу перевірки.
|
|
28
26
|
|
|
29
27
|
## Гарантії поведінки
|
|
30
28
|
|
|
31
|
-
- Read-only:
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- Каталог `.github/` свідомо виключений зі збору YAML (належить іншому правилу), як і шляхи з cursor-ignore.
|
|
35
|
-
- Зіставлення modeline точне: будь-яке відхилення URL чи формату першого рядка дає зрозуміле повідомлення з посиланням на `abie.mdc`.
|
|
29
|
+
- Read-only: файл не виконує операцій запису у файлову систему.
|
|
30
|
+
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
|
|
31
|
+
- Не звертається до мережі.
|
|
@@ -1,28 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/js/ua_http_route.mjs
|
|
4
|
+
crc: d86624c8
|
|
5
|
+
score: 100
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ua_http_route.mjs
|
|
2
9
|
|
|
3
10
|
## Огляд
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Файл надає публічний інструмент `check` для перевірки внутрішнього стану даних. Функція працює у режимі fail-safe, перехоплюючи помилки виконання на рівні системи, щоб запобігти аварійним зупинкам. Функція використовує кешування даних у межах поточного прогону.
|
|
6
13
|
|
|
7
14
|
## Поведінка
|
|
8
15
|
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
11
|
-
3.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
1. Зчитується корінь репозиторію.
|
|
17
|
+
2. Завантажуються ігноровані шляхи.
|
|
18
|
+
3. Знаходять YAML-файли Kubernetes у репозиторії.
|
|
19
|
+
4. Фільтрується список YAML-файлів для визначення лише тих, що відповідають шляхам `ua/kustomization.yaml`.
|
|
20
|
+
5. Якщо список таких шляхів порожній, функція повертає успішне завершення, оскільки перевірка патчів HTTPRoute (ua) не вимагається.
|
|
21
|
+
6. Ітерується по кожному шляху, що відповідає критеріям.
|
|
22
|
+
7. Перевіряється, чи вимагає пакет наявності патчу HTTPRoute (ua) на основі наявності файлів Vite у пакеті. Якщо ні, перевірка пропускається.
|
|
23
|
+
8. Визначається каталог пакета. Якщо каталог не знайдено, функція повертає помилку внутрішньої невідповідності.
|
|
24
|
+
9. Для кожного пакета виконується аналіз спільних референсів. Якщо аналіз відсутній, він виконується, і результат зберігається у кеш.
|
|
25
|
+
10. Перевіряються базові помилки, отримані під час аналізу. Якщо помилки присутні, перевірка пропускається.
|
|
26
|
+
11. Спроба читання вмісту файлу. У разі невдачі читання, функція повертає помилку.
|
|
27
|
+
12. Об'єднутий текст з конфігурації використовується для валідації патчів.
|
|
28
|
+
13. Виконується валідація патчів. Якщо валідація повертає `null`, перевірка вважається успішною. В іншому випадку, функція повертає помилку, вказуючи на результат валідації.
|
|
29
|
+
14. Повертається код виходу репортера.
|
|
21
30
|
|
|
22
31
|
## Гарантії поведінки
|
|
23
32
|
|
|
24
|
-
- Read-only:
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- Результат — агрегований код виходу (0 за умови всіх pass), придатний для використання в CI.
|
|
33
|
+
- Read-only: файл не виконує операцій запису у файлову систему.
|
|
34
|
+
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
|
|
35
|
+
- Кешує результати в межах одного прогону.
|
|
36
|
+
- Не звертається до мережі.
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/js/ua_node_selector.mjs
|
|
4
|
+
crc: 6cde9837
|
|
5
|
+
score: 100
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ua_node_selector.mjs
|
|
2
9
|
|
|
3
10
|
## Огляд
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
Модуль надає публічну функцію `check` для валідації поточного стану вхідних даних. Функція виконує перевірку відповідності даних визначеним критеріям. Результат перевірки повертається у вигляді булевого значення. (abie.mdc)
|
|
6
13
|
|
|
7
14
|
## Поведінка
|
|
8
15
|
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
11
|
-
3.
|
|
12
|
-
4.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
1. Запуск перевірки. Створюється звітність для фіксації результатів.
|
|
17
|
+
2. Завантаження ігнорованих шляхів з конфігурації.
|
|
18
|
+
3. Пошук файлів Kubernetes YAML у вказаному корені репозиторію.
|
|
19
|
+
4. Збір директорій Deployment на основі знайдених YAML файлів.
|
|
20
|
+
5. Перевірка наявності Deployment. Якщо Deployment не знайдено, повертається результат про успішне проходження.
|
|
21
|
+
6. Фільтрація YAML файлів для визначення шляхів, що відповідають конфігурації ua.
|
|
22
|
+
7. Перевірка наявності шляхів ua. Якщо шляхів немає, повертається результат про необхідність застосувати патч на Deployment: шлях /spec/template/spec/nodeSelector та preem false (abie.mdc).
|
|
23
|
+
8. Ітерація по шляхах ua.
|
|
24
|
+
9. Перевірка наявності Deployment у дереві Kubernetes для кожного шляху. Якщо Deployment відсутній, повертається результат про те, що патч nodeSelector (ua) не застосовується — немає Deployment у дереві k8s цього пакета (abie).
|
|
25
|
+
10. Зчитування вмісту YAML файлу. У разі помилки читання, повертається результат про невдалий доступ.
|
|
26
|
+
11. Перевірка вмісту YAML файлу на наявність необхідного патча. Якщо патч відсутній, повертається результат про необхідність застосувати патч target kind Deployment: шлях /spec/template/spec/nodeSelector та preem false (abie.mdc).
|
|
27
|
+
12. Фіксація успішного проходження для кожного шляху.
|
|
21
28
|
|
|
22
29
|
## Гарантії поведінки
|
|
23
30
|
|
|
24
|
-
- Read-only:
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
- Кожен `ua`-файл оцінюється незалежно; результат правила агрегує всі окремі pass/fail.
|
|
28
|
-
- Шляхи у звітах нормалізуються до відносних із прямими слешами, тож вивід стабільний і коректний незалежно від платформи (POSIX/Windows).
|
|
31
|
+
- Read-only: файл не виконує операцій запису у файлову систему.
|
|
32
|
+
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
|
|
33
|
+
- Не звертається до мережі.
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/lib/enabled.mjs
|
|
4
|
+
crc: 6b02ea18
|
|
5
|
+
---
|
|
6
|
+
|
|
1
7
|
# enabled.mjs
|
|
2
8
|
|
|
3
9
|
## Огляд
|
|
@@ -8,19 +14,19 @@
|
|
|
8
14
|
|
|
9
15
|
1. Створення шляху до конфігураційного файлу `.n-cursor.json`
|
|
10
16
|
|
|
11
|
-
2.
|
|
17
|
+
2. Перевірка наявності файлу. Якщо файл відсутній, повертається `false`.
|
|
12
18
|
|
|
13
|
-
3.
|
|
19
|
+
3. Читання вмісту файлу. У разі помилки читання, повертається `false`.
|
|
14
20
|
|
|
15
|
-
4.
|
|
21
|
+
4. Парсинг вмісту у формат JSON. У разі помилки парсингу, повертається `false`.
|
|
16
22
|
|
|
17
|
-
5.
|
|
23
|
+
5. Витягнення масиву правил з конфігурації.
|
|
18
24
|
|
|
19
|
-
6.
|
|
25
|
+
6. Перевірка типу витягнутого масиву. Якщо дані не є масивом, повертається `false`.
|
|
20
26
|
|
|
21
|
-
7.
|
|
27
|
+
7. Ітерація по масиву правил. Проводиться перевірка кожного елемента на відповідність рядку 'abie' після приведення до нижнього регістру та видалення пробілів.
|
|
22
28
|
|
|
23
|
-
8.
|
|
29
|
+
8. Повернення результату. Якщо знайдено правило 'abie', повертається `true`. У іншому випадку повертається `false`.
|
|
24
30
|
|
|
25
31
|
## Публічний API
|
|
26
32
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
docgen:
|
|
3
|
+
source: npm/rules/abie/lib/env-dns.mjs
|
|
4
|
+
crc: 91aa8ee4
|
|
5
|
+
---
|
|
6
|
+
|
|
1
7
|
# env-dns.mjs
|
|
2
8
|
|
|
3
9
|
## Огляд
|
|
@@ -17,9 +23,9 @@ collectAbieEnvFiles
|
|
|
17
23
|
|
|
18
24
|
## Публічний API
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
- abieEnvNameFromBasename — Витягує `dev` або `ua` з імені env-файлу.
|
|
27
|
+
- validateAbieEnvInternalUrls — Виявляє розбіжності кластерного DNS/namespace у внутрішніх URL-адресах.
|
|
28
|
+
- collectAbieEnvFiles — Збирає `.env` файли, що відповідають формату abie env (dev.env, ua.env, з провідною крапкою).
|
|
23
29
|
|
|
24
30
|
## Гарантії поведінки
|
|
25
31
|
|