dsh-desktop-kit 0.0.0-stage → 1.0.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 (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -2
  3. package/client.js +3349 -0
  4. package/cordis.patch.yml +5 -0
  5. package/index.js +80 -0
  6. package/package.json +60 -4
  7. package/plugins/dsh-gkb-ru-ui/cordis.patch.yml +6 -0
  8. package/plugins/dsh-gkb-ru-ui/lib/client.js +1083 -0
  9. package/plugins/dsh-gkb-ru-ui/lib/index.js +142 -0
  10. package/plugins/dsh-gkb-ru-ui/lib/skills.js +376 -0
  11. package/plugins/dsh-gkb-ru-ui/package.json +28 -0
  12. package/plugins/dsh-peak-guard/README.md +70 -0
  13. package/plugins/dsh-peak-guard/client.js +741 -0
  14. package/plugins/dsh-peak-guard/cordis.patch.yml +5 -0
  15. package/plugins/dsh-peak-guard/icon.svg +12 -0
  16. package/plugins/dsh-peak-guard/index.js +2 -0
  17. package/plugins/dsh-peak-guard/locale/en.json +6 -0
  18. package/plugins/dsh-peak-guard/locale/ru.json +6 -0
  19. package/plugins/dsh-peak-guard/locale/zh.json +6 -0
  20. package/plugins/dsh-peak-guard/package.json +33 -0
  21. package/plugins/dsh-profile-transfer/README.md +62 -0
  22. package/plugins/dsh-profile-transfer/bootstrap/01-INSTALL.cmd +7 -0
  23. package/plugins/dsh-profile-transfer/bootstrap/README-ARCHIVE.md +54 -0
  24. package/plugins/dsh-profile-transfer/bootstrap/README-/320/243/320/241/320/242/320/220/320/235/320/236/320/222/320/232/320/220.md +42 -0
  25. package/plugins/dsh-profile-transfer/bootstrap/install-on-clean-machine.ps1 +119 -0
  26. package/plugins/dsh-profile-transfer/bootstrap//320/243/320/241/320/242/320/220/320/235/320/236/320/222/320/230/320/242/320/254.cmd +5 -0
  27. package/plugins/dsh-profile-transfer/client.js +806 -0
  28. package/plugins/dsh-profile-transfer/cordis.patch.yml +3 -0
  29. package/plugins/dsh-profile-transfer/icon.svg +13 -0
  30. package/plugins/dsh-profile-transfer/index.js +375 -0
  31. package/plugins/dsh-profile-transfer/locale/en.json +6 -0
  32. package/plugins/dsh-profile-transfer/locale/ru.json +6 -0
  33. package/plugins/dsh-profile-transfer/locale/zh.json +6 -0
  34. package/plugins/dsh-profile-transfer/package.json +36 -0
  35. package/plugins/dsh-profile-transfer/transfer.js +1004 -0
  36. package/plugins/dsh-project-memory/README.md +71 -0
  37. package/plugins/dsh-project-memory/cordis.patch.yml +4 -0
  38. package/plugins/dsh-project-memory/icon.svg +12 -0
  39. package/plugins/dsh-project-memory/index.js +1240 -0
  40. package/plugins/dsh-project-memory/locale/en.json +6 -0
  41. package/plugins/dsh-project-memory/locale/ru.json +6 -0
  42. package/plugins/dsh-project-memory/locale/zh.json +6 -0
  43. package/plugins/dsh-project-memory/package.json +26 -0
  44. package/plugins/dsh-session-move/README.md +67 -0
  45. package/plugins/dsh-session-move/client.js +719 -0
  46. package/plugins/dsh-session-move/cordis.patch.yml +5 -0
  47. package/plugins/dsh-session-move/icon.svg +14 -0
  48. package/plugins/dsh-session-move/index.js +497 -0
  49. package/plugins/dsh-session-move/locale/en.json +6 -0
  50. package/plugins/dsh-session-move/locale/ru.json +6 -0
  51. package/plugins/dsh-session-move/locale/zh.json +6 -0
  52. package/plugins/dsh-session-move/package.json +31 -0
  53. package/skills/code-review-checklist/SKILL.md +37 -0
  54. package/skills/content-writing/README.md +87 -0
  55. package/skills/content-writing/SKILL.md +348 -0
  56. package/skills/content-writing/assets/checklists/fact-check.md +53 -0
  57. package/skills/content-writing/assets/checklists/publish.md +65 -0
  58. package/skills/content-writing/assets/checklists/social.md +40 -0
  59. package/skills/content-writing/assets/templates/article.md +47 -0
  60. package/skills/content-writing/assets/templates/brief.md +44 -0
  61. package/skills/content-writing/assets/templates/doctor-card.md +41 -0
  62. package/skills/content-writing/assets/templates/image-prompts.md +128 -0
  63. package/skills/content-writing/assets/templates/post-telegram.md +36 -0
  64. package/skills/content-writing/assets/templates/post-vk.md +42 -0
  65. package/skills/content-writing/assets/templates/press-release.md +56 -0
  66. package/skills/content-writing/assets/templates/science-pop-note.md +55 -0
  67. package/skills/content-writing/assets/templates/service-card.md +46 -0
  68. package/skills/content-writing/references/anti-ai-style.md +248 -0
  69. package/skills/content-writing/references/editing.md +185 -0
  70. package/skills/content-writing/references/fact-checking.md +205 -0
  71. package/skills/content-writing/references/government-medical.md +246 -0
  72. package/skills/content-writing/references/images.md +212 -0
  73. package/skills/content-writing/references/journalism.md +252 -0
  74. package/skills/content-writing/references/science-popular.md +218 -0
  75. package/skills/content-writing/references/seo-content.md +172 -0
  76. package/skills/content-writing/references/social-media.md +253 -0
  77. package/skills/content-writing/references/templates.md +291 -0
  78. package/skills/database-safety/SKILL.md +31 -0
  79. package/skills/debugging-playbook/SKILL.md +39 -0
  80. package/skills/design-critique/SKILL.md +118 -0
  81. package/skills/dev-workflow/SKILL.md +41 -0
  82. package/skills/git-and-ci/SKILL.md +40 -0
  83. package/skills/pg-upgrade-verify/SKILL.md +48 -0
  84. package/skills/project-deep-dive/SKILL.md +170 -0
  85. package/skills/project-deep-dive/references/recon-commands.md +78 -0
  86. package/skills/project-deep-dive/references/section-templates.md +102 -0
  87. package/skills/project-memory-maintenance/SKILL.md +170 -0
  88. package/skills/project-memory-maintenance/references/journal-template.md +48 -0
  89. package/skills/project-memory-maintenance/references/section-rules.md +57 -0
  90. package/skills/release-and-deploy/SKILL.md +39 -0
  91. package/skills/requirements-and-planning/SKILL.md +115 -0
  92. package/skills/security-review/SKILL.md +36 -0
  93. package/skills/seo/README.md +60 -0
  94. package/skills/seo/SKILL.md +329 -0
  95. package/skills/seo/assets/README.md +66 -0
  96. package/skills/seo/assets/scripts/LICENSE-playwright-core.txt +202 -0
  97. package/skills/seo/assets/scripts/README.md +179 -0
  98. package/skills/seo/assets/scripts/lib/args.mjs +105 -0
  99. package/skills/seo/assets/scripts/lib/browser.mjs +620 -0
  100. package/skills/seo/assets/scripts/lib/zip.mjs +191 -0
  101. package/skills/seo/assets/scripts/seo-audit.mjs +1675 -0
  102. package/skills/seo/assets/snippets/jsonld-breadcrumb.json +30 -0
  103. package/skills/seo/assets/snippets/jsonld-faq.json +39 -0
  104. package/skills/seo/assets/snippets/jsonld-medical-clinic.json +49 -0
  105. package/skills/seo/assets/snippets/jsonld-medical-webpage.json +33 -0
  106. package/skills/seo/assets/snippets/jsonld-organization.json +74 -0
  107. package/skills/seo/assets/snippets/jsonld-physician.json +46 -0
  108. package/skills/seo/assets/snippets/meta.blade.php +61 -0
  109. package/skills/seo/assets/snippets/robots.txt +61 -0
  110. package/skills/seo/assets/snippets/sitemap-urlset-example.xml +72 -0
  111. package/skills/seo/assets/snippets/sitemap.xml +36 -0
  112. package/skills/seo/references/audit-checklist.md +305 -0
  113. package/skills/seo/references/content-seo.md +198 -0
  114. package/skills/seo/references/eeat-medical.md +217 -0
  115. package/skills/seo/references/measurement.md +223 -0
  116. package/skills/seo/references/on-page.md +209 -0
  117. package/skills/seo/references/stack-recipes.md +693 -0
  118. package/skills/seo/references/structured-data.md +485 -0
  119. package/skills/seo/references/technical-seo.md +294 -0
  120. package/skills/service-desk-conventions/SKILL.md +40 -0
  121. package/skills/service-desk-db-safety/SKILL.md +52 -0
  122. package/skills/service-desk-release/SKILL.md +43 -0
  123. package/skills/service-desk-testing/SKILL.md +47 -0
  124. package/skills/service-desk-ui/SKILL.md +33 -0
  125. package/skills/skills-router/SKILL.md +91 -0
  126. package/skills/testing-strategy/SKILL.md +37 -0
  127. package/skills/ui-design-system/SKILL.md +45 -0
  128. package/skills/web-research/SKILL.md +40 -0
  129. package/skills/wow-design/SKILL.md +168 -0
  130. package/skills/wow-design/assets/kit/README.md +195 -0
  131. package/skills/wow-design/assets/kit/assets/css/base.css +158 -0
  132. package/skills/wow-design/assets/kit/assets/css/components.css +1001 -0
  133. package/skills/wow-design/assets/kit/assets/css/fonts.css +73 -0
  134. package/skills/wow-design/assets/kit/assets/css/pages.css +737 -0
  135. package/skills/wow-design/assets/kit/assets/css/tokens.css +218 -0
  136. package/skills/wow-design/assets/kit/assets/fonts/LICENSE-golos-text.txt +93 -0
  137. package/skills/wow-design/assets/kit/assets/fonts/LICENSE-lora.txt +93 -0
  138. package/skills/wow-design/assets/kit/assets/fonts/LICENSE-unbounded.txt +93 -0
  139. package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-400-normal.woff2 +0 -0
  140. package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-500-normal.woff2 +0 -0
  141. package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-600-normal.woff2 +0 -0
  142. package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-700-normal.woff2 +0 -0
  143. package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-400-normal.woff2 +0 -0
  144. package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-500-normal.woff2 +0 -0
  145. package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-600-normal.woff2 +0 -0
  146. package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-700-normal.woff2 +0 -0
  147. package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-400-italic.woff2 +0 -0
  148. package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-400-normal.woff2 +0 -0
  149. package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-500-normal.woff2 +0 -0
  150. package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-600-normal.woff2 +0 -0
  151. package/skills/wow-design/assets/kit/assets/fonts/lora-latin-400-normal.woff2 +0 -0
  152. package/skills/wow-design/assets/kit/assets/fonts/lora-latin-500-normal.woff2 +0 -0
  153. package/skills/wow-design/assets/kit/assets/fonts/lora-latin-600-normal.woff2 +0 -0
  154. package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-400-normal.woff2 +0 -0
  155. package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-500-normal.woff2 +0 -0
  156. package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-600-normal.woff2 +0 -0
  157. package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-400-normal.woff2 +0 -0
  158. package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-500-normal.woff2 +0 -0
  159. package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-600-normal.woff2 +0 -0
  160. package/skills/wow-design/assets/kit/assets/js/kit.js +550 -0
  161. package/skills/wow-design/assets/kit/pages/dashboard.html +539 -0
  162. package/skills/wow-design/assets/kit/pages/hospital.html +430 -0
  163. package/skills/wow-design/assets/kit/showcase.html +1164 -0
  164. package/skills/wow-design/assets/scripts/LICENSE-axe-core.txt +362 -0
  165. package/skills/wow-design/assets/scripts/LICENSE-playwright-core.txt +202 -0
  166. package/skills/wow-design/assets/scripts/README.md +312 -0
  167. package/skills/wow-design/assets/scripts/audit.mjs +1200 -0
  168. package/skills/wow-design/assets/scripts/capture.mjs +337 -0
  169. package/skills/wow-design/assets/scripts/package.json +30 -0
  170. package/skills/wow-design/references/anti-patterns.md +249 -0
  171. package/skills/wow-design/references/critique-rubric.md +259 -0
  172. package/skills/wow-design/references/design-brief-template.md +46 -0
  173. package/skills/wow-design/references/inspiration.md +200 -0
  174. package/skills/wow-design/references/presets.md +96 -0
  175. package/skills/wow-design/references/principles.md +368 -0
  176. package/skills/wow-design/references/stack-recipes.md +93 -0
  177. package/skills/wow-design/references/visual-qa.md +79 -0
@@ -0,0 +1,79 @@
1
+ # Visual QA — петля «собрал → снял → раскритиковал → исправил»
2
+
3
+ > Без скриншотов дизайн не считается проверенным. Глазами по PNG видно то, чего не видно в коде:
4
+ > иерархию, воздух, ритм, «дёшево/дорого», поломки адаптива.
5
+
6
+ ## 1. Что нужно один раз
7
+ - Node.js 18+ (на этой машине Node 24).
8
+ - Chrome или Edge (Windows 11 — Edge есть всегда).
9
+ - `playwright-core` + `axe-core` в `~/.dsh/skills/wow-design/assets/scripts/`:
10
+ ```
11
+ cd ~/.dsh/skills/wow-design/assets/scripts
12
+ npm install --no-audit --no-fund
13
+ ```
14
+ Если пакеты уже стоят в другом месте — можно указать `NODE_PATH` или запускать из той папки.
15
+ - Скрипты ищут браузер так: `CDP_URL` → запущенный Chrome по CDP → установленный Playwright Chromium →
16
+ системный Edge/Chrome (`channel: msedge`/`chrome`). Обычно ничего настраивать не нужно.
17
+
18
+ ## 2. Скриншоты
19
+ ```bash
20
+ # одна страница, все вьюпорты и темы
21
+ node ~/.dsh/skills/wow-design/assets/scripts/capture.mjs path/to/page.html --name page --out screenshots
22
+
23
+ # только desktop+mobile, светлая тема, full page
24
+ node .../capture.mjs http://localhost:5173 --name app --viewports desktop,mobile --themes light
25
+
26
+ # отдельный элемент (например, карточка)
27
+ node .../capture.mjs page.html --name card --selector ".ticket-card" --themes light
28
+ ```
29
+ Результат: `screenshots/page-desktop-light.png`, `page-mobile-light.png`, `page-desktop-dark.png`, … +
30
+ `shots.json` (манифест: пути, размеры, ошибки консоли).
31
+
32
+ ## 3. Аудит
33
+ ```bash
34
+ node ~/.dsh/skills/wow-design/assets/scripts/audit.mjs path/to/page.html --out screenshots
35
+ ```
36
+ Проверяет: axe-core (критичные/serious нарушения), горизонтальный overflow на 390px, тач-цели < 40px,
37
+ порядок заголовков, alt у картинок, битые изображения, загрузку шрифтов, ошибки консоли.
38
+ Выход: `audit.json` + `audit.md`. Код выхода 2 — есть блокеры.
39
+
40
+ ## 4. Как смотреть скриншоты (обязательно!)
41
+ 1. `read_image` каждого PNG — не «на глаз по памяти», а реально открыть.
42
+ 2. Первый взгляд 5 секунд: понятно ли, что это, для кого, куда нажать? Что первое цепляет?
43
+ 3. Squint test: прищуриться — видна ли иерархия, или всё слилось в серое пятно?
44
+ 4. Grayscale: если убрать цвет, структура остаётся? Если нет — цвета не работают.
45
+ 5. Мобильный 390: нет ли обрезаний, скролла вбок, мелких тапов, «сжатого десктопа».
46
+ 6. Тёмная тема: фон/поверхности/контраст/акцент — отдельная палитра, а не инверсия.
47
+ 7. Сравни с референсом из брифа: тот же уровень «дорого»?
48
+ 8. Выпиши 5–10 конкретных правок с числами (px/rem/значения токенов), а не «сделать красивее».
49
+
50
+ ## 5. Итерации
51
+ ```
52
+ v1: собрал → capture → read_image → 8 правок
53
+ v2: правки → capture → read_image → 4 правки → rubric
54
+ v3: финальные скриншоты → отчёт
55
+ ```
56
+ Минимум 2 итерации. Первый вариант почти всегда «нормальный, но не WOW» — это ожидаемо.
57
+
58
+ ## 6. Гейт перед сдачей
59
+ - Рубрика (`references/critique-rubric.md`): средний ≥ 4.4/5, ни один критерий < 4.
60
+ - axe: critical/serious = 0.
61
+ - 390px: overflow = 0, тапы ≥ 40px, читаемо.
62
+ - Шрифты загружены (`document.fonts.status === "loaded"`), нет FOUT-скачков на скриншоте.
63
+ - Тёмная и светлая темы сняты и просмотрены.
64
+ - Нет ни одного антипаттерна из `references/anti-patterns.md`.
65
+ - Скриншоты приложены к отчёту с путями.
66
+
67
+ ## 7. Если скриншоты не запускаются
68
+ 1. Проверь Node: `node -v`.
69
+ 2. Проверь пакеты: `ls assets/scripts/node_modules/playwright-core`; при отсутствии — `npm install` в папке скриптов.
70
+ 3. Проверь браузер: `msedge --version` или путь к Chrome. Скрипт подскажет, что не найдено.
71
+ 4. Если Chrome уже запущен с CDP — укажи `CDP_URL=http://127.0.0.1:9333` и не поднимай второй.
72
+ 5. В крайнем случае — сделай скриншоты вручную (Win+Shift+S) и всё равно оцени по рубрике: визуальная
73
+ проверка важнее автоматизации.
74
+
75
+ ## 8. CI (если проект уже на Playwright)
76
+ - Визуальные снапшоты: `await expect(page).toHaveScreenshot('home.png', { fullPage: true })`.
77
+ - Доступность: `@axe-core/playwright` — `expect(violations.filter(...)).toEqual([])`.
78
+ - Матрица: 1440×900 и 390×844, light/dark (эмуляция `colorScheme`).
79
+ - Обновляй снапшоты осознанно (`--update-snapshots`), в ревью смотри диффы.