testeiya 0.2.1 → 0.3.9

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 (414) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -213
  3. package/dist/prompt/context.js +79 -0
  4. package/dist/prompt/context.js.map +1 -0
  5. package/dist/prompt/index.js +56 -0
  6. package/dist/prompt/index.js.map +1 -0
  7. package/dist/prompt/print.js +22 -0
  8. package/dist/prompt/print.js.map +1 -0
  9. package/dist/prompt/project-info.js +2 -0
  10. package/dist/prompt/project-info.js.map +1 -0
  11. package/{src/prompt/system-prompt.ts → dist/prompt/system-prompt.js} +24 -21
  12. package/dist/prompt/system-prompt.js.map +1 -0
  13. package/dist/prompt/testomatio.js +264 -0
  14. package/dist/prompt/testomatio.js.map +1 -0
  15. package/dist/prompt/tools.js +49 -0
  16. package/dist/prompt/tools.js.map +1 -0
  17. package/dist/prompt/vocab.js +8 -0
  18. package/dist/prompt/vocab.js.map +1 -0
  19. package/dist/src/args.js +72 -0
  20. package/dist/src/args.js.map +1 -0
  21. package/dist/src/cli.js +61 -0
  22. package/dist/src/cli.js.map +1 -0
  23. package/dist/src/env.js +69 -0
  24. package/dist/src/env.js.map +1 -0
  25. package/dist/src/mcp-extension.js +9 -0
  26. package/dist/src/mcp-extension.js.map +1 -0
  27. package/dist/src/mcp.js +139 -0
  28. package/dist/src/mcp.js.map +1 -0
  29. package/dist/src/model.js +66 -0
  30. package/dist/src/model.js.map +1 -0
  31. package/dist/src/result.js +41 -0
  32. package/dist/src/result.js.map +1 -0
  33. package/dist/src/run.js +199 -0
  34. package/dist/src/run.js.map +1 -0
  35. package/dist/src/session.js +77 -0
  36. package/dist/src/session.js.map +1 -0
  37. package/dist/vendor/mcp.js +14801 -0
  38. package/mcp-tools.json +2967 -0
  39. package/package.json +29 -42
  40. package/prompt/context.ts +101 -0
  41. package/prompt/index.ts +93 -0
  42. package/prompt/print.ts +23 -0
  43. package/prompt/project-info.ts +30 -0
  44. package/prompt/system-prompt.ts +173 -0
  45. package/{src/prompt → prompt}/testomatio.ts +119 -8
  46. package/{src/prompt → prompt}/tools.ts +30 -8
  47. package/prompt/vocab.ts +7 -0
  48. package/{skills.lock.json → skills/skills.lock.json} +11 -7
  49. package/skills/skills.yaml +34 -0
  50. package/assets/testeiya-logo-dark.svg +0 -16
  51. package/assets/testeiya-logo.svg +0 -15
  52. package/models.catalog.json +0 -6963
  53. package/skills/codeceptjs/ci-fix-tests/SKILL.md +0 -120
  54. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +0 -158
  55. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +0 -91
  56. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +0 -158
  57. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +0 -90
  58. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +0 -234
  59. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +0 -110
  60. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +0 -306
  61. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +0 -352
  62. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +0 -472
  63. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +0 -350
  64. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +0 -81
  65. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +0 -206
  66. package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
  67. package/skills/playwright-best-practices-skill/README.md +0 -147
  68. package/skills/playwright-best-practices-skill/SKILL.md +0 -303
  69. package/skills/playwright-best-practices-skill/advanced/authentication-flows.md +0 -360
  70. package/skills/playwright-best-practices-skill/advanced/authentication.md +0 -871
  71. package/skills/playwright-best-practices-skill/advanced/clock-mocking.md +0 -364
  72. package/skills/playwright-best-practices-skill/advanced/mobile-testing.md +0 -409
  73. package/skills/playwright-best-practices-skill/advanced/multi-context.md +0 -288
  74. package/skills/playwright-best-practices-skill/advanced/multi-user.md +0 -393
  75. package/skills/playwright-best-practices-skill/advanced/network-advanced.md +0 -452
  76. package/skills/playwright-best-practices-skill/advanced/third-party.md +0 -464
  77. package/skills/playwright-best-practices-skill/architecture/pom-vs-fixtures.md +0 -363
  78. package/skills/playwright-best-practices-skill/architecture/test-architecture.md +0 -369
  79. package/skills/playwright-best-practices-skill/architecture/when-to-mock.md +0 -383
  80. package/skills/playwright-best-practices-skill/browser-apis/browser-apis.md +0 -391
  81. package/skills/playwright-best-practices-skill/browser-apis/iframes.md +0 -403
  82. package/skills/playwright-best-practices-skill/browser-apis/service-workers.md +0 -504
  83. package/skills/playwright-best-practices-skill/browser-apis/websockets.md +0 -403
  84. package/skills/playwright-best-practices-skill/core/annotations.md +0 -424
  85. package/skills/playwright-best-practices-skill/core/assertions-waiting.md +0 -361
  86. package/skills/playwright-best-practices-skill/core/configuration.md +0 -452
  87. package/skills/playwright-best-practices-skill/core/fixtures-hooks.md +0 -417
  88. package/skills/playwright-best-practices-skill/core/global-setup.md +0 -434
  89. package/skills/playwright-best-practices-skill/core/locators.md +0 -242
  90. package/skills/playwright-best-practices-skill/core/page-object-model.md +0 -315
  91. package/skills/playwright-best-practices-skill/core/projects-dependencies.md +0 -453
  92. package/skills/playwright-best-practices-skill/core/test-data.md +0 -492
  93. package/skills/playwright-best-practices-skill/core/test-suite-structure.md +0 -361
  94. package/skills/playwright-best-practices-skill/core/test-tags.md +0 -298
  95. package/skills/playwright-best-practices-skill/debugging/console-errors.md +0 -420
  96. package/skills/playwright-best-practices-skill/debugging/debugging.md +0 -504
  97. package/skills/playwright-best-practices-skill/debugging/error-testing.md +0 -360
  98. package/skills/playwright-best-practices-skill/debugging/flaky-tests.md +0 -496
  99. package/skills/playwright-best-practices-skill/frameworks/angular.md +0 -530
  100. package/skills/playwright-best-practices-skill/frameworks/nextjs.md +0 -469
  101. package/skills/playwright-best-practices-skill/frameworks/react.md +0 -531
  102. package/skills/playwright-best-practices-skill/frameworks/vue.md +0 -574
  103. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/ci-cd.md +0 -468
  104. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/docker.md +0 -283
  105. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/github-actions.md +0 -546
  106. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/gitlab.md +0 -397
  107. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/other-providers.md +0 -521
  108. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/parallel-sharding.md +0 -371
  109. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/performance.md +0 -453
  110. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/reporting.md +0 -424
  111. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/test-coverage.md +0 -497
  112. package/skills/playwright-best-practices-skill/testing-patterns/accessibility.md +0 -359
  113. package/skills/playwright-best-practices-skill/testing-patterns/api-testing.md +0 -719
  114. package/skills/playwright-best-practices-skill/testing-patterns/browser-extensions.md +0 -506
  115. package/skills/playwright-best-practices-skill/testing-patterns/canvas-webgl.md +0 -493
  116. package/skills/playwright-best-practices-skill/testing-patterns/component-testing.md +0 -500
  117. package/skills/playwright-best-practices-skill/testing-patterns/drag-drop.md +0 -576
  118. package/skills/playwright-best-practices-skill/testing-patterns/electron.md +0 -509
  119. package/skills/playwright-best-practices-skill/testing-patterns/file-operations.md +0 -377
  120. package/skills/playwright-best-practices-skill/testing-patterns/file-upload-download.md +0 -562
  121. package/skills/playwright-best-practices-skill/testing-patterns/forms-validation.md +0 -561
  122. package/skills/playwright-best-practices-skill/testing-patterns/graphql-testing.md +0 -331
  123. package/skills/playwright-best-practices-skill/testing-patterns/i18n.md +0 -508
  124. package/skills/playwright-best-practices-skill/testing-patterns/performance-testing.md +0 -476
  125. package/skills/playwright-best-practices-skill/testing-patterns/security-testing.md +0 -430
  126. package/skills/playwright-best-practices-skill/testing-patterns/visual-regression.md +0 -634
  127. package/skills/playwright-cli/SKILL.md +0 -420
  128. package/skills/playwright-cli/references/element-attributes.md +0 -23
  129. package/skills/playwright-cli/references/playwright-tests.md +0 -39
  130. package/skills/playwright-cli/references/request-mocking.md +0 -87
  131. package/skills/playwright-cli/references/running-code.md +0 -241
  132. package/skills/playwright-cli/references/session-management.md +0 -225
  133. package/skills/playwright-cli/references/storage-state.md +0 -275
  134. package/skills/playwright-cli/references/test-generation.md +0 -433
  135. package/skills/playwright-cli/references/tracing.md +0 -139
  136. package/skills/playwright-cli/references/video-recording.md +0 -143
  137. package/skills/testeiya/README.md +0 -29
  138. package/skills/testeiya/answer-formatting/SKILL.md +0 -30
  139. package/skills/testeiya/check-cucumber/SKILL.md +0 -200
  140. package/skills/testeiya/check-tests/SKILL.md +0 -260
  141. package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
  142. package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
  143. package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
  144. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
  145. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
  146. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
  147. package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
  148. package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
  149. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
  150. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
  151. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
  152. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
  153. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
  154. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
  155. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
  156. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
  157. package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
  158. package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
  159. package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
  160. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
  161. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
  162. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
  163. package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
  164. package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
  165. package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
  166. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
  167. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
  168. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
  169. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
  170. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
  171. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
  172. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
  173. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
  174. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
  175. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
  176. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
  177. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
  178. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
  179. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
  180. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
  181. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
  182. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
  183. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
  184. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
  185. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
  186. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
  187. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
  188. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
  189. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
  190. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
  191. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
  192. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
  193. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
  194. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
  195. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
  196. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
  197. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
  198. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
  199. package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
  200. package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
  201. package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
  202. package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
  203. package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
  204. package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
  205. package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
  206. package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
  207. package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
  208. package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
  209. package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
  210. package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
  211. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
  212. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
  213. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
  214. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
  215. package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
  216. package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
  217. package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
  218. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
  219. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
  220. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
  221. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
  222. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
  223. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
  224. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
  225. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
  226. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
  227. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
  228. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
  229. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
  230. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
  231. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
  232. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
  233. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
  234. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
  235. package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
  236. package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
  237. package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
  238. package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
  239. package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
  240. package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
  241. package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
  242. package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
  243. package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
  244. package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
  245. package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
  246. package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
  247. package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
  248. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
  249. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
  250. package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
  251. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
  252. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
  253. package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
  254. package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
  255. package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
  256. package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
  257. package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
  258. package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
  259. package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
  260. package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
  261. package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
  262. package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
  263. package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
  264. package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
  265. package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
  266. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
  267. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
  268. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
  269. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
  270. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
  271. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
  272. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
  273. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
  274. package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
  275. package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
  276. package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
  277. package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
  278. package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
  279. package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
  280. package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
  281. package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
  282. package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
  283. package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
  284. package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
  285. package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
  286. package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +0 -88
  287. package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +0 -95
  288. package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +0 -334
  289. package/skills/testomatio/test-automation/automate-manual-test-cases/CLAUDE.md +0 -56
  290. package/skills/testomatio/test-automation/automate-manual-test-cases/SKILL.md +0 -242
  291. package/skills/testomatio/test-automation/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +0 -182
  292. package/skills/testomatio/test-automation/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +0 -22
  293. package/skills/testomatio/test-automation/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +0 -90
  294. package/skills/testomatio/test-automation/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +0 -53
  295. package/skills/testomatio/test-automation/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +0 -52
  296. package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/SKILL.md +0 -107
  297. package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +0 -113
  298. package/skills/testomatio/test-automation/qa-automation-test-consolidation/SKILL.md +0 -29
  299. package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +0 -151
  300. package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
  301. package/skills/testomatio/test-automation/testomat-allure-adapter/SKILL.md +0 -289
  302. package/skills/testomatio/test-management/detect-duplicate-test-cases/SKILL.md +0 -86
  303. package/skills/testomatio/test-management/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +0 -54
  304. package/skills/testomatio/test-management/improve-test-cases/SKILL.md +0 -114
  305. package/skills/testomatio/test-management/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +0 -66
  306. package/skills/testomatio/test-management/pull-request-diff-analyzer/SKILL.md +0 -141
  307. package/skills/testomatio/test-management/qa-e2e-tests-reporting/SKILL.md +0 -354
  308. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +0 -82
  309. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +0 -37
  310. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +0 -118
  311. package/skills/testomatio/test-management/qa-pr-requirements-analyzer/SKILL.md +0 -149
  312. package/skills/testomatio/test-management/qa-pr-requirements-analyzer/references/summary-example.md +0 -54
  313. package/skills/testomatio/test-management/qa-requirement-reviewer/SKILL.md +0 -126
  314. package/skills/testomatio/test-management/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -128
  315. package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +0 -174
  316. package/skills/testomatio/test-management/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +0 -138
  317. package/skills/testomatio/test-management/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +0 -65
  318. package/skills/testomatio/test-management/qa-test-code-coverage/scripts/check-coverage.mjs +0 -40
  319. package/skills/testomatio/test-management/qa-thinking/SKILL.md +0 -36
  320. package/skills/testomatio/test-management/qa-write-test-cases/SKILL.md +0 -267
  321. package/skills/testomatio/test-management/qa-write-test-cases/references/test-case-format.md +0 -387
  322. package/skills/testomatio/test-management/qa-write-test-cases/references/testomat-tms-guide.md +0 -72
  323. package/skills/testomatio/test-management/qa-write-test-cases/references/writing-rule.md +0 -159
  324. package/skills/testomatio/test-management/scan-automation-project/SKILL.md +0 -152
  325. package/skills/testomatio/test-management/sync-test-cases-with-tms/SKILL.md +0 -107
  326. package/skills/testomatio/test-management/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +0 -140
  327. package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +0 -182
  328. package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +0 -169
  329. package/skills.yaml +0 -21
  330. package/src/ai-debug.ts +0 -188
  331. package/src/api/agent-get.ts +0 -22
  332. package/src/api/agent-start.ts +0 -384
  333. package/src/api/client-log.ts +0 -29
  334. package/src/api/context.ts +0 -332
  335. package/src/api/debug-layout.ts +0 -47
  336. package/src/api/debug-report.ts +0 -29
  337. package/src/api/debug-snapshot.ts +0 -30
  338. package/src/api/debug-stream.ts +0 -52
  339. package/src/api/files-delete.ts +0 -184
  340. package/src/api/files-read.ts +0 -41
  341. package/src/api/files-rename.ts +0 -99
  342. package/src/api/files-tree.ts +0 -292
  343. package/src/api/files-write.ts +0 -41
  344. package/src/api/mcp.ts +0 -603
  345. package/src/api/memory.ts +0 -69
  346. package/src/api/open-external.ts +0 -39
  347. package/src/api/playwright-cli.ts +0 -606
  348. package/src/api/providers.ts +0 -457
  349. package/src/api/read-env-token.ts +0 -33
  350. package/src/api/sessions.ts +0 -79
  351. package/src/api/settings.ts +0 -120
  352. package/src/api/skills.ts +0 -58
  353. package/src/api/testomatio-attachment.ts +0 -89
  354. package/src/api/testomatio-auth.ts +0 -284
  355. package/src/api/testomatio-proxy.ts +0 -197
  356. package/src/api/testomatio-run-stats.ts +0 -81
  357. package/src/api/testomatio-target.ts +0 -225
  358. package/src/api/testomatio-transcription.ts +0 -82
  359. package/src/api/workspace-search.ts +0 -96
  360. package/src/api/workspace-sync.ts +0 -151
  361. package/src/api/workspace.ts +0 -165
  362. package/src/app-server.ts +0 -556
  363. package/src/bridge.ts +0 -251
  364. package/src/check-tests.ts +0 -156
  365. package/src/cli.ts +0 -17
  366. package/src/commands.ts +0 -244
  367. package/src/config.ts +0 -183
  368. package/src/connection.ts +0 -658
  369. package/src/context-store.ts +0 -265
  370. package/src/debug-bus.ts +0 -405
  371. package/src/extensions/tool-gate.ts +0 -220
  372. package/src/extensions/webui/ask-channel.ts +0 -52
  373. package/src/extensions/webui/index.ts +0 -184
  374. package/src/extensions/webui/tools/ask-question.ts +0 -88
  375. package/src/extensions/webui/tools/query-result.ts +0 -79
  376. package/src/extensions/webui/tools/render-chart.ts +0 -53
  377. package/src/extensions/webui/tools/render-item.ts +0 -61
  378. package/src/extensions/webui/tools/render-list.ts +0 -170
  379. package/src/extensions/webui/tools/render-result.ts +0 -85
  380. package/src/extensions/webui/tools/render-tree.ts +0 -71
  381. package/src/extensions/webui/tools/ui-widget.ts +0 -54
  382. package/src/extensions/webui/tools/widget-result.ts +0 -13
  383. package/src/extensions/webui/widget-channel.ts +0 -50
  384. package/src/file-log.ts +0 -196
  385. package/src/git-tracked.ts +0 -68
  386. package/src/gitignore.ts +0 -53
  387. package/src/json-store.ts +0 -43
  388. package/src/load-env.ts +0 -70
  389. package/src/loader-style.ts +0 -96
  390. package/src/main.ts +0 -140
  391. package/src/mcp-catalog.ts +0 -96
  392. package/src/models-catalog.ts +0 -72
  393. package/src/permissions.ts +0 -120
  394. package/src/project-dir.ts +0 -189
  395. package/src/project-info.ts +0 -108
  396. package/src/prompt/app-ui.ts +0 -59
  397. package/src/prompt/browser.ts +0 -27
  398. package/src/prompt/index.ts +0 -62
  399. package/src/server-info.ts +0 -62
  400. package/src/session-factory.ts +0 -442
  401. package/src/session-store.ts +0 -115
  402. package/src/shell-env.ts +0 -45
  403. package/src/skills.ts +0 -163
  404. package/src/sync-snapshot.ts +0 -140
  405. package/src/telemetry.ts +0 -239
  406. package/src/testomatio-auth.ts +0 -299
  407. package/src/testomatio.ts +0 -98
  408. package/src/theme.ts +0 -30
  409. package/src/user-env.ts +0 -94
  410. package/src/welcome.ts +0 -194
  411. package/src/workspace/safe-path.ts +0 -85
  412. package/src/workspace/test-md.ts +0 -70
  413. package/src/workspace-model.ts +0 -440
  414. package/testeiya.config.json +0 -14
@@ -1,174 +0,0 @@
1
- ---
2
- name: qa-test-code-coverage
3
- description: Map test cases — manual (markdown) and automated e2e (Playwright, Cypress, WebdriverIO, CodeceptJS, Puppeteer, Appium) — to source code files and produce a `coverage.tests.yml` mapping consumed by `@testomatio/reporter --filter "coverage:..."`. Use this skill when the user wants to run only the tests affected by a code change, generate a coverage file (manual, e2e, or both), build a traceability matrix between tests and source code, or set up change-aware regression.
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 1.0.0
8
- ---
9
-
10
- # Tests to Code Coverage
11
-
12
- Analyze the project's tests — manual markdown cases and automated e2e tests — and its source code. Produce `coverage.tests.yml` — a map from source files (or globs) to test identifiers: suite IDs, test IDs, tags. Testomat.io keeps manual and automated tests in one project, so one coverage file serves both. `@testomatio/reporter` consumes it to run only the tests affected by a diff (Step 6).
13
-
14
- ## Critical Constraints
15
-
16
- - **Map the tests that exist — manual markdown cases, automated e2e tests, or both.** No unit tests. Do not suggest creating new tests.
17
- - You may write to exactly three places, nothing else:
18
- - the coverage file — default `coverage.tests.yml`, or the path the user gave;
19
- - the `.testeiya/` cache dir — clone automated test repos, pull manual cases from Testomat.io (Step 1);
20
- - `.gitignore` — add a `.testeiya/` line if it is missing.
21
- - **Never modify a source or test file.**
22
- - Never pull or clone tests into a tracked folder — only into the gitignored `.testeiya/`.
23
- - **Everything in the coverage file must come from this project:** file keys from its source tree, identifiers from the Step 2 inventory. Never copy a path or ID from this skill's docs — they are placeholders.
24
- - **No ad-hoc scripts, no parsers, never Python.** File reads and `grep` only; the single exception is the bundled checker (Step 5); beyond that a one-line `node -e '…'` is the limit.
25
- - **Be proactive — never stop at a representative sample.** A few entries per domain is a failed run. Keep mapping without asking permission to continue until the completion criterion in Step 4 is met.
26
- - Stop if you cannot write the output file, or no tests are found and the user declines every option in Step 1.
27
-
28
- ## Workflow
29
-
30
- ### Step 1: Discover the project
31
-
32
- - Run the `scan-automation-project` skill to inventory the project. Use its output as the source of truth — do not duplicate the scan.
33
- - Capture from its result:
34
- - Manual Tests — the `.test.md` files and their suite/test titles.
35
- - Automated Tests — the e2e test files and framework(s). See [E2E Frameworks](./references/E2E_FRAMEWORKS.md) if the scan is ambiguous.
36
- - Project Overview — languages, frameworks, complexity (drives the subagent split in Step 4).
37
- - Map whatever exists: both kinds go into one coverage file; a single kind is fine too.
38
- - ❓ If the scan finds no tests at all (it checks the `.testeiya/` cache too), ask the user:
39
- 1. Pull manual cases from Testomat.io — have `sync-test-cases-with-tms` pull into the cache: `npx check-tests pull -d .testeiya/manual-tests`, add `.testeiya/` to `.gitignore` if missing, re-run the scan.
40
- 2. Clone the automated tests repo: `git clone <url> .testeiya/e2e-tests`, add `.testeiya/` to `.gitignore` if missing, re-run the scan.
41
- 3. Point to a directory the scan missed, then re-run the scan there.
42
- 4. Stop.
43
- - ❓ If two automated frameworks are detected (say Jest and Playwright), ask which one is the e2e framework — coverage filtering runs per runner.
44
-
45
- ### Step 2: Extract test information
46
-
47
- Build one inventory of identifiers across both kinds:
48
-
49
- - Suite IDs — `@S` + 8 chars.
50
- - Test IDs — `@T` + 8 chars.
51
- - Tags — other `@word` markers.
52
- - Context — titles, steps, page objects, routes hit. This drives the mapping in Step 4.
53
-
54
- Where IDs live:
55
-
56
- - Manual cases follow the [Classical Tests Markdown Format](../qa-write-test-cases/references/test-case-format.md) — IDs in `<!-- suite ... id: @S... -->` / `<!-- test ... id: @T... -->` blocks, tags in titles and `tags:` lines.
57
- - Automated tests carry IDs in `describe` / `it` / `test` / `Feature` / `Scenario` titles — see [E2E Frameworks](./references/E2E_FRAMEWORKS.md).
58
-
59
- Read the files, or `grep` the directories that hold the tests:
60
-
61
- ```bash
62
- grep -rnE 'id:[[:space:]]*@[ST]' <dir> # manual suite/test IDs
63
- grep -rnoE '@[ST][0-9a-f]{8}' <dir> # IDs in automated test titles
64
- grep -rhoE '@[A-Za-z0-9_-]+' <dir> | sort -u # every @token, tags included
65
- ```
66
-
67
- Missing IDs mean the tests were never synced with Testomat.io — the reporter cannot select them:
68
-
69
- - ❓ Manual files without IDs: ask whether to push them first via `sync-test-cases-with-tms`, or skip those files.
70
- - Automated tests without IDs in most files: stop and instruct the user to run `npx check-tests@latest <Framework> "<glob>" --update-ids` first (per-framework commands: [E2E Frameworks](./references/E2E_FRAMEWORKS.md)).
71
-
72
- ### Step 3: Plan the coverage map by domain
73
-
74
- **Do not crawl the codebase file by file.** Identify the application's domain areas first; Step 4 then maps area by area.
75
-
76
- - Derive the areas from both sides:
77
- - the suite tree from Step 2 — the suite hierarchy is the QA team's own map of the product;
78
- - the source structure — modules, routes, services, entry points.
79
- - Pair each area with the suites that test it and the source folders that implement it.
80
- - Order the areas by criticality, most critical first: payments/billing, auth and access control, data integrity, core business flows — then supporting features, then peripheral UI. Suite size is a signal: what QA tests heavily, they consider critical.
81
- - Show the ordered plan to the user before mapping.
82
- - Business code only: skip test code, manual test directories, dependency/build/vendor folders, framework configs, lock files.
83
- - **Templates and views are mappable source** (`.vue`, `.erb`, `.blade.php`, …) — tests check the rendered UI, so map them like code.
84
- - ❓ If areas or their priority are unclear, ask the user.
85
-
86
- ### Step 4: Map source files to tests
87
-
88
- **The Step 2 inventory is the work list. The map is complete only when every suite in it is either present in the coverage file or recorded as unmapped with a reason.** Work through the areas in Step 3's order — most critical first, so even an interrupted run covers what matters most. Run two passes — always both:
89
-
90
- - Code → tests: for each area, map its source files and subtrees to the identifiers of the tests that check them.
91
- - Tests → code: walk the inventory; for every suite still absent from the map, find the source it exercises and add it — or record why it cannot be mapped (feature has no code here, external system, needs user input).
92
-
93
- Scale the passes to the project — codebase size and suite count from Step 1:
94
-
95
- - Small codebase and few suites — run both passes in this session.
96
- - Large codebase or dozens of suites — spawn subagents in parallel: one per domain area for the code→tests pass, then one per batch of still-unmapped suites for the tests→code pass. Give each subagent:
97
- - its slice — one area (its suites and source folders), or a batch of suites;
98
- - the full test inventory from Step 2 — subagents must not re-extract it;
99
- - the mapping rules below and the [Coverage File Format](./references/COVERAGE_FILE_FORMAT.md);
100
- - the instruction to return a YAML fragment for its slice only.
101
- - Merge the fragments into one map, drop duplicate keys and empty entries. Only the main session writes the file (Step 5).
102
-
103
- For each candidate source file, pick the identifier that keeps selecting the right tests as the test suite grows:
104
-
105
- - Suite (`@S`) — the default. Most tests in the suite relate to the file.
106
- - Tag (`@word`) — the relevant tests live across several suites.
107
- - Test (`@T`) — the exception. Use only when just one or two tests in a suite match the file.
108
-
109
- Rules:
110
-
111
- - **More than a few test IDs from one suite or category → replace them with the suite or tag.** Tests added there later are picked up automatically; a list of test IDs goes stale.
112
- - Never list a test ID whose suite is already in the same entry.
113
- - Keys are source file paths or globs, relative to the repo root; use a glob when a whole subtree maps to the same identifiers.
114
- - Manual and automated identifiers mix freely in one entry.
115
- - No empty entries.
116
- - Annotate each identifier with a `#` comment naming its suite/test/tag title.
117
-
118
- YAML grammar: [Coverage File Format](./references/COVERAGE_FILE_FORMAT.md).
119
-
120
- ### Step 5: Save and validate the coverage file
121
-
122
- - Write the YAML to the output path, keeping the `#` comments.
123
- - Keys are paths to source files in this repo — never `.testeiya/...` paths.
124
- - Check it with the bundled checker. It ships in this skill's `scripts/` directory (next to this SKILL.md), not in the project — resolve its path from the skill location:
125
-
126
- ```bash
127
- npx js-yaml coverage.tests.yml | node <path-to-this-skill>/scripts/check-coverage.mjs
128
- ```
129
-
130
- - The checker flags keys missing on disk and empty entries, and prints every identifier referenced — cross-check them against the Step 2 inventory; only you know which are real.
131
- - Reconcile the other direction too: every suite in the inventory must appear in the file or in the unmapped list. Anything missing from both means the tests→code pass is not finished — go back to Step 4.
132
-
133
- ### Step 6: Report coverage completeness
134
-
135
- Show the user:
136
-
137
- - Suites mapped vs. total suites in the inventory; same for tests and tags where meaningful.
138
- - Every unmapped suite with its reason.
139
- - The produced YAML (or its path and entry count when large).
140
-
141
- ### Step 7: Show next steps
142
-
143
- Tell the user how to use the file with `@testomatio/reporter`:
144
-
145
- ```bash
146
- # Automated tests — the project's runner command must be passed in
147
- npx @testomatio/reporter run "npx playwright test" \
148
- --filter "coverage:file=coverage.tests.yml,diff=main"
149
-
150
- # Manual tests — creates a pending run with only the affected cases
151
- npx @testomatio/reporter run --kind manual \
152
- --filter "coverage:file=coverage.tests.yml,diff=main"
153
- ```
154
-
155
- - Per-framework runner commands and a GitHub Actions example: [Coverage File Format](./references/COVERAGE_FILE_FORMAT.md).
156
- - To group manual and automated runs of one regression cycle, set the same `TESTOMATIO_RUNGROUP` env var on both commands.
157
- - Recommend committing the coverage file so CI and teammates use the same mapping.
158
- - In CI, diff against the base branch — `diff=origin/main` — and checkout with `fetch-depth: 0`.
159
- - Pulled or cloned tests stay in the gitignored `.testeiya/` cache for re-runs — don't delete it or move it into a tracked folder.
160
-
161
- ### Step 8: Suggest follow-ups
162
-
163
- - Wire the map into CI — runs created per PR and launched on preview/merge: delegate to `setup-pr-testing`.
164
- - Run the affected tests right now from the terminal: delegate to `run-tests-with-testomatio-reporter`.
165
- - Coverage gaps — source features no test maps to. On approval, propose new cases (delegate to `qa-write-test-cases`).
166
- - Dead tests — tests whose features no longer exist in source.
167
- - Answer questions like "do we have tests for X?" from the inventory.
168
- - Editing pulled manual cases: edit them in `.testeiya/manual-tests/` and push back with `sync-test-cases-with-tms`.
169
-
170
- ## References
171
-
172
- - [Coverage File Format](./references/COVERAGE_FILE_FORMAT.md) — coverage YAML grammar, reporter contract, GitHub Actions example.
173
- - [E2E Frameworks](./references/E2E_FRAMEWORKS.md) — framework detection signals, where IDs live, per-framework `check-tests` commands.
174
- - [Manual test markdown format](../qa-write-test-cases/references/test-case-format.md) — canonical, owned by `qa-write-test-cases`.
@@ -1,138 +0,0 @@
1
- # Coverage File Format
2
-
3
- `coverage.tests.yml` (any path works) maps source files to manual and automated test identifiers — one grammar for both kinds. It is read by `@testomatio/reporter run --filter "coverage:file=<path>,diff=<branch>"`.
4
-
5
- Every path and identifier in this document is a placeholder showing the shape. Real file keys come from the project's source tree; real IDs come from its test inventory. Never copy a value from here into a coverage file.
6
-
7
- ## Top-level shape
8
-
9
- A YAML map. Keys are file paths or globs relative to the repository root. Values are lists of identifiers — Suite IDs, Test IDs, or tags.
10
-
11
- ```yaml
12
- <file or glob>:
13
- - "@S<8 chars>" # Suite ID
14
- - "@T<8 chars>" # Test ID
15
- - "@<tag>" # Tag (matches anything tagged with that label)
16
- ```
17
-
18
- ## Identifier types
19
-
20
- | Identifier | Format | Shape | Meaning |
21
- | ---------- | ------------ | ------------- | ---------------------------------------- |
22
- | Suite ID | `@S` + 8 hex | `@S1a2b3c4d` | All tests inside the suite are selected. |
23
- | Test ID | `@T` + 8 hex | `@T5e6f7a8b` | Only this specific test is selected. |
24
- | Tag | `@<word>` | `@smoke` | All tests tagged with the label. |
25
-
26
- For automated tests, IDs live in describe / it / test names:
27
-
28
- ```javascript
29
- describe('<suite title> @S1a2b3c4d', () => {
30
- it('<test title> @T5e6f7a8b', () => { ... });
31
- });
32
- ```
33
-
34
- They are populated by `npx check-tests <Framework> "<glob>" --update-ids` after the tests are imported into Testomat.io.
35
-
36
- ## File keys
37
-
38
- Either an exact path or a glob:
39
-
40
- ```yaml
41
- # Exact file
42
- <path/to/file>:
43
- - "@S1a2b3c4d"
44
-
45
- # Glob — any file under the directory
46
- <path/to/dir>/**:
47
- - "@<tag>"
48
-
49
- # Multiple identifiers per file
50
- <path/to/file>:
51
- - "@S1a2b3c4d"
52
- - "@T5e6f7a8b"
53
- ```
54
-
55
- ## Comments
56
-
57
- Use `#` to annotate each identifier with its human-readable title or purpose:
58
-
59
- ```yaml
60
- <path/to/file>:
61
- - "@S1a2b3c4d" # Suite: <suite title>
62
- - "@T5e6f7a8b" # Test: <test title>
63
- ```
64
-
65
- ## Reporter usage
66
-
67
- For automated tests the runner command **must** be the first positional argument — `--filter` generates a `--grep` that the runner consumes.
68
-
69
- ```bash
70
- # Playwright
71
- npx @testomatio/reporter run "npx playwright test" \
72
- --filter "coverage:file=coverage.tests.yml,diff=main"
73
-
74
- # Cypress
75
- npx @testomatio/reporter run "npx cypress run" \
76
- --filter "coverage:file=coverage.tests.yml,diff=main"
77
-
78
- # WebdriverIO / Mocha / Jest / CodeceptJS — pass the corresponding runner command
79
- npx @testomatio/reporter run "npx codeceptjs run" \
80
- --filter "coverage:file=coverage.tests.yml,diff=main"
81
- ```
82
-
83
- For manual tests pass `--kind manual` instead of a runner — the reporter creates a pending run in Testomat.io with only the affected cases:
84
-
85
- ```bash
86
- npx @testomatio/reporter run --kind manual \
87
- --filter "coverage:file=coverage.tests.yml,diff=main"
88
- ```
89
-
90
- The `diff` value must be a stable branch (`main`, `origin/main`) the reporter can run `git diff` against.
91
-
92
- ## GitHub Actions example
93
-
94
- ```yaml
95
- name: Run Tests Based on Changes
96
-
97
- on:
98
- pull_request:
99
- branches: [main]
100
-
101
- jobs:
102
- e2e-tests:
103
- runs-on: ubuntu-latest
104
- steps:
105
- - uses: actions/checkout@v4
106
- with:
107
- fetch-depth: 0
108
-
109
- # install browsers and prepare app for testing here
110
-
111
- - name: Run affected E2E tests
112
- env:
113
- TESTOMATIO: ${{ secrets.TESTOMATIO }}
114
- run: |
115
- npx @testomatio/reporter run "npx playwright test" \
116
- --filter "coverage:file=coverage.tests.yml,diff=origin/main"
117
- ```
118
-
119
- ## Checking the coverage file
120
-
121
- One command — no parser of your own. Run it with the project root as working directory (file keys resolve against it), but the checker itself lives in the skill's `scripts/` directory, not in the project:
122
-
123
- ```bash
124
- npx js-yaml coverage.tests.yml | node <path-to-this-skill>/scripts/check-coverage.mjs
125
- ```
126
-
127
- `npx js-yaml` parses the YAML (it fails loudly on a malformed file, so a broken one never reaches the script). `check-coverage.mjs` (~25 lines, zero deps) reads that parsed map on stdin, flags any key whose path is missing on disk, flags any key with no identifiers, lists every `@S…` / `@T…` / tag the file references, and exits non-zero on a problem.
128
-
129
- The script can't tell which identifiers are real — check the listed ones against the set you extracted earlier in the workflow. Don't re-parse the test set, don't write your own YAML parser, and never use `python`.
130
-
131
- ## Authoring tips
132
-
133
- - Prefer Suite IDs when most of a suite relates to a file.
134
- - Use tags for cross-cutting concerns that span suites.
135
- - Use Test IDs only when one or two tests in a suite are relevant — a long test-ID list goes stale as tests are added, a suite or tag keeps selecting new ones.
136
- - Never list a test ID whose suite is already in the entry — the suite ID already selects it.
137
- - Avoid empty entries.
138
- - Commit the coverage file to the repo so CI and teammates use the same mapping.
@@ -1,65 +0,0 @@
1
- # E2E Framework Detection
2
-
3
- How to detect the framework in use and where Testomatio IDs live in each.
4
-
5
- ## Detection signals
6
-
7
- | Framework | Filename patterns | Imports | Test syntax |
8
- | ------------ | --------------------------------------------------------- | ------------------------------------ | ---------------------------------------- |
9
- | Playwright | `*.spec.ts`, `*.spec.js`, `*.test.ts` | `@playwright/test` | `test(...)`, `test.describe(...)` |
10
- | Cypress | `*.cy.js`, `*.cy.ts` | `cypress` | `describe(...)`, `it(...)`, `context(...)` |
11
- | WebdriverIO | `*.test.js`, `*.e2e.js` | `@wdio/cli`, `webdriverio` | `describe(...)`, `it(...)` |
12
- | Puppeteer | `*.test.js` | `puppeteer` | `describe(...)`, `it(...)` |
13
- | CodeceptJS | `*_test.js`, `*.test.js` | `codeceptjs` | `Feature(...)`, `Scenario(...)` |
14
- | Appium | `*.spec.js`, `*.e2e.js` | `appium`, `webdriverio` | `describe(...)`, `it(...)` |
15
- | Mocha (e2e) | `*.test.js`, `*.spec.js` | `mocha` | `describe(...)`, `it(...)` |
16
- | Jest (e2e) | `*.test.js`, `*.spec.js` | `jest` | `describe(...)`, `it(...)`, `test(...)` |
17
-
18
- Look at filename patterns first, then confirm with imports. Configuration files (`playwright.config.*`, `cypress.config.*`, `wdio.conf.*`, `codecept.conf.*`) are the strongest tiebreaker.
19
-
20
- ## Where Testomatio IDs live
21
-
22
- IDs are appended to test/suite names — never inside code blocks:
23
-
24
- ```javascript
25
- // Playwright / WebdriverIO / Mocha / Jest / Puppeteer / Cypress
26
- describe('<suite title> @S1a2b3c4d', () => {
27
- it('<test title> @T5e6f7a8b', () => { ... });
28
- });
29
-
30
- test('<test title> @smoke @T5e6f7a8b', async ({ page }) => { ... });
31
- ```
32
-
33
- ```javascript
34
- // CodeceptJS
35
- Feature('<suite title> @S1a2b3c4d');
36
-
37
- Scenario('<test title> @T5e6f7a8b', ({ I }) => { ... });
38
- ```
39
-
40
- Tags use the same `@word` form (`@smoke`, `@regression`, `@jira-123`).
41
-
42
- ## Populating IDs
43
-
44
- If tests do not yet contain `@S` / `@T` markers, run `check-tests` with the matching framework adapter and `--update-ids`:
45
-
46
- ```bash
47
- # Playwright
48
- npx check-tests@latest Playwright "**/*{.,_}{test,spec}.{js,ts}" --update-ids
49
-
50
- # Cypress
51
- npx check-tests@latest Cypress "**/*.cy.{js,ts}" --update-ids
52
-
53
- # CodeceptJS
54
- npx check-tests@latest CodeceptJS "**/*_test.js" --update-ids
55
-
56
- # WebdriverIO
57
- npx check-tests@latest WebdriverIO "**/*.{test,e2e}.js" --update-ids
58
- ```
59
-
60
- `check-tests` rewrites the test files in place, inserting the IDs assigned by Testomat.io. Commit the changes before running `qa-test-code-coverage`.
61
-
62
- ## Related skills
63
-
64
- - `qa-e2e-tests-reporting` — install `@testomatio/reporter` and import tests via `check-tests`.
65
- - `sync-test-cases-with-tms` — pull/push manual cases. See its [Testomat.io CLI reference](../../sync-test-cases-with-tms/references/TESTOMATIO_CLI.md) for the full `check-tests` command set, including `--update-ids`.
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- // Sanity-check a coverage YAML mapping (manual and automated — same format).
3
- //
4
- // `js-yaml` does the YAML parsing; this script just checks the result.
5
- // Run it from the project root and pipe the parsed file in:
6
- //
7
- // npx js-yaml coverage.tests.yml | node check-coverage.mjs
8
- //
9
- // (`npx js-yaml` prints JSON, and fails loudly if the YAML is malformed,
10
- // so a broken file never reaches this script.)
11
- //
12
- // Reports: keys whose path is missing on disk, keys with no identifiers,
13
- // and the list of @S/@T/tag IDs referenced — cross-check those against
14
- // the test set you already extracted. Exits non-zero on any problem.
15
- // (Never use python.)
16
-
17
- import { existsSync, readFileSync } from 'node:fs';
18
-
19
- const map = JSON.parse(readFileSync(0, 'utf8')); // fd 0 = stdin
20
- if (!map || typeof map !== 'object' || Array.isArray(map)) {
21
- console.error('expected a JSON object of "path": [ids] — pipe `npx js-yaml <file>` into me');
22
- process.exit(1);
23
- }
24
-
25
- const ids = new Set();
26
- let problems = 0;
27
-
28
- for (const [key, value] of Object.entries(map)) {
29
- const list = Array.isArray(value) ? value : value == null ? [] : [value];
30
- if (list.length === 0) { console.log('empty: ', key); problems++; }
31
- list.forEach((id) => ids.add(String(id)));
32
-
33
- if (key.startsWith('tag:')) continue; // tag selector, not a path
34
- const base = key.replace(/[\/\\][^\/\\]*[*?[\]].*$/, ''); // a glob → its non-glob prefix
35
- if (base && !existsSync(base)) { console.log('missing:', key); problems++; }
36
- }
37
-
38
- console.log('\nidentifiers:', [...ids].sort().join(', ') || '(none)');
39
- console.log(problems ? `\n${problems} problem(s) above — fix them` : '\nall keys resolve, no empty entries');
40
- process.exit(problems ? 1 : 0);
@@ -1,36 +0,0 @@
1
- ---
2
- name: qa-thinking
3
- description: Analyze a feature a developer is building from a QA perspective — edge cases, negative flows, abuses, unobvious scenarios — and write acceptance criteria. Use when asked "what could go wrong?", "what am I missing?", "review this as QA", or for acceptance criteria before tests exist.
4
- ---
5
-
6
-
7
- Look at the feature in development and think about it like a senior QA engineer.
8
- The user can explain the idea, or you can take it from the current branch or current PR.
9
-
10
- Think:
11
-
12
- - Find feature positive scenarios
13
- - Find feature negative scenarios: what are possible negative usage scenarios in this feature?
14
- - Discover unobvious ways of using the feature (multiple actions, boundary values, cancellations)
15
- - Combinations: look how this feature aligns with other features. What can users do?
16
- - What are possible abuses of this feature?
17
- - Data consistency: think how user inputs may create inconsistent state and how it can affect the feature in the future or the overall system
18
- - What are possible security vulnerabilities in this feature?
19
- - What can be unit tested, what can't be, what should be verified manually? How to verify manually? (do not recommend manually verifying things already unit tested)
20
- - What end-to-end test scenarios can you recommend?
21
- - What test coverage do you recommend (percent of unit, e2e, manual)?
22
-
23
- Output:
24
-
25
- - list number and scope of unit/e2e tests if they are available (Section: ☑️ What is already tested)
26
- - ask questions to resolve important ambiguities of the feature (Section: 👓 What must be clarified)
27
- - propose up to 10 important test scenarios first (not more) (Section: 🔬 What must be verified)
28
- - prefer simple wording and short sentences
29
- - when asked for more, propose another bunch of test scenarios
30
- - do not list all automated unit/e2e test scenarios (prefer to generalize them and expand when the user asks you to)
31
-
32
- Outcomes:
33
-
34
- - Testing plan for unit/e2e/manual testing
35
- - Propose checklist for manual testing with acceptance criteria (`action → expected result`).
36
- - Offer to turn it into test cases with `qa-write-test-cases` skill.