@nitra/cursor 12.8.5 → 12.8.7
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 +12 -0
- package/bin/n-cursor.js +5 -5
- package/package.json +1 -1
- package/rules/abie/js/http_route_base.mdc +25 -0
- package/rules/abie/js/ua_http_route.mdc +1 -1
- package/rules/abie/main.mdc +12 -0
- package/rules/adr/js/hooks.mdc +32 -0
- package/rules/adr/js/madr_format.mdc +96 -0
- package/rules/adr/js/settings_policy.mdc +34 -0
- package/rules/adr/main.mdc +13 -95
- package/rules/bun/js/bunfig.mdc +12 -0
- package/rules/bun/js/layout.mdc +60 -0
- package/rules/bun/js/lint.mdc +9 -0
- package/rules/bun/js/package_json.mdc +19 -0
- package/rules/bun/main.mdc +9 -61
- package/rules/capacitor/js/ios_spm.mdc +69 -0
- package/rules/capacitor/js/version.mdc +29 -0
- package/rules/capacitor/main.mdc +8 -22
- package/rules/changelog/js/agent-workflow.mdc +15 -0
- package/rules/changelog/js/changelog-format.mdc +33 -0
- package/rules/changelog/js/comparison-models.mdc +40 -0
- package/rules/changelog/main.mdc +4 -98
- package/rules/ci4/js/marksman_config.mdc +31 -0
- package/rules/ci4/js/vscode_extensions.mdc +33 -0
- package/rules/ci4/main.mdc +14 -14
- package/rules/docker/js/compile.mdc +44 -0
- package/rules/docker/js/hadolint.mdc +50 -0
- package/rules/docker/js/mirror.mdc +13 -0
- package/rules/docker/js/multistage.mdc +13 -0
- package/rules/docker/js/native-addon.mdc +43 -0
- package/rules/docker/js/nginx-tag.mdc +7 -0
- package/rules/docker/js/nginx-user.mdc +37 -0
- package/rules/docker/js/non-root.mdc +39 -0
- package/rules/docker/main.mdc +15 -196
- package/rules/ga/js/lint_toolchain.mdc +15 -0
- package/rules/ga/js/required_workflows.mdc +35 -0
- package/rules/ga/js/vscode.mdc +17 -0
- package/rules/ga/js/workflow_common.mdc +108 -0
- package/rules/ga/js/workflows.mdc +32 -0
- package/rules/ga/js/zizmor.mdc +7 -0
- package/rules/ga/main.mdc +17 -125
- package/rules/graphql/js/tooling.mdc +13 -0
- package/rules/graphql/js/vscode_extensions.mdc +13 -0
- package/rules/graphql/main.mdc +3 -22
- package/rules/hasura/js/internal_urls.mdc +27 -0
- package/rules/hasura/js/migrations.mdc +13 -0
- package/rules/hasura/js/svc_hl.mdc +17 -0
- package/rules/hasura/main.mdc +8 -30
- package/rules/image-avif/js/avif_generation.mdc +26 -0
- package/rules/image-avif/js/package_json_optout.mdc +21 -0
- package/rules/image-avif/main.mdc +7 -34
- package/rules/image-compress/js/package_json.mdc +7 -0
- package/rules/image-compress/js/package_setup.mdc +13 -0
- package/rules/image-compress/main.mdc +4 -12
- package/rules/js/docs/index.md +3 -3
- package/rules/js/js/dep-policy.mdc +17 -0
- package/rules/js/js/eslint-config.mdc +28 -0
- package/rules/js/js/extensions.mdc +8 -0
- package/rules/js/js/file-extensions.mdc +12 -0
- package/rules/js/js/for-in.mdc +26 -0
- package/rules/js/js/jscpd.mdc +42 -0
- package/rules/js/js/knip.mdc +15 -0
- package/rules/js/js/lint-js-workflow.mdc +58 -0
- package/rules/js/js/oxlintrc.mdc +20 -0
- package/rules/js/js/package-json.mdc +31 -0
- package/rules/js/js/tests.mdc +9 -0
- package/rules/js/js/utils-lib-structure.mdc +15 -0
- package/rules/js/main.mdc +21 -214
- package/rules/js-bun-db/js/bun-sql-migration.mdc +15 -0
- package/rules/js-bun-db/js/connection.mdc +42 -0
- package/rules/js-bun-db/js/pg-format-identifiers.mdc +102 -0
- package/rules/js-bun-db/js/pg-format-shim.mdc +99 -0
- package/rules/js-bun-db/js/pg-leftover.mdc +27 -0
- package/rules/js-bun-db/js/pg-listen-notify.mdc +51 -0
- package/rules/js-bun-db/js/query-safety.mdc +117 -0
- package/rules/js-bun-db/js/sql-array.mdc +88 -0
- package/rules/js-bun-db/js/unsafe.mdc +65 -0
- package/rules/js-bun-db/main.mdc +15 -605
- package/rules/js-bun-redis/js/imports.mdc +47 -0
- package/rules/js-bun-redis/js/package_json.mdc +44 -0
- package/rules/js-bun-redis/main.mdc +3 -11
- package/rules/js-mssql/js/mssql-in-list.mdc +38 -0
- package/rules/js-mssql/js/mssql-pool.mdc +56 -0
- package/rules/js-mssql/js/mssql-query-template.mdc +33 -0
- package/rules/js-mssql/js/mssql-tvp.mdc +75 -0
- package/rules/js-mssql/js/mssql-version.mdc +7 -0
- package/rules/js-mssql/main.mdc +10 -198
- package/rules/js-run/js/check-env.mdc +35 -0
- package/rules/js-run/js/conn-aliases.mdc +109 -0
- package/rules/js-run/js/jsconfig.mdc +20 -0
- package/rules/js-run/js/otel-configmap.mdc +6 -0
- package/rules/js-run/js/pino.mdc +6 -0
- package/rules/js-run/js/project-structure.mdc +11 -0
- package/rules/js-run/js/runtime.mdc +14 -0
- package/rules/js-run/js/scope.mdc +11 -0
- package/rules/js-run/js/settimeout.mdc +11 -0
- package/rules/js-run/js/temporal.mdc +5 -0
- package/rules/js-run/main.mdc +16 -218
- package/rules/k8s/js/configmap.mdc +41 -0
- package/rules/k8s/js/deployment_resources.mdc +49 -0
- package/rules/k8s/js/hasura_httproute.mdc +91 -0
- package/rules/k8s/js/hpa_apiversion.mdc +27 -0
- package/rules/k8s/js/ingress_gateway.mdc +16 -0
- package/rules/k8s/js/kustomize_structure.mdc +144 -0
- package/rules/k8s/js/lint_k8s.mdc +72 -0
- package/rules/k8s/js/multidoc_yaml.mdc +5 -0
- package/rules/k8s/js/network_policy.mdc +136 -0
- package/rules/k8s/js/schema_modeline.mdc +57 -0
- package/rules/k8s/js/service.mdc +44 -0
- package/rules/k8s/js/topology_hpa_pdb.mdc +181 -0
- package/rules/k8s/main.mdc +30 -843
- package/rules/nginx-default-tpl/js/dockerfile.mdc +36 -0
- package/rules/nginx-default-tpl/js/http-route.mdc +41 -0
- package/rules/nginx-default-tpl/js/ini-keys.mdc +21 -0
- package/rules/nginx-default-tpl/js/template-structure.mdc +86 -0
- package/rules/nginx-default-tpl/js/vscode.mdc +37 -0
- package/rules/nginx-default-tpl/main.mdc +6 -112
- 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/docs/skill_meta.md +8 -8
- package/rules/npm-module/js/header_doc_pointer.mdc +18 -0
- package/rules/npm-module/js/package_structure.mdc +62 -0
- package/rules/npm-module/js/rule_meta.mdc +11 -0
- package/rules/npm-module/js/skill_meta.mdc +11 -0
- package/rules/npm-module/main.mdc +10 -55
- package/rules/php/js/lint_php_yml.mdc +12 -0
- package/rules/php/js/tooling.mdc +66 -0
- package/rules/php/main.mdc +7 -66
- package/rules/python/js/lint_python_yml.mdc +23 -0
- package/rules/python/js/pyproject_toml.mdc +32 -0
- package/rules/python/js/tooling.mdc +23 -0
- package/rules/python/main.mdc +9 -33
- package/rules/rego/js/rego-lint.mdc +31 -0
- package/rules/rego/js/vscode_extensions.mdc +11 -0
- package/rules/rego/js/vscode_settings.mdc +13 -0
- package/rules/rego/main.mdc +8 -24
- package/rules/rust/js/coverage.mdc +28 -0
- package/rules/rust/js/lint.mdc +22 -0
- package/rules/rust/js/tauri_composition.mdc +8 -0
- package/rules/rust/js/vscode_extensions.mdc +12 -0
- package/rules/rust/main.mdc +8 -38
- package/rules/security/js/rego_policies.mdc +15 -0
- package/rules/security/js/sample_secret.mdc +19 -0
- package/rules/security/js/trufflehog.mdc +21 -0
- package/rules/security/main.mdc +7 -35
- package/rules/style/js/admin-table.mdc +88 -0
- package/rules/style/js/colors.mdc +21 -0
- package/rules/style/js/gap.mdc +22 -0
- package/rules/style/js/quasar-fixes.mdc +32 -0
- package/rules/style/js/quasar.mdc +7 -0
- package/rules/style/js/tooling.mdc +85 -0
- package/rules/style/main.mdc +13 -253
- package/rules/tauri/js/cargo_mutants_config.mdc +39 -0
- package/rules/tauri/js/tool_surface.mdc +21 -0
- package/rules/tauri/js/tooling.mdc +25 -0
- package/rules/tauri/main.mdc +8 -78
- package/rules/test/js/cargo_mutants_config.mdc +18 -0
- package/rules/test/js/docs/index.md +7 -7
- package/rules/test/js/location.mdc +52 -0
- package/rules/test/js/no-console-store-restore.mdc +11 -0
- package/rules/test/js/no-process-chdir.mdc +15 -0
- package/rules/test/js/no-relative-fs-path.mdc +22 -0
- package/rules/test/js/sandbox-aware-test.mdc +28 -0
- package/rules/test/js/stryker_config.mdc +26 -0
- package/rules/test/js/vitest-config-pool-forks.mdc +33 -0
- package/rules/test/main.mdc +18 -184
- package/rules/text/js/ci-lint-text.mdc +15 -0
- package/rules/text/js/cspell.mdc +81 -0
- package/rules/text/js/dotenv-linter.mdc +16 -0
- package/rules/text/js/forbidden-prettier.mdc +13 -0
- package/rules/text/js/markdownlint.mdc +25 -0
- package/rules/text/js/oxfmt.mdc +35 -0
- package/rules/text/js/package-json.mdc +26 -0
- package/rules/text/js/shellcheck.mdc +18 -0
- package/rules/text/js/v8r.mdc +23 -0
- package/rules/text/js/vscode.mdc +86 -0
- package/rules/text/main.mdc +20 -237
- package/rules/vue/js/composition-api.mdc +82 -0
- package/rules/vue/js/nheader-layout.mdc +171 -0
- package/rules/vue/js/node-imports.mdc +25 -0
- package/rules/vue/js/quasar-ui.mdc +32 -0
- package/rules/vue/js/structure.mdc +101 -0
- package/rules/vue/js/testing.mdc +32 -0
- package/rules/vue/js/tfm-translations.mdc +26 -0
- package/rules/vue/js/vite-config.mdc +126 -0
- package/rules/vue/js/vite-env.mdc +55 -0
- package/rules/vue/js/vue-imports.mdc +25 -0
- package/rules/vue/main.mdc +16 -640
- package/scripts/auto-rules.mjs +6 -6
- package/scripts/auto-skills.mjs +3 -3
- package/scripts/docs/auto-rules.md +17 -31
- package/scripts/docs/auto-skills.md +18 -163
- package/scripts/docs/index.md +16 -16
- package/scripts/lib/docs/index.md +36 -36
- package/scripts/lib/docs/mirror-parity.md +7 -7
- package/scripts/lib/docs/rule-meta.md +12 -12
- package/scripts/lib/docs/skill-meta.md +9 -9
- package/scripts/lib/docs/worktree-notice.md +10 -8
- package/scripts/lib/rule-meta.mjs +6 -6
- package/scripts/lib/skill-meta.mjs +6 -6
- package/scripts/lib/worktree-notice.mjs +2 -2
- package/scripts/utils/docs/index.md +14 -14
|
@@ -3,24 +3,26 @@ type: JS Module
|
|
|
3
3
|
title: worktree-notice.mjs
|
|
4
4
|
resource: npm/scripts/lib/worktree-notice.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: b4358793
|
|
7
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
8
|
score: 100
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Огляд
|
|
12
|
+
|
|
13
|
+
Управляє вставкою інструкцій для виконання команд у ізольованому git-worktree у синкнутий `SKILL.md` (рішення D2 зі spec). Коли `main.json.worktree === true`, інструкції вставляються між маркерами `WORKTREE_START` та `WORKTREE_END`. Це забезпечує ре-синк ідемпотентність: наявний блок замінюється, а при `main.json.worktree === false` — видаляється. Механізм адаптований для агента, який читає `SKILL.md`.
|
|
12
14
|
|
|
13
15
|
## Поведінка
|
|
14
16
|
|
|
15
|
-
WORKTREE_START
|
|
16
|
-
WORKTREE_END
|
|
17
|
-
injectWorktreeNotice
|
|
17
|
+
WORKTREE_START: Позначає початок блоку інструкцій для роботи в окремому git-worktree.
|
|
18
|
+
WORKTREE_END: Позначає кінець блоку інструкцій для роботи в окремому git-worktree.
|
|
19
|
+
injectWorktreeNotice: Вставляє, оновлює або видаляє блок інструкцій для роботи в worktree у вмісті SKILL.md залежно від булевого значення.
|
|
18
20
|
|
|
19
21
|
## Публічний API
|
|
20
22
|
|
|
21
|
-
WORKTREE_START — Позначає початок
|
|
22
|
-
WORKTREE_END — Позначає кінець
|
|
23
|
-
injectWorktreeNotice —
|
|
23
|
+
WORKTREE_START — Позначає початок блоку, що описує робоче дерево.
|
|
24
|
+
WORKTREE_END — Позначає кінець блоку, що описує робоче дерево.
|
|
25
|
+
injectWorktreeNotice — Додає, змінює або видаляє блок робочого дерева у файлі `SKILL.md`.
|
|
24
26
|
|
|
25
27
|
## Гарантії поведінки
|
|
26
28
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Парсер метаданих правила з `npm/rules/<id>/
|
|
2
|
+
* Парсер метаданих правила з `npm/rules/<id>/main.json` (data-driven автодетект).
|
|
3
3
|
*
|
|
4
|
-
* `
|
|
4
|
+
* `main.json.auto` має один із чотирьох видів:
|
|
5
5
|
* - `"завжди"` → always-on;
|
|
6
6
|
* - `["rule", …]` → активується, коли всі правила-залежності виявлені;
|
|
7
7
|
* - `{ "glob": "<pat>" | [<pat>] }` → наявність файлів/каталогів за glob (OR);
|
|
@@ -20,7 +20,7 @@ export const RULE_ALWAYS = 'завжди'
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Нормалізує значення `
|
|
23
|
+
* Нормалізує значення `main.json.auto` у дискриміновану форму.
|
|
24
24
|
* @param {unknown} value значення поля `auto`
|
|
25
25
|
* @returns {RuleAutoSpec | null} `null` — формат не розпізнано (= opt-in)
|
|
26
26
|
*/
|
|
@@ -48,11 +48,11 @@ export function parseRuleAutoSpec(value) {
|
|
|
48
48
|
return null
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/** Допустимі значення `
|
|
51
|
+
/** Допустимі значення `main.json.lint` (вісь scope: чи детектор дробиться на changed-set). */
|
|
52
52
|
const LINT_SCOPES = new Set(['per-file', 'full'])
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
* Нормалізує значення `
|
|
55
|
+
* Нормалізує значення `main.json.lint` у scope детектора.
|
|
56
56
|
* - `"per-file"` — детектор декомпозується на змінені файли (дельта vs origin);
|
|
57
57
|
* - `"full"` — нероздільно крос-файловий (лише `--full` / CI).
|
|
58
58
|
* Об'єктна форма `{scope, ci}` скасована: CI=`--read-only --full` ганяє все повністю,
|
|
@@ -65,7 +65,7 @@ export function parseRuleLintSpec(value) {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
|
-
* Читає й парсить `
|
|
68
|
+
* Читає й парсить `main.json` одного правила.
|
|
69
69
|
* @param {string} ruleDir абсолютний шлях до каталогу правила
|
|
70
70
|
* @returns {Record<string, unknown> | null} обʼєкт або `null` (немає файлу / невалідний JSON / не-обʼєкт)
|
|
71
71
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Спільний парсер метаданих скіла з `npm/skills/<id>/
|
|
2
|
+
* Спільний парсер метаданих скіла з `npm/skills/<id>/main.json`.
|
|
3
3
|
*
|
|
4
|
-
* `
|
|
4
|
+
* `main.json` — єдине джерело правди для скіла замість колишнього `auto.md`:
|
|
5
5
|
* - `auto` — умова автоактивації (`"завжди"` | масив id правил), опційне;
|
|
6
6
|
* - `worktree` — boolean: чи виконувати скіл в окремому git-worktree (один інстанс);
|
|
7
7
|
* - `requireRoot` — boolean, опційне: чи скіл вимагає запуску з кореня репо.
|
|
@@ -24,8 +24,8 @@ export const SKILL_ALWAYS = 'завжди'
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* Перетворює значення поля `auto` з `
|
|
28
|
-
* @param {unknown} value значення `
|
|
27
|
+
* Перетворює значення поля `auto` з `main.json` у `SkillAutoSpec`.
|
|
28
|
+
* @param {unknown} value значення `main.json.auto`
|
|
29
29
|
* @returns {SkillAutoSpec | null} `null` — формат не розпізнано (= opt-in)
|
|
30
30
|
*/
|
|
31
31
|
export function parseSkillAutoSpec(value) {
|
|
@@ -43,7 +43,7 @@ export function parseSkillAutoSpec(value) {
|
|
|
43
43
|
/**
|
|
44
44
|
* Чи вимагає скіл запуску з кореня репо («активовано root-захист»). Єдина похідна
|
|
45
45
|
* ознака: `worktree:true` (корінь гарантує worktree) АБО явний `requireRoot:true`.
|
|
46
|
-
* @param {Record<string, unknown> | null} meta розпарсений `
|
|
46
|
+
* @param {Record<string, unknown> | null} meta розпарсений `main.json` (або null)
|
|
47
47
|
* @returns {boolean} true — скіл мутує проєкт і має стартувати з кореня
|
|
48
48
|
*/
|
|
49
49
|
export function skillRequiresRoot(meta) {
|
|
@@ -51,7 +51,7 @@ export function skillRequiresRoot(meta) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
|
-
* Читає й парсить `
|
|
54
|
+
* Читає й парсить `main.json` одного скіла.
|
|
55
55
|
* @param {string} skillDir абсолютний шлях до каталогу скіла
|
|
56
56
|
* @returns {Record<string, unknown> | null} розпарсений обʼєкт або `null` (немає файлу / невалідний JSON / не-обʼєкт)
|
|
57
57
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Вшивання worktree-інструкції у синкнутий `SKILL.md` (рішення D2 зі spec).
|
|
3
3
|
*
|
|
4
|
-
* Коли `
|
|
4
|
+
* Коли `main.json.worktree === true`, скіл має виконуватись в окремому git-worktree
|
|
5
5
|
* і не паралелитись. Підказка адресована агенту, який читає `SKILL.md`, тож
|
|
6
6
|
* вставляється в текст між стабільними маркерами — ре-синк ідемпотентний:
|
|
7
7
|
* наявний блок замінюється, при `worktree:false` — видаляється.
|
|
@@ -159,7 +159,7 @@ function buildBlock(content) {
|
|
|
159
159
|
/**
|
|
160
160
|
* Вставляє / оновлює / видаляє worktree-блок у вмісті `SKILL.md`.
|
|
161
161
|
* @param {string} content вміст `SKILL.md`
|
|
162
|
-
* @param {boolean} enabled чи має бути блок (значення `
|
|
162
|
+
* @param {boolean} enabled чи має бути блок (значення `main.json.worktree`)
|
|
163
163
|
* @returns {string} оновлений вміст (ідемпотентно)
|
|
164
164
|
*/
|
|
165
165
|
export function injectWorktreeNotice(content, enabled) {
|
|
@@ -6,18 +6,18 @@ resource: npm/scripts/utils/
|
|
|
6
6
|
|
|
7
7
|
# npm/scripts/utils
|
|
8
8
|
|
|
9
|
-
| Файл
|
|
10
|
-
|
|
11
|
-
| [ast-scan-utils.mjs](ast-scan-utils.md)
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
| ----------------------------------------------------------- | --------- |
|
|
11
|
+
| [ast-scan-utils.mjs](ast-scan-utils.md) | JS Module |
|
|
12
12
|
| [ensure-gitignore-entries.mjs](ensure-gitignore-entries.md) | JS Module |
|
|
13
|
-
| [find-package-json-paths.mjs](find-package-json-paths.md)
|
|
14
|
-
| [lock-cache-dir.mjs](lock-cache-dir.md)
|
|
15
|
-
| [pass.mjs](pass.md)
|
|
16
|
-
| [resolve-cargo-manifest.mjs](resolve-cargo-manifest.md)
|
|
17
|
-
| [resolve-cmd.mjs](resolve-cmd.md)
|
|
18
|
-
| [resolve-js-root.mjs](resolve-js-root.md)
|
|
19
|
-
| [test-helpers.mjs](test-helpers.md)
|
|
20
|
-
| [walk-cache.mjs](walk-cache.md)
|
|
21
|
-
| [walkDir.mjs](walkDir.md)
|
|
22
|
-
| [with-lock.mjs](with-lock.md)
|
|
23
|
-
| [worktree-fingerprint.mjs](worktree-fingerprint.md)
|
|
13
|
+
| [find-package-json-paths.mjs](find-package-json-paths.md) | JS Module |
|
|
14
|
+
| [lock-cache-dir.mjs](lock-cache-dir.md) | JS Module |
|
|
15
|
+
| [pass.mjs](pass.md) | JS Module |
|
|
16
|
+
| [resolve-cargo-manifest.mjs](resolve-cargo-manifest.md) | JS Module |
|
|
17
|
+
| [resolve-cmd.mjs](resolve-cmd.md) | JS Module |
|
|
18
|
+
| [resolve-js-root.mjs](resolve-js-root.md) | JS Module |
|
|
19
|
+
| [test-helpers.mjs](test-helpers.md) | JS Module |
|
|
20
|
+
| [walk-cache.mjs](walk-cache.md) | JS Module |
|
|
21
|
+
| [walkDir.mjs](walkDir.md) | JS Module |
|
|
22
|
+
| [with-lock.mjs](with-lock.md) | JS Module |
|
|
23
|
+
| [worktree-fingerprint.mjs](worktree-fingerprint.md) | JS Module |
|