@nitra/cursor 12.8.2 → 12.8.3

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.
Files changed (26) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/bin/n-cursor.js +1 -1
  3. package/package.json +1 -1
  4. package/rules/{style-lint → style}/docs/fix.md +1 -1
  5. package/rules/{style-lint → style}/docs/index.md +3 -3
  6. package/rules/{style-lint → style}/docs/main.md +1 -1
  7. package/rules/{style-lint → style}/js/docs/index.md +3 -3
  8. package/rules/{style-lint → style}/js/docs/tooling.md +3 -3
  9. package/rules/{style-lint → style}/js/tooling.mjs +1 -1
  10. package/rules/{style-lint → style}/policy/lint_style_yml/lint_style_yml.rego +2 -2
  11. package/rules/{style-lint → style}/policy/lint_style_yml/template/lint-style.yml.snippet.yml +1 -1
  12. package/rules/{style-lint → style}/policy/package_json/package_json.rego +3 -3
  13. package/rules/{style-lint → style}/policy/vscode_extensions/vscode_extensions.rego +2 -2
  14. package/rules/{style-lint → style}/policy/vscode_settings/vscode_settings.rego +2 -2
  15. package/rules/{style-lint/style-lint.mdc → style/style.mdc} +3 -3
  16. package/scripts/lib/docs/gha-workflow.md +1 -1
  17. package/scripts/lib/gha-workflow.mjs +1 -1
  18. /package/rules/{style-lint → style}/main.mjs +0 -0
  19. /package/rules/{style-lint → style}/meta.json +0 -0
  20. /package/rules/{style-lint → style}/policy/lint_style_yml/target.json +0 -0
  21. /package/rules/{style-lint → style}/policy/package_json/target.json +0 -0
  22. /package/rules/{style-lint → style}/policy/package_json/template/package.json.snippet.json +0 -0
  23. /package/rules/{style-lint → style}/policy/vscode_extensions/target.json +0 -0
  24. /package/rules/{style-lint → style}/policy/vscode_extensions/template/extensions.json.snippet.json +0 -0
  25. /package/rules/{style-lint → style}/policy/vscode_settings/target.json +0 -0
  26. /package/rules/{style-lint → style}/policy/vscode_settings/template/settings.json.snippet.json +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [12.8.3] - 2026-06-22
4
+
5
+ ### Changed
6
+
7
+ - ♻️ refactor(npm): Перехід з `style-lint` на `style` у правил та конфігах
8
+
3
9
  ## [12.8.2] - 2026-06-22
4
10
 
5
11
  ### Changed
package/bin/n-cursor.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * `npx \@nitra/cursor rename-yaml-extensions` — k8s `*.yml` → `*.yaml`, `.github` `*.yaml` → `*.yml` (опції: `--dry-run`, `--root=…`; див. bin/rename-yaml-extensions.mjs)
10
10
  * `npx \@nitra/cursor post-tool-use-check` — точка входу PostToolUse hook Claude Code: читає stdin JSON,
11
11
  * дістає `tool_input.file_path`, маршрутизує його у відповідні правила
12
- * (`*.mjs` → `js-lint`, `*.vue` → `js-lint style-lint vue` тощо) і викликає
12
+ * (`*.mjs` → `js-lint`, `*.vue` → `js-lint style vue` тощо) і викликає
13
13
  * `fix` лише з ними. Прописується автоматично в `.claude/settings.json`.
14
14
  * `npx \@nitra/cursor lint` — data-driven оркестратор lint+конформності по `rules/<id>/meta.json` (`lint: per-file|full`):
15
15
  * за замовчуванням fix-by-default по дельті vs origin (лише `per-file` правила); `--full` =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "12.8.2",
3
+ "version": "12.8.3",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: JS Module
3
3
  title: fix.mjs
4
- resource: npm/rules/style-lint/fix.mjs
4
+ resource: npm/rules/style/fix.mjs
5
5
  docgen:
6
6
  crc: 38cf876b
7
7
  score: 100
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/style-lint
4
- resource: npm/rules/style-lint/
3
+ title: npm/rules/style
4
+ resource: npm/rules/style/
5
5
  ---
6
6
 
7
- # npm/rules/style-lint
7
+ # npm/rules/style
8
8
 
9
9
  | Файл | Тип |
10
10
  | ------------------- | --------- |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: JS Module
3
3
  title: main.mjs
4
- resource: npm/rules/style-lint/main.mjs
4
+ resource: npm/rules/style/main.mjs
5
5
  docgen:
6
6
  crc: d4951ce5
7
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/style-lint/js
4
- resource: npm/rules/style-lint/js/
3
+ title: npm/rules/style/js
4
+ resource: npm/rules/style/js/
5
5
  ---
6
6
 
7
- # npm/rules/style-lint/js
7
+ # npm/rules/style/js
8
8
 
9
9
  | Файл | Тип |
10
10
  | ------------------------- | --------- |
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  type: JS Module
3
3
  title: tooling.mjs
4
- resource: npm/rules/style-lint/js/tooling.mjs
4
+ resource: npm/rules/style/js/tooling.mjs
5
5
  docgen:
6
- crc: 631f5de8
6
+ crc: bc2b0934
7
7
  score: 80
8
8
  ---
9
9
 
@@ -18,7 +18,7 @@ docgen:
18
18
 
19
19
  ## Публічний API
20
20
 
21
- check — Перевіряє відповідність проєкту правилам style-lint.mdc
21
+ check — Перевіряє відповідність проєкту правилам style.mdc
22
22
 
23
23
  ## Гарантії поведінки
24
24
 
@@ -44,7 +44,7 @@ async function checkStylelintConfigPresence(reporter, cwd) {
44
44
  // `npx @nitra/cursor fix`. JS-копії видалено, щоб не було двох джерел істини.
45
45
 
46
46
  /**
47
- * Перевіряє відповідність проєкту правилам style-lint.mdc
47
+ * Перевіряє відповідність проєкту правилам style.mdc
48
48
  * @param {string} [cwd] корінь репозиторію
49
49
  * @returns {Promise<number>} 0 — все OK, 1 — є проблеми
50
50
  */
@@ -1,4 +1,4 @@
1
- # Перевірка `lint-style.yml` (style-lint.mdc).
1
+ # Перевірка `lint-style.yml` (style.mdc).
2
2
  #
3
3
  # Канон надходить через --data: { "template": { "snippet": ... } }
4
4
  # Структура --data сформована з template/lint-style.yml.snippet.yml.
@@ -23,7 +23,7 @@ all_run_text := concat("\n", [run_text |
23
23
  deny contains msg if {
24
24
  expected_run_blob != ""
25
25
  not contains(all_run_text, expected_run_blob)
26
- msg := sprintf("lint-style.yml: жоден крок run не містить %q (style-lint.mdc)", [expected_run_blob])
26
+ msg := sprintf("lint-style.yml: жоден крок run не містить %q (style.mdc)", [expected_run_blob])
27
27
  }
28
28
 
29
29
  step_run_to_text(step) := step.run if is_string(step.run)
@@ -36,4 +36,4 @@ jobs:
36
36
  - uses: ./.github/actions/setup-bun-deps
37
37
 
38
38
  - name: StyleLint
39
- run: n-cursor lint style-lint --read-only
39
+ run: n-cursor lint style --read-only
@@ -1,4 +1,4 @@
1
- # Порт перевірок `package.json` (style-lint.mdc).
1
+ # Порт перевірок `package.json` (style.mdc).
2
2
  #
3
3
  # Канон надходить через --data: { "template": { "contains": ..., "snippet": ... } }
4
4
  # Структура --data сформована з template/package.json.{contains,snippet}.json.
@@ -19,7 +19,7 @@ deny contains msg if {
19
19
  some leaf_key, expected_value in expected_inner
20
20
  actual := object.get(cfg, leaf_key, null)
21
21
  actual != expected_value
22
- msg := sprintf("package.json: %s.%s має бути %q (style-lint.mdc)", [section, leaf_key, expected_value])
22
+ msg := sprintf("package.json: %s.%s має бути %q (style.mdc)", [section, leaf_key, expected_value])
23
23
  }
24
24
 
25
25
  # ── deny: @nitra/stylelint-config у devDependencies (inverse) ────────────
@@ -27,5 +27,5 @@ deny contains msg if {
27
27
  deny contains msg if {
28
28
  dev := object.get(input, "devDependencies", {})
29
29
  not "@nitra/stylelint-config" in object.keys(dev)
30
- msg := "@nitra/stylelint-config відсутній — bun add -d @nitra/stylelint-config (style-lint.mdc)"
30
+ msg := "@nitra/stylelint-config відсутній — bun add -d @nitra/stylelint-config (style.mdc)"
31
31
  }
@@ -1,4 +1,4 @@
1
- # Перевірка `.vscode/extensions.json` для style-lint (style-lint.mdc).
1
+ # Перевірка `.vscode/extensions.json` для style (style.mdc).
2
2
  #
3
3
  # Канон надходить через --data: { "template": { "snippet": ... } }
4
4
  # Структура --data сформована з template/extensions.json.snippet.json.
@@ -9,5 +9,5 @@ import rego.v1
9
9
  deny contains msg if {
10
10
  some rec in data.template.snippet.recommendations
11
11
  not rec in {r | some r in object.get(input, "recommendations", [])}
12
- msg := sprintf(".vscode/extensions.json: recommendations має містити %q (style-lint.mdc)", [rec])
12
+ msg := sprintf(".vscode/extensions.json: recommendations має містити %q (style.mdc)", [rec])
13
13
  }
@@ -1,4 +1,4 @@
1
- # Перевірка `.vscode/settings.json` для style-lint (style-lint.mdc).
1
+ # Перевірка `.vscode/settings.json` для style (style.mdc).
2
2
  #
3
3
  # Канон надходить через --data: { "template": { "snippet": ... } }
4
4
  # Структура --data сформована з template/settings.json.snippet.json.
@@ -11,5 +11,5 @@ deny contains msg if {
11
11
  some key, expected_value in data.template.snippet
12
12
  actual := object.get(input, key, null)
13
13
  actual != expected_value
14
- msg := sprintf(".vscode/settings.json: \"%s\" має бути %v (style-lint.mdc)", [key, expected_value])
14
+ msg := sprintf(".vscode/settings.json: \"%s\" має бути %v (style.mdc)", [key, expected_value])
15
15
  }
@@ -95,7 +95,7 @@ $white-a1: color.adjust(white, $alpha: -0.85);
95
95
 
96
96
  - **Джерело правил:** перед тим як писати або суттєво змінювати **`.css`**, **`.scss`** або стилі в **`.vue`**, переглянь у корені проєкту (і в релевантних пакетах монорепо, якщо є) поле **`stylelint`** у **`package.json`** (зокрема `extends`), наявні **`.stylelintrc.*`**, **`stylelint.config.*`** та **`.stylelintignore`**. Не покладайся на «типові» правила stylelint з пам’яті — дотримуйся **проєктного** **`@nitra/stylelint-config`** і будь-яких локальних доповнень у репозиторії.
97
97
  - **Форматування** узгоджуй з **`n-text.mdc`** (oxfmt / `.oxfmtrc.json` для css, scss тощо), щоб форматер і stylelint не суперечили один одному.
98
- - **Запуск stylelint:** лише через **`n-cursor lint style-lint`** (локально — з auto-fix; у CI — `--read-only`, нуль мутацій). Під капотом — `npx stylelint`; **не** використовуй **`bunx stylelint`**. Після змін запускай **`n-cursor lint style-lint`** і виправляй усе, що лишилось після auto-fix; за потреби — повний прогін `n-cursor lint --full`.
98
+ - **Запуск stylelint:** лише через **`n-cursor lint style`** (локально — з auto-fix; у CI — `--read-only`, нуль мутацій). Під капотом — `npx stylelint`; **не** використовуй **`bunx stylelint`**. Після змін запускай **`n-cursor lint style`** і виправляй усе, що лишилось після auto-fix; за потреби — повний прогін `n-cursor lint --full`.
99
99
  - **Не розширюй винятки:** не додавай зайві **`stylelint-disable`** без потреби; краще підлаштувати стилі під правила проєкту.
100
100
 
101
101
  ## Канон
@@ -104,7 +104,7 @@ $white-a1: color.adjust(white, $alpha: -0.85);
104
104
 
105
105
  - `stylelint.extends`: [package.json.snippet.json](./policy/package_json/template/package.json.snippet.json)
106
106
 
107
- Окремого `lint-style` скрипта немає — запуск через **`n-cursor lint style-lint`** (CI — `--read-only`).
107
+ Окремого `lint-style` скрипта немає — запуск через **`n-cursor lint style`** (CI — `--read-only`).
108
108
 
109
109
  ### `.vscode/extensions.json`
110
110
 
@@ -129,7 +129,7 @@ $white-a1: color.adjust(white, $alpha: -0.85);
129
129
  },
130
130
  ```
131
131
 
132
- Додай **`.github/workflows/lint-style.yml`** (лише **`.yml`**, **`ga.mdc`**): після **`checkout`** — локальний composite **`setup-bun-deps`**, далі `n-cursor lint style-lint --read-only` у кроці **`run`**. **Не** дублюй окремі кроки **`setup-node`** / **`oven-sh/setup-bun`** / кеш / **`npm install`**.
132
+ Додай **`.github/workflows/lint-style.yml`** (лише **`.yml`**, **`ga.mdc`**): після **`checkout`** — локальний composite **`setup-bun-deps`**, далі `n-cursor lint style --read-only` у кроці **`run`**. **Не** дублюй окремі кроки **`setup-node`** / **`oven-sh/setup-bun`** / кеш / **`npm install`**.
133
133
 
134
134
  ```yaml title=".github/workflows/lint-style.yml"
135
135
  name: StyleLint
@@ -3,7 +3,7 @@ type: JS Module
3
3
  title: gha-workflow.mjs
4
4
  resource: npm/scripts/lib/gha-workflow.mjs
5
5
  docgen:
6
- crc: d73b42f2
6
+ crc: 952d34d4
7
7
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
8
8
  score: 100
9
9
  ---
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Допоміжні функції для аналізу GitHub Actions workflow (`.yml`) після структурного розбору YAML.
3
3
  *
4
- * Використовується в check-ga, check-js, check-text, check-style-lint, check-npm-module замість
4
+ * Використовується в check-ga, check-js, check-text, check-style, check-npm-module замість
5
5
  * пошуку підрядків у сирому тексті там, де важливі лише значення `uses:` та `run:` кроків.
6
6
  *
7
7
  * Для `run:` також виявляється shell-продовження рядка через `\\` перед переносом (антипатерн у ga.mdc).
File without changes
File without changes