@nitra/cursor 3.18.1 → 3.18.2

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.18.2] - 2026-06-03
4
+
5
+ ### Changed
6
+
7
+ - npm-publish.yml канон: workflow робить release+publish одним job (release-publish) — крок n-cursor release перед публікацією, contents: write + persist-credentials. Оновлено template, rego-референси та тести.
8
+
3
9
  ## [3.18.1] - 2026-06-03
4
10
 
5
11
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "3.18.1",
3
+ "version": "3.18.2",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -65,6 +65,8 @@ bunx -p typescript tsc src/**/*.js --declaration --allowJs --emitDeclarationOnly
65
65
 
66
66
  **`npm-publish.yml`:** push у **`main`**, **`on.push.paths`** з **`npm/**`**, **`JS-DevTools/npm-publish@v4.1.5`**, **`with.package: npm/package.json`**, **`permissions.id-token: write`** (OIDC на npm).
67
67
 
68
+ Workflow робить **release + publish** одним job (`release-publish`): крок **`Release (bump + CHANGELOG + tag)`** (`node npm/bin/n-cursor.js release` — агрегує change-файли, bump `version`, генерує секцію `CHANGELOG.md`, ставить git-тег) виконується **перед** публікацією. Тому потрібні **`permissions.contents: write`** і **`persist-credentials: true`** з **`fetch-depth: 0`** на `checkout` (release пушить commit-back версії та тег), а також локальний composite **`./.github/actions/setup-bun-deps`** і крок `Configure git identity`. Це узгоджено з **`n-changelog`**: `version`/`CHANGELOG.md` змінює лише `n-cursor release` у CI на `main`. Програмна перевірка (`npm_module.npm_publish_yml`) лишається subset-of — enforce-ить `on.push.paths`/`branches`, `id-token: write` і наявність publish-кроку; додаткові кроки (release, git identity) дозволені.
69
+
68
70
  - Канон: [npm-publish.yml.snippet.yml](./policy/npm_publish_yml/template/npm-publish.yml.snippet.yml)
69
71
 
70
72
  ## Канонічні конфіги
@@ -22,11 +22,11 @@ expected_paths := {p | some p in data.template.snippet.on.push.paths}
22
22
 
23
23
  expected_branches := {b | some b in data.template.snippet.on.push.branches}
24
24
 
25
- expected_permissions := data.template.snippet.jobs.publish.permissions
25
+ expected_permissions := data.template.snippet.jobs["release-publish"].permissions
26
26
 
27
27
  # Required publish-step (за маркером): expected `with.package` value з template.
28
28
  expected_publish_with_package := s.with.package if {
29
- some s in data.template.snippet.jobs.publish.steps
29
+ some s in data.template.snippet.jobs["release-publish"].steps
30
30
  contains(object.get(s, "uses", ""), publish_action_marker)
31
31
  }
32
32
 
@@ -12,22 +12,33 @@ concurrency:
12
12
  cancel-in-progress: true
13
13
 
14
14
  jobs:
15
- publish:
15
+ release-publish:
16
16
  runs-on: ubuntu-latest
17
17
  permissions:
18
- contents: read
18
+ contents: write # commit-back версії + git-тег
19
19
  id-token: write # КРИТИЧНО для OIDC!
20
20
 
21
21
  steps:
22
22
  - uses: actions/checkout@v6
23
23
  with:
24
- persist-credentials: false
24
+ persist-credentials: true # release пушить commit-back + тег
25
+ fetch-depth: 0
26
+
27
+ - uses: ./.github/actions/setup-bun-deps
25
28
 
26
29
  - uses: actions/setup-node@v6
27
30
  with:
28
31
  node-version: '24' # includes npm@11.6.0
29
32
  registry-url: 'https://registry.npmjs.org'
30
33
 
34
+ - name: Configure git identity
35
+ run: |
36
+ git config user.name "github-actions[bot]"
37
+ git config user.email "github-actions[bot]@users.noreply.github.com"
38
+
39
+ - name: Release (bump + CHANGELOG + tag)
40
+ run: node npm/bin/n-cursor.js release
41
+
31
42
  - name: Publish package
32
43
  uses: JS-DevTools/npm-publish@v4.1.5
33
44
  with: