@7n/rules 1.3.1 → 1.4.0

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 (95) hide show
  1. package/.pi-template/extensions/docs/index.md +9 -0
  2. package/.pi-template/extensions/docs/rtk.md +33 -0
  3. package/.pi-template/extensions/rtk.ts +102 -0
  4. package/CHANGELOG.md +12 -0
  5. package/bin/n-rules.js +1 -0
  6. package/docs/index.md +0 -2
  7. package/docs/vitest.config.md +1 -1
  8. package/package.json +1 -1
  9. package/rules/abie/clean_merged_ignore_branches/docs/fix-clean_merged_ignore_branches.md +31 -0
  10. package/rules/abie/clean_merged_ignore_branches/docs/index.md +9 -0
  11. package/rules/abie/clean_merged_ignore_branches/fix-clean_merged_ignore_branches.mjs +6 -1
  12. package/rules/docker/lint_docker_yml/docs/fix-lint_docker_yml.md +31 -0
  13. package/rules/docker/lint_docker_yml/docs/index.md +9 -0
  14. package/rules/docker/lint_docker_yml/fix-lint_docker_yml.mjs +3 -1
  15. package/rules/ga/clean_ga_workflows/docs/fix-clean_ga_workflows.md +33 -0
  16. package/rules/ga/clean_ga_workflows/docs/index.md +9 -0
  17. package/rules/ga/clean_ga_workflows/fix-clean_ga_workflows.mjs +6 -1
  18. package/rules/ga/clean_merged_branch/docs/fix-clean_merged_branch.md +27 -0
  19. package/rules/ga/clean_merged_branch/docs/index.md +9 -0
  20. package/rules/ga/clean_merged_branch/fix-clean_merged_branch.mjs +6 -1
  21. package/rules/ga/git_ai/docs/fix-git_ai.md +30 -0
  22. package/rules/ga/git_ai/docs/index.md +9 -0
  23. package/rules/ga/git_ai/fix-git_ai.mjs +3 -1
  24. package/rules/ga/lint_ga/docs/fix-lint_ga.md +32 -0
  25. package/rules/ga/lint_ga/docs/index.md +9 -0
  26. package/rules/ga/lint_ga/fix-lint_ga.mjs +3 -1
  27. package/rules/ga/vscode_settings/docs/fix-vscode_settings.md +26 -0
  28. package/rules/ga/vscode_settings/docs/index.md +9 -0
  29. package/rules/ga/vscode_settings/fix-vscode_settings.mjs +3 -1
  30. package/rules/ga/zizmor_yml/docs/fix-zizmor_yml.md +28 -0
  31. package/rules/ga/zizmor_yml/docs/index.md +9 -0
  32. package/rules/js/jscpd_config/docs/fix-jscpd_config.md +26 -0
  33. package/rules/js/jscpd_config/docs/index.md +9 -0
  34. package/rules/js/lint_js_yml/docs/fix-lint_js_yml.md +28 -0
  35. package/rules/js/lint_js_yml/docs/index.md +9 -0
  36. package/rules/js/package_json/docs/fix-package_json.md +26 -0
  37. package/rules/js/package_json/docs/index.md +9 -0
  38. package/rules/js/tooling/data/tooling/knip-canonical.json +1 -0
  39. package/rules/k8s/lint_k8s_yml/docs/fix-lint_k8s_yml.md +30 -0
  40. package/rules/k8s/lint_k8s_yml/docs/index.md +9 -0
  41. package/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs +3 -1
  42. package/rules/local-ai/main.json +1 -0
  43. package/rules/local-ai/main.mdc +85 -0
  44. package/rules/npm-module/emit_types_config/docs/fix-emit_types_config.md +25 -0
  45. package/rules/npm-module/emit_types_config/docs/index.md +9 -0
  46. package/rules/npm-module/emit_types_config/fix-emit_types_config.mjs +3 -1
  47. package/rules/npm-module/npm_package_json/docs/fix-npm_package_json.md +27 -0
  48. package/rules/npm-module/npm_package_json/docs/index.md +9 -0
  49. package/rules/npm-module/npm_package_json/fix-npm_package_json.mjs +3 -1
  50. package/rules/npm-module/npm_publish_yml/docs/fix-npm_publish_yml.md +28 -0
  51. package/rules/npm-module/npm_publish_yml/docs/index.md +9 -0
  52. package/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs +4 -1
  53. package/rules/npm-module/root_package_json/docs/fix-root_package_json.md +26 -0
  54. package/rules/npm-module/root_package_json/docs/index.md +9 -0
  55. package/rules/npm-module/root_package_json/fix-root_package_json.mjs +3 -1
  56. package/rules/php/lint_php_yml/docs/fix-lint_php_yml.md +28 -0
  57. package/rules/php/lint_php_yml/docs/index.md +9 -0
  58. package/rules/php/lint_php_yml/fix-lint_php_yml.mjs +3 -1
  59. package/rules/python/lint_python_yml/docs/fix-lint_python_yml.md +27 -0
  60. package/rules/python/lint_python_yml/docs/index.md +9 -0
  61. package/rules/python/lint_python_yml/fix-lint_python_yml.mjs +3 -1
  62. package/rules/rego/vscode_settings/docs/fix-vscode_settings.md +27 -0
  63. package/rules/rego/vscode_settings/docs/index.md +9 -0
  64. package/rules/rego/vscode_settings/fix-vscode_settings.mjs +3 -1
  65. package/rules/rust/lint_rust_yml/docs/fix-lint_rust_yml.md +28 -0
  66. package/rules/rust/lint_rust_yml/docs/index.md +9 -0
  67. package/rules/security/lint_security_yml/docs/fix-lint_security_yml.md +31 -0
  68. package/rules/security/lint_security_yml/docs/index.md +9 -0
  69. package/rules/security/lint_security_yml/fix-lint_security_yml.mjs +6 -1
  70. package/rules/style/lint_style_yml/docs/fix-lint_style_yml.md +31 -0
  71. package/rules/style/lint_style_yml/docs/index.md +9 -0
  72. package/rules/style/lint_style_yml/fix-lint_style_yml.mjs +3 -1
  73. package/rules/style/package_json/docs/fix-package_json.md +27 -0
  74. package/rules/style/package_json/docs/index.md +9 -0
  75. package/rules/style/vscode_settings/docs/fix-vscode_settings.md +27 -0
  76. package/rules/style/vscode_settings/docs/index.md +9 -0
  77. package/rules/style/vscode_settings/fix-vscode_settings.mjs +3 -1
  78. package/rules/text/lint_text/docs/fix-lint_text.md +28 -0
  79. package/rules/text/lint_text/docs/index.md +9 -0
  80. package/rules/text/oxfmtrc/docs/fix-oxfmtrc.md +26 -0
  81. package/rules/text/oxfmtrc/docs/index.md +9 -0
  82. package/rules/text/vscode_settings/docs/fix-vscode_settings.md +27 -0
  83. package/rules/text/vscode_settings/docs/index.md +9 -0
  84. package/rules/text/vscode_settings/fix-vscode_settings.mjs +3 -1
  85. package/rules/worktree/vscode_settings/docs/fix-vscode_settings.md +28 -0
  86. package/rules/worktree/vscode_settings/docs/index.md +9 -0
  87. package/rules/worktree/zed_settings/docs/fix-zed_settings.md +28 -0
  88. package/rules/worktree/zed_settings/docs/index.md +9 -0
  89. package/rules/worktree/zed_settings/fix-zed_settings.mjs +3 -1
  90. package/scripts/docs/skills-cli.md +1 -1
  91. package/scripts/docs/sync-claude-config.md +9 -4
  92. package/scripts/lib/fix/docs/index.md +4 -5
  93. package/scripts/lib/fix/docs/template-deep-merge.md +35 -0
  94. package/scripts/skills-cli.mjs +15 -4
  95. package/scripts/sync-claude-config.mjs +145 -36
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js/jscpd_config
4
+ resource: npm/rules/js/jscpd_config/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------- | --------- |
9
+ | [fix-jscpd_config.mjs](fix-jscpd_config.md) | JS Module |
@@ -0,0 +1,28 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-lint_js_yml.mjs
4
+ resource: npm/rules/js/lint_js_yml/fix-lint_js_yml.mjs
5
+ docgen:
6
+ crc: 39aecc30
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.99
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` — read-only набір правил для аналізу й уніфікації JavaScript lint-конфігурації в межах доступних шляхів. Він свідомо пропускає `.github` і `.git`, щоб не зачіпати службові та git-специфічні файли.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` формує набір правил для виправлення lint-конфігурації JavaScript-проєкту.
21
+ 2. Для кожного правила прив’язує оновлення до цільового workflow-файлу `.github/workflows/lint-js.yml`.
22
+ 3. У межах своєї роботи свідомо не зачіпає `.github` і `.git`, щоб уникати змін у службових та внутрішніх областях.
23
+ 4. Працює в read-only режимі щодо ФС і БД: сам нічого не записує, а лише описує, що треба виправити.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
28
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js/lint_js_yml
4
+ resource: npm/rules/js/lint_js_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ----------------------------------------- | --------- |
9
+ | [fix-lint_js_yml.mjs](fix-lint_js_yml.md) | JS Module |
@@ -0,0 +1,26 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-package_json.mjs
4
+ resource: npm/rules/js/package_json/fix-package_json.mjs
5
+ docgen:
6
+ crc: 048fe1b5
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.98
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` забезпечує перевірку й звірку `package.json` з очікуваним шаблоном цього проєкту. Модуль читає `package.json` як основний конфіг, на який спирається код, і використовується для оцінки відповідності структури та вмісту файла вимогам проєкту. Робота read-only: змін у файловій системі чи базі даних не вносить.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` надає набір правил, які приводять `package.json` до очікуваного шаблону для цього проєкту.
21
+ 2. Кожне правило орієнтується на конфігурацію `package.json` і застосовується до нього як до цільового файлу.
22
+ 3. `patterns` використовується як публічна точка входу для перевірки й вирівнювання структури `package.json` без змін у файловій системі чи базі даних.
23
+
24
+ ## Гарантії поведінки
25
+
26
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/js/package_json
4
+ resource: npm/rules/js/package_json/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------- | --------- |
9
+ | [fix-package_json.mjs](fix-package_json.md) | JS Module |
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://unpkg.com/knip@5/schema.json",
3
3
  "entry": [
4
+ ".pi/extensions/**/*.ts",
4
5
  "eslint.config.{js,mjs,cjs}",
5
6
  "stylelint.config.{js,cjs,mjs}",
6
7
  "oxlint.config.{js,mjs}",
@@ -0,0 +1,30 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-lint_k8s_yml.mjs
4
+ resource: npm/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs
5
+ docgen:
6
+ crc: 220f0740
7
+ model: openai-codex/gpt-5.5
8
+ score: 100
9
+ issues: judge:inaccurate:0.98
10
+ judgeModel: openai-codex/gpt-5.4-mini
11
+ ---
12
+
13
+ ## Огляд
14
+
15
+ Надає `patterns` як read-only опис очікуваних збігів для перевірки репозиторію без змін у файловій системі чи інших сховищах. Свідомо пропускає `.github` і `.git`, щоб не аналізувати службові шляхи та зосереджувати перевірку на релевантному вмісті.
16
+
17
+ ## Поведінка
18
+
19
+ 1. `patterns` оголошує набір правил автоматичного виправлення для workflow перевірки Kubernetes YAML.
20
+
21
+ 2. `patterns` забезпечує наявність стандартного шаблону `.github/workflows/lint-k8s.yml`, щоб репозиторій мав узгоджену CI-перевірку Kubernetes-маніфестів.
22
+
23
+ 3. `patterns` працює як read-only опис очікуваного виправлення: сам файл не виконує запис у файлову систему чи базу даних.
24
+
25
+ 4. `patterns` свідомо не охоплює обходом службові шляхи `.github` і `.git`; цільовий workflow у `.github/workflows/lint-k8s.yml` задається як конкретний шаблонний артефакт.
26
+
27
+ ## Гарантії поведінки
28
+
29
+ - Read-only: не виконує операцій запису (ФС/БД).
30
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/k8s/lint_k8s_yml
4
+ resource: npm/rules/k8s/lint_k8s_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------- | --------- |
9
+ | [fix-lint_k8s_yml.mjs](fix-lint_k8s_yml.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'k8s-lint_k8s_yml-template', targetPath: '.github/workflows/lint-k8s.yml' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'k8s-lint_k8s_yml-template', targetPath: '.github/workflows/lint-k8s.yml' })
5
+ ]
@@ -0,0 +1 @@
1
+ { "auto": "завжди" }
@@ -0,0 +1,85 @@
1
+ ---
2
+ description: Локальні AI-інструменти на машині розробника — rtk (Rust Token Killer) стискає вивід CLI-команд на 60–90% токенів; агенти застосовують rtk автоматично через hooks, установка лише `brew install rtk-ai/tap/rtk`
3
+ alwaysApply: true
4
+ version: '1.0'
5
+ ---
6
+
7
+ Правило `local-ai` інтегрує локальні AI-інструменти розробника. Зараз покриває **rtk** —
8
+ компресор виводу CLI-команд (тести, git, build: 60–90% економії токенів). Розраховане на
9
+ розширення іншими локальними інструментами в майбутньому.
10
+
11
+ ## Установка (єдиний крок користувача)
12
+
13
+ ```bash
14
+ brew install rtk-ai/tap/rtk
15
+ ```
16
+
17
+ Більше нічого: hook-записи і extension нижче вставляє sync пакета, і всі вони **fail-open** —
18
+ без установленого rtk мовчки пропускають команди без змін. `rtk init` запускати не треба.
19
+
20
+ ## Як агенту користуватись rtk
21
+
22
+ - Клієнти з rewrite-hook — **Claude Code, Cursor, pi** — переписують shell-команди на
23
+ rtk-еквіваленти автоматично (див. канонічні записи нижче); робити нічого не треба.
24
+ - Агенти без rewrite-hook (Codex тощо): якщо `command -v rtk` успішний — додавай префікс
25
+ `rtk` до команд: `rtk git status`, `rtk vitest`, `rtk tsc`, у ланцюжках теж
26
+ (`rtk git add … && rtk git commit …`). Невідомі rtk команди проходять без змін
27
+ (passthrough), тож префікс безпечний. Не дублюй префікс для команд, що вже починаються з `rtk`.
28
+ - Разово вимкнути переписування: `RTK_DISABLED=1` в env; запуск без фільтра —
29
+ `rtk proxy <cmd>`; статистика заощаджень — `rtk gain`.
30
+
31
+ ## Канонічні записи (вставляє sync, коли правило увімкнене)
32
+
33
+ ### `.claude/settings.json` — PreToolUse
34
+
35
+ ```json
36
+ {
37
+ "hooks": {
38
+ "PreToolUse": [
39
+ {
40
+ "matcher": "Bash",
41
+ "hooks": [
42
+ {
43
+ "type": "command",
44
+ "command": "command -v rtk >/dev/null 2>&1 && exec rtk hook claude; exit 0",
45
+ "timeout": 30
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ }
51
+ }
52
+ ```
53
+
54
+ Без rtk hook завершується `exit 0` без виводу — Claude Code виконує команду як є.
55
+
56
+ ### `.cursor/hooks.json` — preToolUse
57
+
58
+ ```json
59
+ {
60
+ "version": 1,
61
+ "hooks": {
62
+ "preToolUse": [
63
+ {
64
+ "command": "bash -lc 'command -v rtk >/dev/null 2>&1 && exec rtk hook cursor; echo \"{}\"'",
65
+ "matcher": "Shell",
66
+ "timeout": 30
67
+ }
68
+ ]
69
+ }
70
+ }
71
+ ```
72
+
73
+ Cursor вимагає JSON-вивід на всіх шляхах — без rtk hook відповідає `{}` (passthrough).
74
+
75
+ ### `.pi/extensions/rtk.ts`
76
+
77
+ Vendored extension зі складу rtk (`rtk init --agent pi` генерує ідентичний файл у той самий
78
+ шлях — повторна установка ідемпотентна). Тонкий делегат: на `tool_call` bash викликає
79
+ `rtk rewrite <cmd>`; сам вимикається, якщо rtk відсутній або старіший за 0.23.0.
80
+
81
+ ## Вимкнення
82
+
83
+ `disable-rules: ["local-ai"]` у `.n-rules.json` — наступний sync прибере hook-записи з
84
+ `.claude/settings.json` і `.cursor/hooks.json` та видалить `.pi/extensions/rtk.ts`
85
+ (включно з установленим вручну через `rtk init --agent pi` — шлях спільний).
@@ -0,0 +1,25 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-emit_types_config.mjs
4
+ resource: npm/rules/npm-module/emit_types_config/fix-emit_types_config.mjs
5
+ docgen:
6
+ crc: ada42c60
7
+ model: openai-codex/gpt-5.4-mini
8
+ score: 100
9
+ issues: judge:inaccurate:0.99
10
+ judgeModel: openai-codex/gpt-5.4-mini
11
+ ---
12
+
13
+ ## Огляд
14
+
15
+ `patterns` читає `tsconfig.emit-types.json` як базовий конфіг, щоб перевіряти й підтримувати узгодженість шаблонного правила для emit-types. Це read-only джерело поведінки: воно формує очікування для контракту конфіга без записів у ФС чи БД.
16
+
17
+ ## Поведінка
18
+
19
+ 1. `patterns` визначає набір правил для синхронізації шаблонного конфіга `tsconfig.emit-types.json` у `npm/tsconfig.emit-types.json`.
20
+ 2. `patterns` слугує джерелом одного цільового виправлення для підтримки узгодженості між базовим конфігом і npm-варіантом.
21
+ 3. `patterns` не виконує запис у файлову систему чи базу даних самостійно; воно лише описує, що саме має бути виправлено.
22
+
23
+ ## Гарантії поведінки
24
+
25
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module/emit_types_config
4
+ resource: npm/rules/npm-module/emit_types_config/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ----------------------------------------------------- | --------- |
9
+ | [fix-emit_types_config.mjs](fix-emit_types_config.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'npm-module-emit_types_config-template', targetPath: 'npm/tsconfig.emit-types.json' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'npm-module-emit_types_config-template', targetPath: 'npm/tsconfig.emit-types.json' })
5
+ ]
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-npm_package_json.mjs
4
+ resource: npm/rules/npm-module/npm_package_json/fix-npm_package_json.mjs
5
+ docgen:
6
+ crc: 8bdbe356
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.96
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` формує узгоджений набір правил для `package.json`, щоб проєктні package-файли лишалися в очікуваному стані за контрактом, який спирається на конфіг з `package.json`. Read-only: не пише у ФС чи БД.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` визначає набір правил для вирівнювання `npm/package.json` з еталонним шаблоном.
21
+ 2. Під час застосування кожне правило бере до уваги конфігурацію з `package.json` і використовує її як основу для корекції цільового файлу.
22
+ 3. Мета `patterns` — забезпечити однакову структуру й очікуваний вміст `npm/package.json` у межах проєкту.
23
+ 4. Значення `patterns` не виконує записів у файлову систему чи базу даних; воно лише описує, що і як має бути приведено до узгодженого стану.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module/npm_package_json
4
+ resource: npm/rules/npm-module/npm_package_json/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | --------------------------------------------------- | --------- |
9
+ | [fix-npm_package_json.mjs](fix-npm_package_json.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'npm-module-npm_package_json-template', targetPath: 'npm/package.json' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'npm-module-npm_package_json-template', targetPath: 'npm/package.json' })
5
+ ]
@@ -0,0 +1,28 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-npm_publish_yml.mjs
4
+ resource: npm/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs
5
+ docgen:
6
+ crc: 6db6decf
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.98
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` визначає правила зіставлення вмісту для `/.github/workflows/npm-publish.yml` у межах репозиторію. Файл потрібен, щоб узгоджувати цей workflow із очікуваною структурою та вмістом.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` формує набір правил для підтримання узгодженого стану шаблонного workflow-файла `/.github/workflows/npm-publish.yml`.
21
+ 2. `patterns` працює у режимі read-only: він не змінює ФС або БД.
22
+ 3. `patterns` свідомо не охоплює шляхи `.github` і `.git`, щоб не зачіпати службові каталоги репозиторію.
23
+ 4. `patterns` повертає готову конфігурацію для застосування до цільового файла, щоб стандартизувати його вміст у межах репозиторію.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
28
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module/npm_publish_yml
4
+ resource: npm/rules/npm-module/npm_publish_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------------- | --------- |
9
+ | [fix-npm_publish_yml.mjs](fix-npm_publish_yml.md) | JS Module |
@@ -1,5 +1,8 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
3
  export const patterns = [
4
- createTemplateFixPattern({ id: 'npm-module-npm_publish_yml-template', targetPath: '.github/workflows/npm-publish.yml' })
4
+ createTemplateFixPattern({
5
+ id: 'npm-module-npm_publish_yml-template',
6
+ targetPath: '.github/workflows/npm-publish.yml'
7
+ })
5
8
  ]
@@ -0,0 +1,26 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-root_package_json.mjs
4
+ resource: npm/rules/npm-module/root_package_json/fix-root_package_json.mjs
5
+ docgen:
6
+ crc: 8181dffe
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.97
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` перевіряє кореневий `package.json` на відповідність еталонному шаблону npm-module і використовується для контролю очікуваної структури цього конфіга. Публічна функція: `patterns`. Конфіг, на який спирається код: `package.json`.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` визначає набір правил, які звіряють кореневий `package.json` з еталонним шаблоном для npm-module.
21
+ 2. Кожне правило в цьому наборі націлене на `package.json` і використовується для вирівнювання кореневого конфіга з очікуваною структурою проєкту.
22
+ 3. `patterns` потрібен, щоб централізовано підтримувати однаковий формат root `package.json` у межах цього типу пакета.
23
+
24
+ ## Гарантії поведінки
25
+
26
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/npm-module/root_package_json
4
+ resource: npm/rules/npm-module/root_package_json/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ----------------------------------------------------- | --------- |
9
+ | [fix-root_package_json.mjs](fix-root_package_json.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'npm-module-root_package_json-template', targetPath: 'package.json' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'npm-module-root_package_json-template', targetPath: 'package.json' })
5
+ ]
@@ -0,0 +1,28 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-lint_php_yml.mjs
4
+ resource: npm/rules/php/lint_php_yml/fix-lint_php_yml.mjs
5
+ docgen:
6
+ crc: d0335dac
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.99
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` описує правила для робочих шляхів у межах репозиторію та свідомо пропускає `.github` і `.git`. Функція працює read-only і не пише у ФС чи БД.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` визначає набір правил для узгодженого виправлення шаблону `lint-php.yml` у межах репозиторію.
21
+ 2. `patterns` орієнтований на підтримку одного цільового workflow-файлу в `.github/workflows/lint-php.yml`, свідомо обходячи службові шляхи `.github` і `.git`.
22
+ 3. `patterns` працює в режимі read-only: він формує опис змін, але не виконує запис у файлову систему чи базу даних.
23
+ 4. `patterns` потрібен для стандартизації та відновлення очікуваного стану workflow-конфігурації без втручання в інші частини проєкту.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
28
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/php/lint_php_yml
4
+ resource: npm/rules/php/lint_php_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------- | --------- |
9
+ | [fix-lint_php_yml.mjs](fix-lint_php_yml.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'php-lint_php_yml-template', targetPath: '.github/workflows/lint-php.yml' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'php-lint_php_yml-template', targetPath: '.github/workflows/lint-php.yml' })
5
+ ]
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-lint_python_yml.mjs
4
+ resource: npm/rules/python/lint_python_yml/fix-lint_python_yml.mjs
5
+ docgen:
6
+ crc: 9ad8fb17
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.99
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ `patterns` описує стандартні правила для роботи з workflow-файлами у репозиторії, щоб узгоджувати очікувану поведінку перевірок. Модуль свідомо пропускає `.github` і `.git`, залишається read-only та не змінює файлову систему чи базу даних.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` формує перелік стандартних правил виправлення для `lint-python.yml`, щоб уніфікувати структуру цього workflow-файла.
21
+ 2. Під час роботи орієнтується на цільовий шлях `.github/workflows/lint-python.yml` і свідомо не зачіпає `.github` та `.git`.
22
+ 3. Працює в read-only режимі: сам не змінює файлову систему чи базу даних, а лише описує, що треба виправити.
23
+
24
+ ## Гарантії поведінки
25
+
26
+ - Read-only: не виконує операцій запису (ФС/БД).
27
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/python/lint_python_yml
4
+ resource: npm/rules/python/lint_python_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------------- | --------- |
9
+ | [fix-lint_python_yml.mjs](fix-lint_python_yml.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'python-lint_python_yml-template', targetPath: '.github/workflows/lint-python.yml' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'python-lint_python_yml-template', targetPath: '.github/workflows/lint-python.yml' })
5
+ ]
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-vscode_settings.mjs
4
+ resource: npm/rules/rego/vscode_settings/fix-vscode_settings.mjs
5
+ docgen:
6
+ crc: ee88ec44
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.96
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ Файл визначає `patterns` для приведення settings.json до узгодженого вигляду в проєкті, щоб налаштування редактора залишалися однаковими між середовищами. Він працює лише з цим конфігом, є read-only і не вносить змін у ФС чи БД; застосування результату лишається зовнішньому кроку.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` формує набір правил для приведення `.vscode/settings.json` до узгодженого шаблону `rego-vscode_settings-template`.
21
+ 2. `patterns` працює лише з конфігурацією редактора, спираючись на `settings.json`, щоб підтримувати однакові налаштування в проєкті.
22
+ 3. `patterns` не виконує записів у ФС чи БД; результатом є опис поведінки для застосування змін зовні.
23
+ 4. `patterns` охоплює лише вказаний цільовий файл і не заявляє перевірку інших шляхів.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/rego/vscode_settings
4
+ resource: npm/rules/rego/vscode_settings/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | ------------------------------------------------- | --------- |
9
+ | [fix-vscode_settings.mjs](fix-vscode_settings.md) | JS Module |
@@ -1,3 +1,5 @@
1
1
  import { createTemplateFixPattern } from '../../../scripts/lib/fix/template-deep-merge.mjs'
2
2
 
3
- export const patterns = [createTemplateFixPattern({ id: 'rego-vscode_settings-template', targetPath: '.vscode/settings.json' })]
3
+ export const patterns = [
4
+ createTemplateFixPattern({ id: 'rego-vscode_settings-template', targetPath: '.vscode/settings.json' })
5
+ ]
@@ -0,0 +1,28 @@
1
+ ---
2
+ type: JS Module
3
+ title: fix-lint_rust_yml.mjs
4
+ resource: npm/rules/rust/lint_rust_yml/fix-lint_rust_yml.mjs
5
+ docgen:
6
+ crc: f9900918
7
+ model: openai-codex/gpt-5.4-mini
8
+ tier: cloud-min
9
+ score: 100
10
+ issues: judge:inaccurate:0.99
11
+ judgeModel: openai-codex/gpt-5.4-mini
12
+ ---
13
+
14
+ ## Огляд
15
+
16
+ Функція `patterns` описує правила для вибірки шляхів і логів, пов’язаних із Rust lint-конфігурацією, зокрема для `lint-rust.yml` та `workflow path filter`. Вона свідомо не охоплює `.github` і `.git`, щоб не зачіпати службові та внутрішні шляхи. Поведінка read-only: лише читає дані й формує результат без запису у ФС чи БД.
17
+
18
+ ## Поведінка
19
+
20
+ 1. `patterns` формує набір правил для автоматичного виправлення lint-конфігурації Rust.
21
+ 2. `patterns` цільово охоплює workflow-файл `.github/workflows/lint-rust.yml`, щоб підтримувати його в узгодженому стані.
22
+ 3. `patterns` працює read-only щодо сховища: не змінює ФС чи БД, а лише описує, що саме треба виправити.
23
+ 4. `patterns` свідомо не зачіпає `.github` і `.git` як окремі шляхи поза визначеним цільовим файлом.
24
+
25
+ ## Гарантії поведінки
26
+
27
+ - Read-only: не виконує операцій запису (ФС/БД).
28
+ - Свідомо пропускає шляхи: `.github`, `.git`.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Directory Index
3
+ title: npm/rules/rust/lint_rust_yml
4
+ resource: npm/rules/rust/lint_rust_yml/
5
+ ---
6
+
7
+ | Файл | Тип |
8
+ | --------------------------------------------- | --------- |
9
+ | [fix-lint_rust_yml.mjs](fix-lint_rust_yml.md) | JS Module |