@7n/rules-ci-github 1.9.1 → 1.9.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/rules/abie/clean_merged_ignore_branches/docs/fix-clean_merged_ignore_branches.md +15 -10
  4. package/rules/abie/clean_merged_ignore_branches/docs/index.md +2 -2
  5. package/rules/abie/clean_merged_ignore_branches/fix-clean_merged_ignore_branches.mjs +10 -0
  6. package/rules/docker/lint_docker_yml/docs/fix-lint_docker_yml.md +13 -10
  7. package/rules/docker/lint_docker_yml/docs/index.md +2 -2
  8. package/rules/docker/lint_docker_yml/fix-lint_docker_yml.mjs +10 -0
  9. package/rules/ga/clean_ga_workflows/docs/fix-clean_ga_workflows.md +12 -12
  10. package/rules/ga/clean_ga_workflows/fix-clean_ga_workflows.mjs +10 -0
  11. package/rules/ga/clean_merged_branch/docs/fix-clean_merged_branch.md +17 -8
  12. package/rules/ga/clean_merged_branch/fix-clean_merged_branch.mjs +10 -0
  13. package/rules/ga/git_ai/docs/fix-git_ai.md +18 -8
  14. package/rules/ga/git_ai/fix-git_ai.mjs +10 -0
  15. package/rules/ga/lint_ga/docs/fix-lint_ga.md +16 -10
  16. package/rules/ga/lint_ga/fix-lint_ga.mjs +10 -0
  17. package/rules/ga/lint_repo_yml/docs/fix-lint_repo_yml.md +20 -8
  18. package/rules/ga/lint_repo_yml/fix-lint_repo_yml.mjs +10 -0
  19. package/rules/ga/service_deploy_workflow/docs/fix-service_deploy_workflow.md +38 -11
  20. package/rules/ga/service_deploy_workflow/fix-service_deploy_workflow.mjs +6 -0
  21. package/rules/ga/vscode_settings/docs/fix-vscode_settings.md +15 -8
  22. package/rules/ga/vscode_settings/fix-vscode_settings.mjs +10 -0
  23. package/rules/ga/zizmor_yml/docs/fix-zizmor_yml.md +14 -9
  24. package/rules/ga/zizmor_yml/fix-zizmor_yml.mjs +10 -0
  25. package/rules/js/lint_js_yml/docs/fix-lint_js_yml.md +16 -8
  26. package/rules/js/lint_js_yml/docs/index.md +2 -2
  27. package/rules/js/lint_js_yml/fix-lint_js_yml.mjs +10 -0
  28. package/rules/k8s/lint_k8s_yml/docs/fix-lint_k8s_yml.md +15 -10
  29. package/rules/k8s/lint_k8s_yml/docs/index.md +2 -2
  30. package/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs +10 -0
  31. package/rules/npm-module/npm_publish_yml/docs/fix-npm_publish_yml.md +19 -9
  32. package/rules/npm-module/npm_publish_yml/docs/index.md +2 -2
  33. package/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs +10 -0
  34. package/rules/php/lint_php_yml/docs/fix-lint_php_yml.md +19 -9
  35. package/rules/php/lint_php_yml/docs/index.md +2 -2
  36. package/rules/php/lint_php_yml/fix-lint_php_yml.mjs +10 -0
  37. package/rules/python/lint_python_yml/docs/fix-lint_python_yml.md +21 -8
  38. package/rules/python/lint_python_yml/docs/index.md +2 -2
  39. package/rules/python/lint_python_yml/fix-lint_python_yml.mjs +6 -0
  40. package/rules/rust/lint_rust_yml/docs/fix-lint_rust_yml.md +19 -9
  41. package/rules/rust/lint_rust_yml/docs/index.md +2 -2
  42. package/rules/rust/lint_rust_yml/fix-lint_rust_yml.mjs +6 -0
  43. package/rules/rust/toolchain_cache/docs/index.md +2 -4
  44. package/rules/rust/toolchain_cache/docs/main.md +23 -35
  45. package/rules/rust/toolchain_cache/main.mjs +4 -0
  46. package/rules/security/lint_security_yml/docs/fix-lint_security_yml.md +12 -10
  47. package/rules/security/lint_security_yml/docs/index.md +2 -2
  48. package/rules/security/lint_security_yml/fix-lint_security_yml.mjs +6 -0
  49. package/rules/style/lint_style_yml/docs/fix-lint_style_yml.md +10 -9
  50. package/rules/style/lint_style_yml/docs/index.md +2 -2
  51. package/rules/style/lint_style_yml/fix-lint_style_yml.mjs +6 -0
  52. package/rules/text/lint_text/docs/fix-lint_text.md +13 -8
  53. package/rules/text/lint_text/docs/index.md +2 -2
  54. package/rules/text/lint_text/fix-lint_text.mjs +6 -0
@@ -3,24 +3,31 @@ type: JS Module
3
3
  title: fix-vscode_settings.mjs
4
4
  resource: plugins/ci-github/rules/ga/vscode_settings/fix-vscode_settings.mjs
5
5
  docgen:
6
- crc: 712711ff
6
+ crc: 39ecd7e7
7
7
  model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
8
9
  score: 100
9
- issues: judge:inaccurate:0.97
10
10
  judgeModel: openai-codex/gpt-5.4-mini
11
11
  ---
12
12
 
13
13
  ## Огляд
14
14
 
15
- `patterns` перевіряє та впорядковує `.vscode/settings.json` на відповідність очікуваному проєктному формату, спираючись на `settings.json`. Це потрібно, щоб редакторні налаштування залишалися в передбачуваному стані без ручних правок.
15
+ `patterns` задає спільні налаштування VS Code для консюмер-репо відповідно до канонічного шаблону концерну `vscode_settings`. Це потрібно, щоб однаковий базовий набір налаштувань застосовувався узгоджено в усіх споживачах цього шаблону.
16
16
 
17
17
  ## Поведінка
18
18
 
19
- 1. `patterns` визначає набір правил для узгодження `.vscode/settings.json` з очікуваним шаблоном проєкту.
20
- 2. `patterns` потрібен, щоб автоматично тримати налаштування редактора в погодженому стані без ручного редагування кожного разу.
21
- 3. `patterns` працює лише з конфігурацією `.vscode/settings.json`; інших шляхів або файлів у межах цього модуля не охоплює.
22
- 4. `patterns` не виконує записів у файлову систему чи базу даних і не покладається на кешування.
19
+ 1. `patterns` задає один канонічний сценарій вирівнювання спільних VS Code-налаштувань у консюмер-репо з корпоративним шаблоном для `settings.json`.
20
+ 2. Якщо цільовий `settings.json` відсутній, він створюється на основі канонічного шаблону.
21
+ 3. Якщо `settings.json` уже існує, з нього зберігаються всі значення поза шаблоном, а канонічні налаштування концерну мають пріоритет і доповнюють або оновлюють спільну конфігурацію.
22
+ 4. Це гарантує, що репозиторії отримують однакову базову поведінку VS Code без втрати локальних несуперечливих налаштувань.
23
+
24
+ ## Публічний API
25
+
26
+ - patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
27
+ `.vscode/settings.json` консюмер-репо — відсутні ключі додаються, канонічні
28
+ значення мають пріоритет, ключі поза шаблоном не чіпаються; якщо файлу
29
+ немає — створюється зі snippet-а.
23
30
 
24
31
  ## Гарантії поведінки
25
32
 
26
- - Read-only: не виконує операцій запису (ФС/БД).
33
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
@@ -1,5 +1,15 @@
1
+ /**
2
+ * T0-фікс концерну vscode_settings: приводить спільні налаштування VS Code
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.vscode/settings.json` консюмер-репо — відсутні ключі додаються, канонічні
10
+ * значення мають пріоритет, ключі поза шаблоном не чіпаються; якщо файлу
11
+ * немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [
4
14
  createTemplateFixPattern({ id: 'ga-vscode_settings-template', targetPath: '.vscode/settings.json' })
5
15
  ]
@@ -3,26 +3,31 @@ type: JS Module
3
3
  title: fix-zizmor_yml.mjs
4
4
  resource: plugins/ci-github/rules/ga/zizmor_yml/fix-zizmor_yml.mjs
5
5
  docgen:
6
- crc: df8c1663
6
+ crc: 9892e20a
7
7
  model: openai-codex/gpt-5.4-mini
8
8
  tier: cloud-min
9
9
  score: 100
10
- issues: judge:inaccurate:0.98
11
10
  judgeModel: openai-codex/gpt-5.4-mini
12
11
  ---
13
12
 
14
13
  ## Огляд
15
14
 
16
- `patterns` описує, як привести цільові файли репозиторію до потрібного вигляду з урахуванням свідомо пропущених шляхів `.github` і `.git`. Функція працює read-only і не пише у ФС чи БД.
15
+ `patterns` приводить `.github/zizmor.yml` до канонічного шаблону концерну для `zizmor`, щоб консюмер-репо залишалося узгодженим зі стандартизованим конфігом.
17
16
 
18
17
  ## Поведінка
19
18
 
20
- 1. `patterns` задає набір правил для автоматичного виправлення конфігурації `zizmor` у репозиторії.
21
- 2. Воно орієнтується на файл `.github/zizmor.yml` і застосовується лише до цього цільового місця.
22
- 3. Під час роботи свідомо не зачіпає шляхи `.github` і `.git` поза визначеним цільовим файлом, щоб не втручатися в службові та інфраструктурні області.
23
- 4. Працює у режимі read-only: саме значення `patterns` лише описує поведінку, без запису в файлову систему чи базу даних.
19
+ 1. `patterns` визначає один детермінований шаблон для вирівнювання `.github/zizmor.yml` із канонічним концерновим конфігом.
20
+ 2. Якщо цільовий файл відсутній, `patterns` ініціалізує його з канонічного snippet-а.
21
+ 3. Якщо файл уже існує, `patterns` додає відсутні ключі та зберігає канонічні значення як пріоритетні.
22
+ 4. `patterns` не чіпає коментарі й інші ключі поза шаблоном.
23
+
24
+ ## Публічний API
25
+
26
+ - patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
27
+ `.github/zizmor.yml` консюмер-репо — відсутні ключі додаються, канонічні
28
+ значення мають пріоритет, коментарі й ключі поза шаблоном не чіпаються;
29
+ якщо файлу немає — створюється зі snippet-а.
24
30
 
25
31
  ## Гарантії поведінки
26
32
 
27
- - Read-only: не виконує операцій запису (ФС/БД).
28
- - Свідомо пропускає шляхи: `.github`, `.git`.
33
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
@@ -1,3 +1,13 @@
1
+ /**
2
+ * T0-фікс концерну zizmor_yml: приводить конфіг сканера безпеки zizmor
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.github/zizmor.yml` консюмер-репо — відсутні ключі додаються, канонічні
10
+ * значення мають пріоритет, коментарі й ключі поза шаблоном не чіпаються;
11
+ * якщо файлу немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [createTemplateFixPattern({ id: 'ga-zizmor_yml-template', targetPath: '.github/zizmor.yml' })]
@@ -3,25 +3,33 @@ type: JS Module
3
3
  title: fix-lint_js_yml.mjs
4
4
  resource: plugins/ci-github/rules/js/lint_js_yml/fix-lint_js_yml.mjs
5
5
  docgen:
6
- crc: fe148a99
6
+ crc: e0152cf2
7
7
  model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
8
9
  score: 100
9
- issues: judge:inaccurate:0.99
10
+ issues: judge-refine:kept-original,judge:inaccurate:0.98
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- `patterns` read-only набір правил для аналізу й уніфікації JavaScript lint-конфігурації в межах доступних шляхів. Він свідомо пропускає `.github` і `.git`, щоб не зачіпати службові та git-специфічні файли.
16
+ `patterns` приводить шлях `.github/workflows/lint-js.yml` до канонічного шаблону концерну, щоб workflow для js-лінту відповідав стандартному корпоративному оформленню.
16
17
 
17
18
  ## Поведінка
18
19
 
19
- 1. `patterns` формує набір правил для виправлення lint-конфігурації JavaScript-проєкту.
20
- 2. Для кожного правила прив’язує оновлення до цільового workflow-файлу `.github/workflows/lint-js.yml`.
21
- 3. У межах своєї роботи свідомо не зачіпає `.github` і `.git`, щоб уникати змін у службових та внутрішніх областях.
22
- 4. Працює в read-only режимі щодо ФС і БД: сам нічого не записує, а лише описує, що треба виправити.
20
+ 1. `patterns` задає єдиний канонічний сценарій виправлення для CI-workflow лінту js-домену в репозиторіях-консюмерах.
21
+ 2. Він узгоджує `.github/workflows/lint-js.yml` із шаблоном концерну: додає відсутні частини, зберігає канонічні значення як пріоритетні та не змінює сторонні коментарі й ключі поза шаблоном.
22
+ 3. Якщо цільового файлу немає, `patterns` ініціює його створення з канонічного snippet-а.
23
+ 4. Під час застосування механізм свідомо обходить `.github` і `.git`, щоб не зачіпати службові області поза цим сценарієм.
24
+
25
+ ## Публічний API
26
+
27
+ - patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
28
+ `.github/workflows/lint-js.yml` консюмер-репо — відсутні ключі додаються,
29
+ канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
30
+ чіпаються; якщо файлу немає — створюється зі snippet-а.
23
31
 
24
32
  ## Гарантії поведінки
25
33
 
26
- - Read-only: не виконує операцій запису (ФС/БД).
34
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
27
35
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/js/lint_js_yml
4
- resource: npm/rules/js/lint_js_yml/
3
+ title: plugins/ci-github/rules/js/lint_js_yml
4
+ resource: plugins/ci-github/rules/js/lint_js_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,15 @@
1
+ /**
2
+ * T0-фікс концерну lint_js_yml: приводить CI-workflow лінту js-домену
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.github/workflows/lint-js.yml` консюмер-репо — відсутні ключі додаються,
10
+ * канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
11
+ * чіпаються; якщо файлу немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [
4
14
  createTemplateFixPattern({ id: 'js-lint_js_yml-template', targetPath: '.github/workflows/lint-js.yml' })
5
15
  ]
@@ -3,28 +3,33 @@ type: JS Module
3
3
  title: fix-lint_k8s_yml.mjs
4
4
  resource: plugins/ci-github/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs
5
5
  docgen:
6
- crc: 7931d379
7
- model: openai-codex/gpt-5.5
6
+ crc: e89c25eb
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
8
9
  score: 100
9
- issues: judge:inaccurate:0.98
10
+ issues: judge-refine:kept-original,judge:inaccurate:0.98
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- Надає `patterns` як read-only опис очікуваних збігів для перевірки репозиторію без змін у файловій системі чи інших сховищах. Свідомо пропускає `.github` і `.git`, щоб не аналізувати службові шляхи та зосереджувати перевірку на релевантному вмісті.
16
+ Файл тримає канонічний сценарій оновлення CI workflow для лінту k8s-домену в consumer-репо, щоб `.github/workflows/lint-k8s.yml` приводився до шаблону концерну. Він існує, щоб звіряти workflow з канонічним snippet-ом концерну й застосовувати стандартний набір змін для цього сценарію, не виходячи за межі `.github` та `.git`.
16
17
 
17
18
  ## Поведінка
18
19
 
19
- 1. `patterns` оголошує набір правил автоматичного виправлення для workflow перевірки Kubernetes YAML.
20
+ 1. `patterns` задає єдиний канонічний сценарій виправлення для CI workflow лінту k8s-домену.
21
+ 2. Під час застосування сценарію шаблон концерну зливається з `.github/workflows/lint-k8s.yml`: відсутні елементи додаються, а канонічні значення мають пріоритет.
22
+ 3. Якщо цільового файлу немає, `patterns` ініціює його створення з канонічного snippet-а.
23
+ 4. `patterns` навмисно не втручається в позатимплейтні ключі та коментарі, а також свідомо пропускає `.github` і `.git` як межі обробки.
20
24
 
21
- 2. `patterns` забезпечує наявність стандартного шаблону `.github/workflows/lint-k8s.yml`, щоб репозиторій мав узгоджену CI-перевірку Kubernetes-маніфестів.
25
+ ## Публічний API
22
26
 
23
- 3. `patterns` працює як read-only опис очікуваного виправлення: сам файл не виконує запис у файлову систему чи базу даних.
24
-
25
- 4. `patterns` свідомо не охоплює обходом службові шляхи `.github` і `.git`; цільовий workflow у `.github/workflows/lint-k8s.yml` задається як конкретний шаблонний артефакт.
27
+ - patterns Один детермінований патерн: deep-merge канонічного snippet-а концерну в
28
+ `.github/workflows/lint-k8s.yml` консюмер-репо — відсутні ключі додаються,
29
+ канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
30
+ чіпаються; якщо файлу немає — створюється зі snippet-а.
26
31
 
27
32
  ## Гарантії поведінки
28
33
 
29
- - Read-only: не виконує операцій запису (ФС/БД).
34
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
30
35
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/k8s/lint_k8s_yml
4
- resource: npm/rules/k8s/lint_k8s_yml/
3
+ title: plugins/ci-github/rules/k8s/lint_k8s_yml
4
+ resource: plugins/ci-github/rules/k8s/lint_k8s_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,15 @@
1
+ /**
2
+ * T0-фікс концерну lint_k8s_yml: приводить CI-workflow лінту k8s-домену
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.github/workflows/lint-k8s.yml` консюмер-репо — відсутні ключі додаються,
10
+ * канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
11
+ * чіпаються; якщо файлу немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [
4
14
  createTemplateFixPattern({ id: 'k8s-lint_k8s_yml-template', targetPath: '.github/workflows/lint-k8s.yml' })
5
15
  ]
@@ -3,25 +3,35 @@ type: JS Module
3
3
  title: fix-npm_publish_yml.mjs
4
4
  resource: plugins/ci-github/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs
5
5
  docgen:
6
- crc: 6db1ed6f
7
- model: openai-codex/gpt-5.4-mini
6
+ crc: b7913c3f
7
+ model: omlx/gemma-4-e4b-it-OptiQ-4bit
8
+ tier: local-min-retry
8
9
  score: 100
9
- issues: judge:inaccurate:0.98
10
+ issues: judge:error
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- `patterns` визначає правила зіставлення вмісту для `/.github/workflows/npm-publish.yml` у межах репозиторію. Файл потрібен, щоб узгоджувати цей workflow із очікуваною структурою та вмістом.
16
+ Приводить конфігураційний файл `.github/workflows/npm-publish.yml` до канонічного шаблону концерну для забезпечення уніфікованого процесу публікації npm-пакетів у репозиторії-споживачі. Функція `patterns` забезпечує, що робочий процес включає необхідні параметри, при цьому ігноруючи каталоги `.github` та `.git`.
16
17
 
17
18
  ## Поведінка
18
19
 
19
- 1. `patterns` формує набір правил для підтримання узгодженого стану шаблонного workflow-файла `/.github/workflows/npm-publish.yml`.
20
- 2. `patterns` працює у режимі read-only: він не змінює ФС або БД.
21
- 3. `patterns` свідомо не охоплює шляхи `.github` і `.git`, щоб не зачіпати службові каталоги репозиторію.
22
- 4. `patterns` повертає готову конфігурацію для застосування до цільового файла, щоб стандартизувати його вміст у межах репозиторію.
20
+ 1. Приводить робочий процес (workflow) публікації npm-пакета в консюмер-репо до канонічного шаблону концерну шляхом застосування детермінованого патерну.
21
+ 2. Патерн працює з файлом `.github/workflows/npm-publish.yml`.
22
+ 3. Відсутні ключі в файлі додаються, а канонічні значення мають пріоритет; коментарі та ключі поза шаблоном не змінюються.
23
+ 4. Якщо вказаний файл не існує, він створюється на основі канонічного snippet-а.
24
+ 5. Процес не перевіряє шляхи `.github` та `.git`.
25
+ 6. Результат дії визначається масивом, експортованим через `patterns`.
26
+
27
+ ## Публічний API
28
+
29
+ - patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
30
+ `.github/workflows/npm-publish.yml` консюмер-репо — відсутні ключі додаються,
31
+ канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
32
+ чіпаються; якщо файлу немає — створюється зі snippet-а.
23
33
 
24
34
  ## Гарантії поведінки
25
35
 
26
- - Read-only: не виконує операцій запису (ФС/БД).
36
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
27
37
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/npm-module/npm_publish_yml
4
- resource: npm/rules/npm-module/npm_publish_yml/
3
+ title: plugins/ci-github/rules/npm-module/npm_publish_yml
4
+ resource: plugins/ci-github/rules/npm-module/npm_publish_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,15 @@
1
+ /**
2
+ * T0-фікс концерну npm_publish_yml: приводить workflow публікації npm-пакета
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.github/workflows/npm-publish.yml` консюмер-репо — відсутні ключі додаються,
10
+ * канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
11
+ * чіпаються; якщо файлу немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [
4
14
  createTemplateFixPattern({
5
15
  id: 'npm-module-npm_publish_yml-template',
@@ -3,25 +3,35 @@ type: JS Module
3
3
  title: fix-lint_php_yml.mjs
4
4
  resource: plugins/ci-github/rules/php/lint_php_yml/fix-lint_php_yml.mjs
5
5
  docgen:
6
- crc: 8b0d8995
7
- model: openai-codex/gpt-5.4-mini
6
+ crc: 0699f2b1
7
+ model: omlx/gemma-4-e4b-it-OptiQ-4bit
8
+ tier: local-min
8
9
  score: 100
9
- issues: judge:inaccurate:0.99
10
+ issues: judge:error
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- `patterns` описує правила для робочих шляхів у межах репозиторію та свідомо пропускає `.github` і `.git`. Функція працює read-only і не пише у ФС чи БД.
16
+ Приводить конфігурації CI-workflow для PHP-домену у консюмер-репозиторії до канонічного шаблону концерну `lint_php_yml`. Гарантує відповідність YAML-файлів лінту встановленому стандарту, додаючи відсутні ключі та застосовуючи канонічні значення, зберігаючи при цьому вихідні коментарі та ключі, що не входять до шаблону. Це забезпечує єдність збірки та лінтування в системі.
16
17
 
17
18
  ## Поведінка
18
19
 
19
- 1. `patterns` визначає набір правил для узгодженого виправлення шаблону `lint-php.yml` у межах репозиторію.
20
- 2. `patterns` орієнтований на підтримку одного цільового workflow-файлу в `.github/workflows/lint-php.yml`, свідомо обходячи службові шляхи `.github` і `.git`.
21
- 3. `patterns` працює в режимі read-only: він формує опис змін, але не виконує запис у файлову систему чи базу даних.
22
- 4. `patterns` потрібен для стандартизації та відновлення очікуваного стану workflow-конфігурації без втручання в інші частини проєкту.
20
+ 1. Перевіряє файли, що знаходяться у каталозі `.github/workflows/lint-php.yml`.
21
+ 2. Використовує `patterns` для застосування канонічного шаблону концерну `lint_php_yml` до цільового файлу.
22
+ 3. При застосуванні шаблону відсутні ключі додаються, а канонічні значення мають пріоритет.
23
+ 4. Коментарі та ключі, які знаходяться поза шаблоном, залишаються без змін.
24
+ 5. Якщо файл цільового шляху відсутній, він створюється на основі наданого snippet-а.
25
+ 6. Ігнорує шляхи `.github` та `.git` під час перевірки.
26
+
27
+ ## Публічний API
28
+
29
+ - patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
30
+ `.github/workflows/lint-php.yml` консюмер-репо — відсутні ключі додаються,
31
+ канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
32
+ чіпаються; якщо файлу немає — створюється зі snippet-а.
23
33
 
24
34
  ## Гарантії поведінки
25
35
 
26
- - Read-only: не виконує операцій запису (ФС/БД).
36
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
27
37
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/php/lint_php_yml
4
- resource: npm/rules/php/lint_php_yml/
3
+ title: plugins/ci-github/rules/php/lint_php_yml
4
+ resource: plugins/ci-github/rules/php/lint_php_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,15 @@
1
+ /**
2
+ * T0-фікс концерну lint_php_yml: приводить CI-workflow лінту php-домену
3
+ * у консюмер-репо до канонічного шаблону концерну.
4
+ */
1
5
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
6
 
7
+ /**
8
+ * Один детермінований патерн: deep-merge канонічного snippet-а концерну в
9
+ * `.github/workflows/lint-php.yml` консюмер-репо — відсутні ключі додаються,
10
+ * канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
11
+ * чіпаються; якщо файлу немає — створюється зі snippet-а.
12
+ */
3
13
  export const patterns = [
4
14
  createTemplateFixPattern({ id: 'php-lint_php_yml-template', targetPath: '.github/workflows/lint-php.yml' })
5
15
  ]
@@ -3,24 +3,37 @@ type: JS Module
3
3
  title: fix-lint_python_yml.mjs
4
4
  resource: plugins/ci-github/rules/python/lint_python_yml/fix-lint_python_yml.mjs
5
5
  docgen:
6
- crc: 0408d343
7
- model: openai-codex/gpt-5.4-mini
6
+ crc: 525f6959
7
+ model: openai-codex/gpt-5.5
8
+ tier: cloud-avg
8
9
  score: 100
9
- issues: judge:inaccurate:0.99
10
+ issues: judge:error
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- `patterns` описує стандартні правила для роботи з workflow-файлами у репозиторії, щоб узгоджувати очікувану поведінку перевірок. Модуль свідомо пропускає `.github` і `.git`, залишається read-only та не змінює файлову систему чи базу даних.
16
+ Файл декларує автофікс для `python/lint_python_yml`: scaffold відсутнього `.github/workflows/lint-python.yml` з канонічного шаблону правила та `template-deep-merge` для наявного workflow. Він потрібен, щоб дописувати лише канонічні поля для Python lint у GitHub Actions і зберігати локальні налаштування проєкту.
17
+
18
+ Публічна точка входу: `patterns`. Свідомо пропущені шляхи: `.github`, `.git`. Власних операцій запису у файлі немає.
16
19
 
17
20
  ## Поведінка
18
21
 
19
- 1. `patterns` формує перелік стандартних правил виправлення для `lint-python.yml`, щоб уніфікувати структуру цього workflow-файла.
20
- 2. Під час роботи орієнтується на цільовий шлях `.github/workflows/lint-python.yml` і свідомо не зачіпає `.github` та `.git`.
21
- 3. Працює в read-only режимі: сам не змінює файлову систему чи базу даних, а лише описує, що треба виправити.
22
+ 1. `patterns` оголошує автофікс для правила `python/lint_python_yml`, щоб репозиторій отримував канонічний GitHub Actions workflow для Python lint.
23
+
24
+ 2. Якщо `.github/workflows/lint-python.yml` відсутній, автофікс має створити його з шаблону правила.
25
+
26
+ 3. Якщо workflow уже існує, автофікс має доповнити його лише канонічними полями правила, не прибираючи локальні налаштування проєкту.
27
+
28
+ 4. Правило свідомо не обходить службові шляхи `.github` і `.git`, але працює з цільовим workflow-файлом як із винятком для підтримки потрібної CI-конфігурації.
29
+
30
+ 5. Файл лише декларує поведінку автофікса через `patterns`; власних операцій запису не виконує.
31
+
32
+ ## Публічний API
33
+
34
+ - patterns — Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-python.yml`.
22
35
 
23
36
  ## Гарантії поведінки
24
37
 
25
- - Read-only: не виконує операцій запису (ФС/БД).
38
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
26
39
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/python/lint_python_yml
4
- resource: npm/rules/python/lint_python_yml/
3
+ title: plugins/ci-github/rules/python/lint_python_yml
4
+ resource: plugins/ci-github/rules/python/lint_python_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,11 @@
1
+ /**
2
+ * T0-autofix концерну `python/lint_python_yml`: деклараційний template-deep-merge —
3
+ * scaffold відсутнього `.github/workflows/lint-python.yml` з канонічного шаблону правила або
4
+ * дописування в наявний файл лише канонічних полів (локальні — зберігаються).
5
+ */
1
6
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
7
 
8
+ /** Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-python.yml`. */
3
9
  export const patterns = [
4
10
  createTemplateFixPattern({ id: 'python-lint_python_yml-template', targetPath: '.github/workflows/lint-python.yml' })
5
11
  ]
@@ -3,25 +3,35 @@ type: JS Module
3
3
  title: fix-lint_rust_yml.mjs
4
4
  resource: plugins/ci-github/rules/rust/lint_rust_yml/fix-lint_rust_yml.mjs
5
5
  docgen:
6
- crc: f61fcaec
7
- model: openai-codex/gpt-5.4-mini
6
+ crc: 4312b7ec
7
+ model: openai-codex/gpt-5.5
8
+ tier: cloud-avg
8
9
  score: 100
9
- issues: judge:inaccurate:0.99
10
+ issues: judge-refine:kept-original,judge:inaccurate:0.99
10
11
  judgeModel: openai-codex/gpt-5.4-mini
11
12
  ---
12
13
 
13
14
  ## Огляд
14
15
 
15
- Функція `patterns` описує правила для вибірки шляхів і логів, пов’язаних із Rust lint-конфігурацією, зокрема для `lint-rust.yml` та `workflow path filter`. Вона свідомо не охоплює `.github` і `.git`, щоб не зачіпати службові та внутрішні шляхи. Поведінка read-only: лише читає дані й формує результат без запису у ФС чи БД.
16
+ Файл описує T0-autofix для `rust/lint_rust_yml`: scaffold відсутнього `.github/workflows/lint-rust.yml` з канонічного шаблону правила або `template-deep-merge` канонічних полів у наявний workflow зі збереженням локальних налаштувань.
17
+
18
+ Публічна функція `patterns` декларує цю поведінку для правила. Обхід свідомо пропускає шляхи `.github` і `.git`, щоб не аналізувати службові директорії як джерела проєктного Rust-коду.
16
19
 
17
20
  ## Поведінка
18
21
 
19
- 1. `patterns` формує набір правил для автоматичного виправлення lint-конфігурації Rust.
20
- 2. `patterns` цільово охоплює workflow-файл `.github/workflows/lint-rust.yml`, щоб підтримувати його в узгодженому стані.
21
- 3. `patterns` працює read-only щодо сховища: не змінює ФС чи БД, а лише описує, що саме треба виправити.
22
- 4. `patterns` свідомо не зачіпає `.github` і `.git` як окремі шляхи поза визначеним цільовим файлом.
22
+ 1. `patterns` оголошує єдиний сценарій autofix для Rust lint workflow.
23
+
24
+ 2. Сценарій створює відсутній `.github/workflows/lint-rust.yml` за канонічним шаблоном правила, щоб проєкт мав стандартну GitHub Actions перевірку Rust lint.
25
+
26
+ 3. Якщо workflow уже існує, сценарій доповнює його лише канонічними полями, зберігаючи локальні налаштування проєкту.
27
+
28
+ 4. Autofix свідомо не обходить службові шляхи `.github` і `.git` як звичайні цілі аналізу; `.github/workflows/lint-rust.yml` використовується лише як визначений цільовий workflow-файл.
29
+
30
+ ## Публічний API
31
+
32
+ - patterns — Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-rust.yml`.
23
33
 
24
34
  ## Гарантії поведінки
25
35
 
26
- - Read-only: не виконує операцій запису (ФС/БД).
36
+ - Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
27
37
  - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/rust/lint_rust_yml
4
- resource: npm/rules/rust/lint_rust_yml/
3
+ title: plugins/ci-github/rules/rust/lint_rust_yml
4
+ resource: plugins/ci-github/rules/rust/lint_rust_yml/
5
5
  ---
6
6
 
7
7
  | Файл | Тип |
@@ -1,5 +1,11 @@
1
+ /**
2
+ * T0-autofix концерну `rust/lint_rust_yml`: деклараційний template-deep-merge —
3
+ * scaffold відсутнього `.github/workflows/lint-rust.yml` з канонічного шаблону правила або
4
+ * дописування в наявний файл лише канонічних полів (локальні — зберігаються).
5
+ */
1
6
  import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
2
7
 
8
+ /** Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-rust.yml`. */
3
9
  export const patterns = [
4
10
  createTemplateFixPattern({ id: 'rust-lint_rust_yml-template', targetPath: '.github/workflows/lint-rust.yml' })
5
11
  ]
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  type: Directory Index
3
- title: npm/rules/rust/toolchain_cache
4
- resource: npm/rules/rust/toolchain_cache/
3
+ title: plugins/ci-github/rules/rust/toolchain_cache
4
+ resource: plugins/ci-github/rules/rust/toolchain_cache/
5
5
  ---
6
6
 
7
- # npm/rules/rust/toolchain_cache
8
-
9
7
  | Файл | Тип |
10
8
  | ------------------------------------------------- | --------- |
11
9
  | [fix-toolchain_cache.mjs](fix-toolchain_cache.md) | JS Module |