@nitra/cursor 12.0.1 → 12.0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [12.0.3] - 2026-06-18
4
+
5
+ ### Fixed
6
+
7
+ - release: анотовані теги пушаться на origin
8
+
9
+ ## [12.0.2] - 2026-06-18
10
+
11
+ ### Fixed
12
+
13
+ - worktree: інжектований preflight-снипет і правило `worktree.mdc` кличуть `npx @7n/mt worktree …` (локальний резолв через node_modules/.bin), а не bare `mt` — узгоджено зі стратегією залежності `@7n/mt` (через npx, не глобально).
14
+
3
15
  ## [12.0.1] - 2026-06-18
4
16
 
5
17
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "12.0.1",
3
+ "version": "12.0.3",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -93,9 +93,10 @@ async function pushReleaseWithRetry(runGit, tags, attempts = 5) {
93
93
  await runGit(['rebase', '--abort'])
94
94
  throw new Error(`release: push відхилено і rebase на ${upstream} дав конфлікт — розв'яжи вручну`)
95
95
  }
96
- // після rebase хеш release-коміту змінився → пересуваємо теги на новий HEAD
96
+ // після rebase хеш release-коміту змінився → пересуваємо АНОТОВАНІ теги на новий HEAD
97
+ // (force + annotated, бо --follow-tags несе лише анотовані теги, а HEAD уже інший)
97
98
  for (const tag of tags) {
98
- await runGit(['tag', '-f', tag])
99
+ await runGit(['tag', '-f', '-a', tag, '-m', tag])
99
100
  }
100
101
  }
101
102
  throw new Error(
@@ -148,8 +149,11 @@ export async function release(opts = {}) {
148
149
  if (committed === null) {
149
150
  throw new Error('release: git commit не вдався — теги та push скасовано')
150
151
  }
152
+ // АНОТОВАНІ теги (`-a -m`), бо `git push --follow-tags` доправляє на remote лише
153
+ // анотовані теги; легкі (`git tag <name>`) лишалися б локальними. `-m` обов'язкове
154
+ // в non-interactive CI, інакше git відкрив би редактор; повідомлення — сам `<name>@<version>`.
151
155
  for (const tag of tags) {
152
- await runGit(['tag', tag])
156
+ await runGit(['tag', '-a', tag, '-m', tag])
153
157
  }
154
158
  await pushReleaseWithRetry(runGit, tags)
155
159
  }
@@ -1,12 +1,12 @@
1
1
  ---
2
- description: Конвенція git-worktree у цьому репо — створення, інвентаризація та прибирання через `mt worktree` (@7n/mt).
2
+ description: Конвенція git-worktree у цьому репо — створення, інвентаризація та прибирання через `npx @7n/mt worktree`.
3
3
  globs:
4
4
  alwaysApply: true
5
5
  ---
6
6
 
7
7
  # Worktree-конвенція
8
8
 
9
- Усі git-worktree створюй і прибирай через `mt worktree` (з пакета `@7n/mt`) — він кладе їх у
9
+ Усі git-worktree створюй і прибирай через `npx @7n/mt worktree` — він кладе їх у
10
10
  `.worktrees/` (gitignored, checkout `<sanit>/`) і веде інвентарний файл-опис у `.worktrees/.meta/`.
11
11
 
12
12
  ## Розташування
@@ -74,10 +74,10 @@ Zed **замінює** масив `file_scan_exclusions` цілком (не зл
74
74
 
75
75
  ## Команди
76
76
 
77
- - **Створити** (опис обовʼязковий): `mt worktree create <branch> "<навіщо>"`
78
- - **Інвентаризація**: `mt worktree list` (людино-) або `mt worktree inventory` (JSON)
79
- - **Прибрати** (ефемерний — прибирає й git-гілку): `mt worktree remove <branch>`
80
- - **Прибрати осиротілі інвентарі**: `mt worktree prune`
77
+ - **Створити** (опис обовʼязковий): `npx @7n/mt worktree create <branch> "<навіщо>"`
78
+ - **Інвентаризація**: `npx @7n/mt worktree list` (людино-) або `npx @7n/mt worktree inventory` (JSON)
79
+ - **Прибрати** (ефемерний — прибирає й git-гілку): `npx @7n/mt worktree remove <branch>`
80
+ - **Прибрати осиротілі інвентарі**: `npx @7n/mt worktree prune`
81
81
 
82
82
  ## Завершення гілки worktree
83
83
 
@@ -97,4 +97,4 @@ git checkout <base> && git merge --squash <branch> && git commit
97
97
 
98
98
  - Не клади worktree в `.claude/worktrees/` — це приватна директорія харнесу Claude Code.
99
99
  - Не клади worktree в батьківський каталог `../cursor-<name>` — ускладнює інвентаризацію.
100
- - Не створюй worktree вручну (`git worktree add`) повз `mt worktree create` — інакше не буде інвентарного опису.
100
+ - Не створюй worktree вручну (`git worktree add`) повз `npx @7n/mt worktree create` — інакше не буде інвентарного опису.
@@ -134,7 +134,7 @@ git branch --show-current
134
134
  Якщо \`git rev-parse --show-toplevel\` показав, що ти **не** в \`.worktrees/\`, візьми вивід \`git branch --show-current\` як \`<current-branch>\` і виконай **literal-команди без shell expansion** (без command substitution, variable expansion чи backticks). Наприклад, якщо поточна гілка \`feature/x\`:
135
135
 
136
136
  \`\`\`bash
137
- mt worktree create "feature/x-${suffix}" "n-${suffix}: worktree-only skill"
137
+ npx @7n/mt worktree create "feature/x-${suffix}" "n-${suffix}: worktree-only skill"
138
138
  cd ".worktrees/feature-x-${suffix}"
139
139
  \`\`\`
140
140