@nitra/cursor 1.13.40 → 1.13.41

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
@@ -4,6 +4,12 @@
4
4
 
5
5
  Формат — [Keep a Changelog](https://keepachangelog.com/uk/1.1.0/), нумерація — [SemVer](https://semver.org/lang/uk/).
6
6
 
7
+ ## [1.13.41] - 2026-05-18
8
+
9
+ ### Fixed
10
+
11
+ - `k8s` rule: yannh-патерн для груп з крапками — у назві файлу схеми зберігається лише **перший сегмент** `group` до першої крапки (`networking.k8s.io` → `networking`, `rbac.authorization.k8s.io` → `rbac`, `flowcontrol.apiserver.k8s.io` → `flowcontrol`); попередній `<group-з-крапками-як-дефіси>` давав 404 для всіх ресурсів `*.k8s.io` (Ingress, NetworkPolicy, ClusterRole, StorageClass, FlowSchema, RuntimeClass тощо). Виправлено в `expectedSchemaUrlForTypedManifest` і `buildNetworkPolicyYaml` (`check-k8s.mjs`); опис патерну в `k8s.mdc` переписано з прикладами для усіх типових груп. Bump `k8s.mdc` `1.34` → `1.35`.
12
+
7
13
  ## [1.13.40] - 2026-05-18
8
14
 
9
15
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "1.13.40",
3
+ "version": "1.13.41",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -3595,10 +3595,14 @@ function expectedSchemaUrlForTypedManifest(doc, apiVersion, kind) {
3595
3595
  const group = apiVersion.slice(0, Math.max(0, slash))
3596
3596
  const version = apiVersion.slice(slash + 1)
3597
3597
  const kindPart = kindToSchemaFilePart(kind)
3598
- const groupDash = group.replaceAll('.', '-')
3599
3598
 
3600
3599
  if (YANNH_GROUPS.has(group)) {
3601
- const url = `${YANNH_BASE}${kindPart}-${groupDash}-${version}.json`
3600
+ // yannh для груп типу `*.k8s.io` / `*.apiserver.k8s.io` зберігає у назві файлу
3601
+ // лише перший сегмент `group` до першої крапки: `networking.k8s.io` → `networking`,
3602
+ // `rbac.authorization.k8s.io` → `rbac`, `flowcontrol.apiserver.k8s.io` → `flowcontrol`.
3603
+ // Для груп без крапок (`apps`, `batch`, `autoscaling`, `policy`) це збігається з group.
3604
+ const groupPart = group.split('.')[0]
3605
+ const url = `${YANNH_BASE}${kindPart}-${groupPart}-${version}.json`
3602
3606
  return { expected: url, reason: 'вбудований API Kubernetes (yannh)' }
3603
3607
  }
3604
3608
 
@@ -4284,7 +4288,7 @@ const NETWORK_POLICY_EGRESS_YAML = ` egress:
4284
4288
  * @returns {string} вміст `networkpolicy.yaml`
4285
4289
  */
4286
4290
  export function buildNetworkPolicyYaml(deployName, appLabel) {
4287
- const schemaUrl = `${YANNH_BASE}networkpolicy-networking-k8s-io-v1.json`
4291
+ const schemaUrl = `${YANNH_BASE}networkpolicy-networking-v1.json`
4288
4292
  return `# yaml-language-server: $schema=${schemaUrl}
4289
4293
  apiVersion: networking.k8s.io/v1
4290
4294
  kind: NetworkPolicy
package/rules/k8s/k8s.mdc CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: K8s YAML — $schema (yaml-language-server); lint-k8s (kubeconform, kubescape); check-k8s
3
- version: '1.34'
3
+ version: '1.35'
4
4
  globs: "**/k8s/**/*.yaml"
5
5
  alwaysApply: false
6
6
  ---
@@ -471,7 +471,7 @@ resources:
471
471
  ```
472
472
 
473
473
  ```yaml title="k8s/components/networkpolicy.yaml"
474
- # yaml-language-server: $schema=https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.9-standalone-strict/networkpolicy-networking-k8s-io-v1.json
474
+ # yaml-language-server: $schema=https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.9-standalone-strict/networkpolicy-networking-v1.json
475
475
  apiVersion: networking.k8s.io/v1
476
476
  kind: NetworkPolicy
477
477
  metadata:
@@ -712,8 +712,8 @@ patch: |-
712
712
  ```
713
713
 
714
714
  3. **`apiVersion: group/version`** і **group** у **`YANNH_GROUPS`** у скрипті → yannh:
715
- `https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/<PIN>/<kind>-<group-з-крапками-як-дефіси>-<version>.json`
716
- Приклади: `apps/v1` + `Deployment` → `deployment-apps-v1.json`; `networking.k8s.io/v1` + `Ingress` → `ingress-networking-k8s-io-v1.json`.
715
+ `https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/<PIN>/<kind>-<group-частина>-<version>.json`
716
+ де **`<group-частина>`** — **перший сегмент** `group` до першої крапки: для груп без крапок збігається з усією group (`apps/v1` + `Deployment` → `deployment-apps-v1.json`); для `*.k8s.io` / `*.apiserver.k8s.io` — лише префікс до `.k8s.io` (`networking.k8s.io/v1` + `Ingress` → `ingress-networking-v1.json`; `networking.k8s.io/v1` + `NetworkPolicy` → `networkpolicy-networking-v1.json`; `rbac.authorization.k8s.io/v1` + `ClusterRole` → `clusterrole-rbac-v1.json`; `flowcontrol.apiserver.k8s.io/v1` + `FlowSchema` → `flowschema-flowcontrol-v1.json`). У yannh **немає** файлів з фрагментом `-k8s-io-` у назві — патерн `<group-з-крапками-як-дефіси>` дає 404.
717
717
  4. **Інакше** (CRD тощо) → [datreeio/CRDs-catalog](https://github.com/datreeio/CRDs-catalog). Типово для `$schema` у редакторі — **GitHub Pages**:
718
718
  `https://datreeio.github.io/CRDs-catalog/<group>/<kind>_<version>.json`
719
719
  (`<kind>` — лише літери та цифри в нижньому регістрі, без роздільників між CamelCase, як для yannh.)