testeiya 0.2.0 → 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 (412) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -175
  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 -41
  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/models.catalog.json +0 -6963
  51. package/skills/codeceptjs/ci-fix-tests/SKILL.md +0 -120
  52. package/skills/codeceptjs/codeceptjs-auth/SKILL.md +0 -158
  53. package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +0 -91
  54. package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +0 -158
  55. package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +0 -90
  56. package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +0 -234
  57. package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +0 -110
  58. package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +0 -306
  59. package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +0 -352
  60. package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +0 -472
  61. package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +0 -350
  62. package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +0 -81
  63. package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +0 -206
  64. package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
  65. package/skills/playwright-best-practices-skill/README.md +0 -147
  66. package/skills/playwright-best-practices-skill/SKILL.md +0 -303
  67. package/skills/playwright-best-practices-skill/advanced/authentication-flows.md +0 -360
  68. package/skills/playwright-best-practices-skill/advanced/authentication.md +0 -871
  69. package/skills/playwright-best-practices-skill/advanced/clock-mocking.md +0 -364
  70. package/skills/playwright-best-practices-skill/advanced/mobile-testing.md +0 -409
  71. package/skills/playwright-best-practices-skill/advanced/multi-context.md +0 -288
  72. package/skills/playwright-best-practices-skill/advanced/multi-user.md +0 -393
  73. package/skills/playwright-best-practices-skill/advanced/network-advanced.md +0 -452
  74. package/skills/playwright-best-practices-skill/advanced/third-party.md +0 -464
  75. package/skills/playwright-best-practices-skill/architecture/pom-vs-fixtures.md +0 -363
  76. package/skills/playwright-best-practices-skill/architecture/test-architecture.md +0 -369
  77. package/skills/playwright-best-practices-skill/architecture/when-to-mock.md +0 -383
  78. package/skills/playwright-best-practices-skill/browser-apis/browser-apis.md +0 -391
  79. package/skills/playwright-best-practices-skill/browser-apis/iframes.md +0 -403
  80. package/skills/playwright-best-practices-skill/browser-apis/service-workers.md +0 -504
  81. package/skills/playwright-best-practices-skill/browser-apis/websockets.md +0 -403
  82. package/skills/playwright-best-practices-skill/core/annotations.md +0 -424
  83. package/skills/playwright-best-practices-skill/core/assertions-waiting.md +0 -361
  84. package/skills/playwright-best-practices-skill/core/configuration.md +0 -452
  85. package/skills/playwright-best-practices-skill/core/fixtures-hooks.md +0 -417
  86. package/skills/playwright-best-practices-skill/core/global-setup.md +0 -434
  87. package/skills/playwright-best-practices-skill/core/locators.md +0 -242
  88. package/skills/playwright-best-practices-skill/core/page-object-model.md +0 -315
  89. package/skills/playwright-best-practices-skill/core/projects-dependencies.md +0 -453
  90. package/skills/playwright-best-practices-skill/core/test-data.md +0 -492
  91. package/skills/playwright-best-practices-skill/core/test-suite-structure.md +0 -361
  92. package/skills/playwright-best-practices-skill/core/test-tags.md +0 -298
  93. package/skills/playwright-best-practices-skill/debugging/console-errors.md +0 -420
  94. package/skills/playwright-best-practices-skill/debugging/debugging.md +0 -504
  95. package/skills/playwright-best-practices-skill/debugging/error-testing.md +0 -360
  96. package/skills/playwright-best-practices-skill/debugging/flaky-tests.md +0 -496
  97. package/skills/playwright-best-practices-skill/frameworks/angular.md +0 -530
  98. package/skills/playwright-best-practices-skill/frameworks/nextjs.md +0 -469
  99. package/skills/playwright-best-practices-skill/frameworks/react.md +0 -531
  100. package/skills/playwright-best-practices-skill/frameworks/vue.md +0 -574
  101. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/ci-cd.md +0 -468
  102. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/docker.md +0 -283
  103. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/github-actions.md +0 -546
  104. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/gitlab.md +0 -397
  105. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/other-providers.md +0 -521
  106. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/parallel-sharding.md +0 -371
  107. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/performance.md +0 -453
  108. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/reporting.md +0 -424
  109. package/skills/playwright-best-practices-skill/infrastructure-ci-cd/test-coverage.md +0 -497
  110. package/skills/playwright-best-practices-skill/testing-patterns/accessibility.md +0 -359
  111. package/skills/playwright-best-practices-skill/testing-patterns/api-testing.md +0 -719
  112. package/skills/playwright-best-practices-skill/testing-patterns/browser-extensions.md +0 -506
  113. package/skills/playwright-best-practices-skill/testing-patterns/canvas-webgl.md +0 -493
  114. package/skills/playwright-best-practices-skill/testing-patterns/component-testing.md +0 -500
  115. package/skills/playwright-best-practices-skill/testing-patterns/drag-drop.md +0 -576
  116. package/skills/playwright-best-practices-skill/testing-patterns/electron.md +0 -509
  117. package/skills/playwright-best-practices-skill/testing-patterns/file-operations.md +0 -377
  118. package/skills/playwright-best-practices-skill/testing-patterns/file-upload-download.md +0 -562
  119. package/skills/playwright-best-practices-skill/testing-patterns/forms-validation.md +0 -561
  120. package/skills/playwright-best-practices-skill/testing-patterns/graphql-testing.md +0 -331
  121. package/skills/playwright-best-practices-skill/testing-patterns/i18n.md +0 -508
  122. package/skills/playwright-best-practices-skill/testing-patterns/performance-testing.md +0 -476
  123. package/skills/playwright-best-practices-skill/testing-patterns/security-testing.md +0 -430
  124. package/skills/playwright-best-practices-skill/testing-patterns/visual-regression.md +0 -634
  125. package/skills/playwright-cli/SKILL.md +0 -420
  126. package/skills/playwright-cli/references/element-attributes.md +0 -23
  127. package/skills/playwright-cli/references/playwright-tests.md +0 -39
  128. package/skills/playwright-cli/references/request-mocking.md +0 -87
  129. package/skills/playwright-cli/references/running-code.md +0 -241
  130. package/skills/playwright-cli/references/session-management.md +0 -225
  131. package/skills/playwright-cli/references/storage-state.md +0 -275
  132. package/skills/playwright-cli/references/test-generation.md +0 -433
  133. package/skills/playwright-cli/references/tracing.md +0 -139
  134. package/skills/playwright-cli/references/video-recording.md +0 -143
  135. package/skills/testeiya/README.md +0 -29
  136. package/skills/testeiya/answer-formatting/SKILL.md +0 -30
  137. package/skills/testeiya/check-cucumber/SKILL.md +0 -200
  138. package/skills/testeiya/check-tests/SKILL.md +0 -260
  139. package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
  140. package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
  141. package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
  142. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
  143. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
  144. package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
  145. package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
  146. package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
  147. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
  148. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
  149. package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
  150. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
  151. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
  152. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
  153. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
  154. package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
  155. package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
  156. package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
  157. package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
  158. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
  159. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
  160. package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
  161. package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
  162. package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
  163. package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
  164. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
  165. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
  166. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
  167. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
  168. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
  169. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
  170. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
  171. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
  172. package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
  173. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
  174. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
  175. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
  176. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
  177. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
  178. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
  179. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
  180. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
  181. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
  182. package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
  183. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
  184. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
  185. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
  186. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
  187. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
  188. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
  189. package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
  190. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
  191. package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
  192. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
  193. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
  194. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
  195. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
  196. package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
  197. package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
  198. package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
  199. package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
  200. package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
  201. package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
  202. package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
  203. package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
  204. package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
  205. package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
  206. package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
  207. package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
  208. package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
  209. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
  210. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
  211. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
  212. package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
  213. package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
  214. package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
  215. package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
  216. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
  217. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
  218. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
  219. package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
  220. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
  221. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
  222. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
  223. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
  224. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
  225. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
  226. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
  227. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
  228. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
  229. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
  230. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
  231. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
  232. package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
  233. package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
  234. package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
  235. package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
  236. package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
  237. package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
  238. package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
  239. package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
  240. package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
  241. package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
  242. package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
  243. package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
  244. package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
  245. package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
  246. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
  247. package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
  248. package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
  249. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
  250. package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
  251. package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
  252. package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
  253. package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
  254. package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
  255. package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
  256. package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
  257. package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
  258. package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
  259. package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
  260. package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
  261. package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
  262. package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
  263. package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
  264. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
  265. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
  266. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
  267. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
  268. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
  269. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
  270. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
  271. package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
  272. package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
  273. package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
  274. package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
  275. package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
  276. package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
  277. package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
  278. package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
  279. package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
  280. package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
  281. package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
  282. package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
  283. package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
  284. package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +0 -88
  285. package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +0 -95
  286. package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +0 -334
  287. package/skills/testomatio/test-automation/automate-manual-test-cases/CLAUDE.md +0 -56
  288. package/skills/testomatio/test-automation/automate-manual-test-cases/SKILL.md +0 -242
  289. package/skills/testomatio/test-automation/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +0 -182
  290. package/skills/testomatio/test-automation/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +0 -22
  291. package/skills/testomatio/test-automation/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +0 -90
  292. package/skills/testomatio/test-automation/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +0 -53
  293. package/skills/testomatio/test-automation/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +0 -52
  294. package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/SKILL.md +0 -107
  295. package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +0 -113
  296. package/skills/testomatio/test-automation/qa-automation-test-consolidation/SKILL.md +0 -29
  297. package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +0 -151
  298. package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
  299. package/skills/testomatio/test-automation/testomat-allure-adapter/SKILL.md +0 -289
  300. package/skills/testomatio/test-management/detect-duplicate-test-cases/SKILL.md +0 -86
  301. package/skills/testomatio/test-management/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +0 -54
  302. package/skills/testomatio/test-management/improve-test-cases/SKILL.md +0 -114
  303. package/skills/testomatio/test-management/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +0 -66
  304. package/skills/testomatio/test-management/pull-request-diff-analyzer/SKILL.md +0 -141
  305. package/skills/testomatio/test-management/qa-e2e-tests-reporting/SKILL.md +0 -354
  306. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +0 -82
  307. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +0 -37
  308. package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +0 -118
  309. package/skills/testomatio/test-management/qa-pr-requirements-analyzer/SKILL.md +0 -149
  310. package/skills/testomatio/test-management/qa-pr-requirements-analyzer/references/summary-example.md +0 -54
  311. package/skills/testomatio/test-management/qa-requirement-reviewer/SKILL.md +0 -126
  312. package/skills/testomatio/test-management/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -128
  313. package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +0 -174
  314. package/skills/testomatio/test-management/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +0 -138
  315. package/skills/testomatio/test-management/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +0 -65
  316. package/skills/testomatio/test-management/qa-test-code-coverage/scripts/check-coverage.mjs +0 -40
  317. package/skills/testomatio/test-management/qa-thinking/SKILL.md +0 -36
  318. package/skills/testomatio/test-management/qa-write-test-cases/SKILL.md +0 -267
  319. package/skills/testomatio/test-management/qa-write-test-cases/references/test-case-format.md +0 -387
  320. package/skills/testomatio/test-management/qa-write-test-cases/references/testomat-tms-guide.md +0 -72
  321. package/skills/testomatio/test-management/qa-write-test-cases/references/writing-rule.md +0 -159
  322. package/skills/testomatio/test-management/scan-automation-project/SKILL.md +0 -152
  323. package/skills/testomatio/test-management/sync-test-cases-with-tms/SKILL.md +0 -107
  324. package/skills/testomatio/test-management/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +0 -140
  325. package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +0 -182
  326. package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +0 -169
  327. package/skills.yaml +0 -21
  328. package/src/ai-debug.ts +0 -188
  329. package/src/api/agent-get.ts +0 -22
  330. package/src/api/agent-start.ts +0 -384
  331. package/src/api/client-log.ts +0 -29
  332. package/src/api/context.ts +0 -332
  333. package/src/api/debug-layout.ts +0 -47
  334. package/src/api/debug-report.ts +0 -29
  335. package/src/api/debug-snapshot.ts +0 -30
  336. package/src/api/debug-stream.ts +0 -52
  337. package/src/api/files-delete.ts +0 -184
  338. package/src/api/files-read.ts +0 -41
  339. package/src/api/files-rename.ts +0 -99
  340. package/src/api/files-tree.ts +0 -292
  341. package/src/api/files-write.ts +0 -41
  342. package/src/api/mcp.ts +0 -603
  343. package/src/api/memory.ts +0 -69
  344. package/src/api/open-external.ts +0 -39
  345. package/src/api/playwright-cli.ts +0 -606
  346. package/src/api/providers.ts +0 -457
  347. package/src/api/read-env-token.ts +0 -33
  348. package/src/api/sessions.ts +0 -79
  349. package/src/api/settings.ts +0 -120
  350. package/src/api/skills.ts +0 -58
  351. package/src/api/testomatio-attachment.ts +0 -89
  352. package/src/api/testomatio-auth.ts +0 -284
  353. package/src/api/testomatio-proxy.ts +0 -197
  354. package/src/api/testomatio-run-stats.ts +0 -81
  355. package/src/api/testomatio-target.ts +0 -225
  356. package/src/api/testomatio-transcription.ts +0 -82
  357. package/src/api/workspace-search.ts +0 -96
  358. package/src/api/workspace-sync.ts +0 -151
  359. package/src/api/workspace.ts +0 -165
  360. package/src/app-server.ts +0 -556
  361. package/src/bridge.ts +0 -251
  362. package/src/check-tests.ts +0 -156
  363. package/src/cli.ts +0 -17
  364. package/src/commands.ts +0 -244
  365. package/src/config.ts +0 -183
  366. package/src/connection.ts +0 -658
  367. package/src/context-store.ts +0 -265
  368. package/src/debug-bus.ts +0 -405
  369. package/src/extensions/tool-gate.ts +0 -220
  370. package/src/extensions/webui/ask-channel.ts +0 -52
  371. package/src/extensions/webui/index.ts +0 -184
  372. package/src/extensions/webui/tools/ask-question.ts +0 -88
  373. package/src/extensions/webui/tools/query-result.ts +0 -79
  374. package/src/extensions/webui/tools/render-chart.ts +0 -53
  375. package/src/extensions/webui/tools/render-item.ts +0 -61
  376. package/src/extensions/webui/tools/render-list.ts +0 -170
  377. package/src/extensions/webui/tools/render-result.ts +0 -85
  378. package/src/extensions/webui/tools/render-tree.ts +0 -71
  379. package/src/extensions/webui/tools/ui-widget.ts +0 -54
  380. package/src/extensions/webui/tools/widget-result.ts +0 -13
  381. package/src/extensions/webui/widget-channel.ts +0 -50
  382. package/src/file-log.ts +0 -196
  383. package/src/git-tracked.ts +0 -68
  384. package/src/gitignore.ts +0 -53
  385. package/src/json-store.ts +0 -43
  386. package/src/load-env.ts +0 -70
  387. package/src/loader-style.ts +0 -96
  388. package/src/main.ts +0 -140
  389. package/src/mcp-catalog.ts +0 -96
  390. package/src/models-catalog.ts +0 -72
  391. package/src/permissions.ts +0 -120
  392. package/src/project-dir.ts +0 -189
  393. package/src/project-info.ts +0 -108
  394. package/src/prompt/app-ui.ts +0 -59
  395. package/src/prompt/browser.ts +0 -27
  396. package/src/prompt/index.ts +0 -62
  397. package/src/server-info.ts +0 -62
  398. package/src/session-factory.ts +0 -442
  399. package/src/session-store.ts +0 -115
  400. package/src/shell-env.ts +0 -45
  401. package/src/skills.ts +0 -163
  402. package/src/sync-snapshot.ts +0 -140
  403. package/src/telemetry.ts +0 -239
  404. package/src/testomatio-auth.ts +0 -299
  405. package/src/testomatio.ts +0 -98
  406. package/src/theme.ts +0 -30
  407. package/src/user-env.ts +0 -94
  408. package/src/welcome.ts +0 -127
  409. package/src/workspace/safe-path.ts +0 -85
  410. package/src/workspace/test-md.ts +0 -70
  411. package/src/workspace-model.ts +0 -440
  412. package/testeiya.config.json +0 -14
@@ -1,107 +0,0 @@
1
- ---
2
- name: debug-fix-failed-flaky-autotests
3
- description: Diagnose and fix failing automated tests. Analyzes failures, inspects DOM, identifies root causes, and applies targeted fixes using framework tools and MCP/CLI debug modes. Use when tests fail, are flaky, or behave inconsistently (e.g., pass locally but fail in CI).
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 1.0.0
8
- ---
9
-
10
- # Debug and Fix Failing Autotests
11
-
12
- Diagnose failing automated tests and apply targeted fixes.
13
- Follow the four steps in order.
14
- Detailed fixes and code examples: [references/DEBUGGING_QUICK_REFERENCE.md](references/DEBUGGING_QUICK_REFERENCE.md).
15
-
16
- ## Step 1: Analyze Failure
17
-
18
- - Identify the framework. It determines the debug tools:
19
- - Playwright: CLI debug, trace viewer, MCP snapshots.
20
- - CodeceptJS: `--steps` mode, CDP inspection.
21
- - Cypress: devTools, screenshots on failure.
22
- - WebdriverIO: Selenium logs.
23
- - Categorize the error:
24
- - Locator (element missing/unreachable).
25
- - Timing (timeout/race).
26
- - Assertion (expected ≠ actual).
27
- - Flow (navigation, preconditions).
28
- - Infrastructure (CI/browser/network).
29
- - End with a hypothesis: root cause + fix category.
30
-
31
- ## Step 2: Inspect and Diagnose
32
-
33
- - DOM inspection:
34
- - Playwright: `page.locator('selector').evaluate(el => el.outerHTML)`.
35
- - CodeceptJS: `I.executeScript(() => document.querySelector('.selector').outerHTML)`.
36
- - MCP snapshot: capture live DOM state for complex elements.
37
- - Console and network logs:
38
- - Console: `page.on('console', msg => console.log(msg.text()))`.
39
- - Failed requests: `page.on('requestfailed', r => console.log(r.failure().errorText))`.
40
- - Trace analysis (Playwright): `npx playwright show-trace trace.zip`.
41
- - Inspect timing and order of clicks, navigation, network requests.
42
-
43
- ## Step 3: Apply Fix
44
-
45
- **Fix in priority order: locators → timing → assertions → flow.**
46
-
47
- - Locators: use stable selectors (`data-testid` → `aria-label` → `role` → `id` → `text` → CSS/XPath).
48
- - Re-fetch stale elements, scroll hidden elements into view, use `.first()` for multiple matches.
49
- - Timing: use framework-native waits (`waitFor`, `waitForNavigation`, `waitForLoadState('networkidle')`).
50
- - **No hard sleeps** like `sleep(5000)` or `wait(2)`.
51
- - Assertions: use contains/regex for flexible matching.
52
- - Verify expected values against the test spec, not assumptions.
53
- - Flow: ensure preconditions (login, navigation order, test data).
54
- - Isolate test state from prior runs.
55
-
56
- Before/after examples for each category: [references/DEBUGGING_QUICK_REFERENCE.md](references/DEBUGGING_QUICK_REFERENCE.md).
57
-
58
- ## Step 4: Verify and Stabilize
59
-
60
- Re-run the test:
61
-
62
- ```bash
63
- npx playwright test path/to/test.spec.ts
64
- npx codeceptjs run path/to/test.js
65
- ```
66
-
67
- Test is stable when:
68
- - Passes 2 consecutive runs.
69
- - Uses resilient locators.
70
- - Waits properly for dynamic content.
71
-
72
- **Max 3 healing attempts total.** After 3 failed attempts: stop, document what was tried, ask the user for guidance.
73
-
74
- Document the fix: root cause, applied fix, verification result.
75
-
76
- ## MCP Debug Tools (Optional)
77
-
78
- Use MCP when standard fixes fail, the UI is complex (dropdowns, modals, dynamic content), or live DOM inspection is needed:
79
- - Playwright MCP: live snapshots, element counts, DOM inspection after each action.
80
- - CodeceptJS MCP: CDP-based inspection, `--steps` mode for live debugging.
81
-
82
- ## User Interaction
83
-
84
- Ask when unclear:
85
-
86
- ```
87
- ❓ Which element should I target for this action?
88
-
89
- Options:
90
- 1. Submit button (data-testid="submit")
91
- 2. Save button (aria-label="Save")
92
- 3. Other (specify)
93
- ```
94
-
95
- Report progress:
96
-
97
- ```
98
- 🔍 Analyzing failure...
99
- - Error: Element not found
100
- - Context: Login test, line 42
101
-
102
- 🔧 Applying fix...
103
- - Issue: Selector too broad
104
- - Fix: Using getByRole('button', { name: 'Login' })
105
-
106
- ✅ Test passed! (Run 1/2)
107
- ```
@@ -1,113 +0,0 @@
1
- # Debugging Quick Reference
2
-
3
- Fix in priority order: locators → timing → assertions → flow.
4
-
5
- ---
6
-
7
- ## Locator Fixes
8
-
9
- | Problem | Avoid | Prefer |
10
- |---------|-------|--------|
11
- | Deep nesting | `.parent .child .grandchild` | `[data-testid="target"]` |
12
- | Index-based | `button:nth-child(2)` | `getByRole('button', { name: 'Submit' })` |
13
- | Partial text | `button:contains("Save")` | `getByText('Save', { exact: true })` |
14
- | Dynamic classes | `.btn-primary-123` | `[data-testid="save-btn"]` |
15
-
16
- Element state issues:
17
-
18
- - Not found => wait for element before action.
19
- - Not visible => scroll into view.
20
- - Not clickable => wait for enabled state; check overlays.
21
- - Stale element => re-fetch element before action.
22
- - Multiple matches => filter or use `.first()`.
23
-
24
- ---
25
-
26
- ## Timing Fixes
27
-
28
- Use framework-native waits instead of hard sleeps.
29
-
30
- - Avoid hard sleeps (`sleep(5000)`, `wait(2)`) => flaky.
31
- - Avoid implicit short waits => unreliable.
32
- - Works locally, fails in CI => CI is slower; increase timeouts and add explicit waits.
33
-
34
- **Playwright:**
35
- ```typescript
36
- await page.getByTestId('loader').waitFor({ state: 'hidden' });
37
- await page.waitForURL('/dashboard/**');
38
- await page.waitForResponse(r => r.status() === 200);
39
- ```
40
-
41
- **CodeceptJS:**
42
- ```javascript
43
- I.waitForNavigationVisible();
44
- I.waitForResponse(response => response.status() === 200);
45
- ```
46
-
47
- ### Fix Race Conditions
48
-
49
- Ensure assertions happen after dynamic content updates.
50
- Use `expect` with Playwright's built-in waiting, or `locator.waitFor()` only if needed.
51
-
52
- ```typescript
53
- // Click triggers dynamic update
54
- await page.getByRole('button', { name: 'Submit' }).click();
55
-
56
- // Wait for result text to appear (optional, only if dynamically loaded)
57
- await expect(page.getByTestId('result')).toHaveText('Success'); // automatically waits
58
- ```
59
-
60
- ---
61
-
62
- ## Assertion Fixes
63
-
64
- - Exact match too strict => use `toContain()` or regex.
65
- - Wrong expected value => verify against test spec.
66
- - Timing issues => wait before assertion.
67
- - Multiple elements => use `.first()` or `.nth(0)`.
68
-
69
- Examples:
70
-
71
- ```typescript
72
- // Before: exact match fails on whitespace
73
- expect(await page.locator('.title').textContent()).toBe('Hello World');
74
-
75
- // After: contains check
76
- await expect(page.locator('.title')).toContainText('Hello');
77
-
78
- // Better: trim if exact needed
79
- const text = (await page.locator('.title').textContent()).trim();
80
- expect(text).toBe('Hello World');
81
- ```
82
-
83
- ---
84
-
85
- ## Flow Fixes
86
-
87
- - Missing preconditions => ensure login, proper navigation, and required test data.
88
- - Fails on 2nd run => add cleanup hooks.
89
- - Depends on order => use `beforeEach` for fresh state.
90
- - Shared state => isolate per test worker.
91
-
92
- ---
93
-
94
- ## Framework-Specific Commands
95
-
96
- **Playwright:**
97
- - Show trace: `npx playwright show-trace trace.zip`
98
- - Run single file: `npx playwright test path/to/test.spec.ts`
99
-
100
- **CodeceptJS:**
101
- - Steps mode: `npx codeceptjs run --steps`
102
- - Verbose: `npx codeceptjs run --verbose`
103
- - Single file: `npx codeceptjs run path/to/test.js`
104
-
105
- ---
106
-
107
- ## Max 3 Healing Attempts
108
-
109
- 1. Attempt 1: apply fix based on initial diagnosis.
110
- 2. Attempt 2: if still fails, re-diagnose with new info.
111
- 3. Attempt 3: last try with an alternative approach.
112
-
113
- If still failing => STOP, document what was tried, ask the user for guidance.
@@ -1,29 +0,0 @@
1
- ---
2
- name: qa-automation-test-consolidation
3
- description: Detect redundant tests, duplicated test logic, semantic overlaps, and parameterization opportunities across the entire test suite. Present recommendations and request user approval before refactoring.
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 1.0.0
8
- ---
9
-
10
- ## Summary
11
-
12
- This skill analyzes an entire test suite to identify duplicate tests, semantic overlaps, duplicated test logic, parameterization opportunities, and overlapping business-rule validations. It prioritizes behavioral similarity over code similarity and recommends refactorings that reduce maintenance effort while preserving test coverage and business intent. No changes are applied without explicit user approval.
13
-
14
- ## How the Loop Works
15
-
16
- - Analyze the entire test suite for consolidation opportunities;
17
- - Group findings by type and confidence level;
18
- - Present a summary of the proposed changes and request user approval;
19
- - Apply the approved refactorings;
20
- - Re-analyze the updated test suite to identify newly exposed consolidation opportunities;
21
- - Repeat until no additional consolidation opportunities with a confidence level greater than 80% remain.
22
-
23
- ## Definition of Done
24
-
25
- - The entire test suite has been analyzed;
26
- - All consolidation opportunities have been presented to the user;
27
- - All approved refactorings have been applied;
28
- - The test suite has been re-analyzed after each iteration;
29
- - No duplicate tests, duplicated test logic, parameterization opportunities, or business-rule overlaps with a confidence level greater than 80% remain.
@@ -1,151 +0,0 @@
1
- ---
2
- name: run-tests-with-testomatio-reporter
3
- description: Create and launch Testomat.io test runs with the `@testomatio/reporter` CLI. Covers manual runs for testers, mixed manual+automated runs, local test execution with reported results, and remote launches through a Testomat.io CI profile (`--remote`). Runs can include the whole suite or be filtered by tag, plan, label, Jira ticket, or changed source files. Use when the user asks to start or create a test run from the command line, run a filtered group of tests, launch tests remotely, or report results into an existing run.
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 1.1.0
8
- ---
9
-
10
- # Run Tests with Testomat.io Reporter
11
-
12
- `npx @testomatio/reporter` creates test runs in Testomat.io and launches groups of tests — locally or remotely through a Testomat.io CI profile. Every command requires the `TESTOMATIO` env var (the project API key, `tstmt_*`) and exits 1 without it. Every value in angle brackets is a placeholder.
13
-
14
- ## Pick the command by intent
15
-
16
- | Intent | Command |
17
- | --------------------------------------------------- | ------------------------------------------- |
18
- | Create a run, execute nothing — testers start on it | `start` |
19
- | Execute tests locally and report results | `run "<runner command>"` |
20
- | Launch tests remotely via a Testomat.io CI profile | `run --remote <profile-name>` |
21
- | List which tests a filter matches, run nothing | `run --filter-list "<filter>" --format ids` |
22
- | Close a run created earlier | `finish` (run id via `TESTOMATIO_RUN`) |
23
-
24
- ## Run kinds
25
-
26
- `--kind` declares what the run contains:
27
-
28
- | Kind | Flag | Behavior |
29
- | --------- | --------------- | ----------------------------------------------------------------------------------------------- |
30
- | manual | `--kind manual` | manual cases only — pending for testers, complete without any launch |
31
- | mixed | `--kind mixed` | manual + automated in one run — testers work it while the automated part is launched separately |
32
- | automated | *(no flag)* | automated tests only |
33
-
34
- A run created with `start` executes nothing: manual cases are pending immediately; an automated part stays scheduled until launched. `--format id` prints only the run id to stdout (banner and logs go to stderr), so capture is clean:
35
-
36
- ```bash
37
- RUN_ID=$(npx @testomatio/reporter start --kind manual --format id)
38
- ```
39
-
40
- ## What goes into the run
41
-
42
- Without a filter, nothing is scoped:
43
-
44
- - `start` creates a run with no predefined test list — results land in it later, when tests report with `TESTOMATIO_RUN=<run-id>`.
45
- - `run "<runner command>"` executes the full suite and reports every result.
46
- - `run --remote <profile-name>` dispatches the Testomat.io CI profile with its default scope.
47
-
48
- `--filter "<pipe>:<criteria>"` narrows the run to the matching tests instead. Two filter pipes exist — `testomatio:` (match by test metadata stored in the project) and `coverage:` (match by changed source files); any other prefix is rejected. `start` and `run` accept the same filters, so a filtered run can be prepared first and launched later.
49
-
50
- ### Filter by tag, plan, label, or Jira ticket (`testomatio:`)
51
-
52
- | Criteria | Filter |
53
- | -------------------------- | -------------------------------------------- |
54
- | tag | `"testomatio:tag-name=<tag>"` |
55
- | plan (Testomat.io plan id) | `"testomatio:plan=<plan-id>"` |
56
- | label | `"testomatio:label=<label>"` |
57
- | label with value | `"testomatio:label=<label>:<value>"` |
58
- | Jira ticket | `"testomatio:jira-ticket=<ticket-id>"` |
59
-
60
- - The value must match exactly — the tag name, plan id, label, or ticket as stored in the project.
61
- - Works with every test framework whose runner accepts `--grep` (Playwright, CodeceptJS, Cypress, etc.) — the filter resolves to a grep pattern the runner consumes.
62
-
63
- ### Filter by changed source files (`coverage:`)
64
-
65
- ```
66
- --filter "coverage:file=<path-to-coverage-map>,diff=<git-ref>"
67
- ```
68
-
69
- This is how "run only the tests affected by a code change" works — and it needs a **coverage map**: a YAML file mapping source files/globs to test IDs and tags. The reporter cannot know by itself which tests cover which code; the map provides that link, and the diff selects which of its entries are affected. Create the map with the `qa-test-code-coverage` skill (default `coverage.tests.yml`, one file serving both manual and automated tests).
70
-
71
- - `file=` — path to the coverage map. May be absolute; it is read with `fs`, independent of the working directory.
72
- - `diff=` — git ref to diff against; defaults to `master`. The reporter runs `git diff <ref> --name-only` **in `process.cwd()`** — launch it from inside the repo whose changes are being detected.
73
- - Changed files are mapped through the YAML; the matching suite/test IDs and tags become the run's scope.
74
- - Zero matching tests → no run is created (`No tests found.`); treat that as success in scripts and CI jobs.
75
-
76
- #### Picking the diff base
77
-
78
- - Changes on a branch → diff against its target branch (e.g. `origin/<default-branch>`). Full git history must be available (`fetch-depth: 0` or the CI's equivalent).
79
- - After a merge the target branch equals `HEAD`, so diffing against it yields nothing — use the previous mainline tip: `HEAD~1` for squash merges, `HEAD^1` for merge commits.
80
-
81
- ### List matching tests without running (`--filter-list`)
82
-
83
- `--filter-list` resolves a filter and prints the matching test IDs — nothing executes, no run is created. `--format` picks the encoding: `ids` (comma-separated, default), `grep` (alternation pattern), `json`, `newline`. Exit code 0 when at least one test matched, 1 when nothing did — scripts can branch on it:
84
-
85
- ```bash
86
- GREP=$(npx @testomatio/reporter run --filter-list "coverage:file=<coverage-map>" --format grep)
87
- [ -n "$GREP" ] && npx playwright test --grep "$GREP"
88
- ```
89
-
90
- Cannot be combined with `--remote`.
91
-
92
- ## Name and group the run
93
-
94
- - `TESTOMATIO_TITLE` — the run title (e.g. `PR <number>: <title>`).
95
- - `TESTOMATIO_RUNGROUP_TITLE` — groups related runs (per week / release / milestone).
96
- - `TESTOMATIO_ENV` — optional environment labels.
97
-
98
- ## Report into an existing run
99
-
100
- - `TESTOMATIO_RUN=<run-id>` — the command reports or launches into that run instead of creating a new one. Works across pipelines and even across repos — pass it (with `TESTOMATIO` and the title env) into whatever process executes the tests.
101
- - No id at hand → shared-run title matching. Set on both sides:
102
- - `TESTOMATIO_SHARED_RUN=1` — match the run by `TESTOMATIO_TITLE` instead of creating a new one;
103
- - `TESTOMATIO_TITLE` — the match key, identical on both sides;
104
- - `TESTOMATIO_SHARED_RUN_TIMEOUT` — minutes the title stays matchable, **default 20**; size it to the expected gap between create and launch.
105
-
106
- ## Remote launch (`run --remote`)
107
-
108
- `--remote <profile-name>` asks Testomat.io to dispatch a **Testomat.io CI profile** — a CI workflow configuration saved on the project (Settings → CI) — instead of executing tests locally. Testomat.io triggers that workflow, and its results report back into the run:
109
-
110
- ```bash
111
- TESTOMATIO_RUN=$RUN_ID npx @testomatio/reporter run --remote <profile-name> \
112
- --filter "coverage:file=<coverage-map>,diff=<git-ref>"
113
- ```
114
-
115
- - With `TESTOMATIO_RUN`, the Testomat.io CI profile is triggered for that run; without it, a new run is created.
116
- - Works with every filter form — the resolved test ids are forwarded to the CI workflow as a grep pattern. No filter → no grep; the workflow runs its default scope, or a prepared run's stored scope from creation time. A fresh `--filter` at launch replaces the stored scope.
117
- - `--remote-param <key>=<value>` forwards a parameter to the Testomat.io CI profile config (repeat for several) — e.g. a preview URL or target branch.
118
- - Guards: cannot combine with `--filter-list`; any positional command is ignored with a warning; a missing Testomat.io CI profile fails with `CI launch failed: <message>` and exit 1.
119
-
120
- ### Choosing the Testomat.io CI profile
121
-
122
- Profiles differ by workflow, job names, and parameters — never guess one. When talking to the user, always say "Testomat.io CI profile" in full and explain what it is; the bare word "profile" means nothing to them.
123
-
124
- - Testomat.io MCP connected → fetch the Testomat.io CI profiles, present the list, and ask the user to choose (see `testomatio-mcp` to connect).
125
- - No MCP → ask the user for the Testomat.io CI profile name.
126
- - None exists yet → the user must create one in Testomat.io (Settings → CI) first.
127
-
128
- ## Local execution (`run "<runner command>"`)
129
-
130
- Wrap the runner and results report into the run as they come. Without a filter the whole suite runs; with one, the filter generates the grep the runner consumes:
131
-
132
- ```bash
133
- TESTOMATIO_RUN=$RUN_ID npx @testomatio/reporter run "<runner command>" \
134
- --filter "testomatio:tag-name=<tag>"
135
- ```
136
-
137
- ## PR/MR comments
138
-
139
- When results report, the reporter posts and updates the PR/MR summary comment itself — never script a comment API call. Enable the pipe by setting its token:
140
-
141
- | Platform | Env var | Note |
142
- | --------- | ------------------------ | -------------------------------------------------- |
143
- | GitHub | `GH_PAT` | the workflow's built-in token works inside PR runs |
144
- | GitLab | `GITLAB_PAT` | access token with `api` scope |
145
- | Bitbucket | `BITBUCKET_ACCESS_TOKEN` | repository access token |
146
-
147
- No pipe for the platform (e.g. Azure DevOps) → no comment; results remain visible in Testomat.io.
148
-
149
- ## Related skills
150
-
151
- `qa-test-code-coverage` (creates the coverage map the `coverage:` filter needs), `setup-pr-testing` (wires these commands into a CI pipeline), `qa-e2e-tests-reporting` (install and configure the reporter in an automation project).
@@ -1,199 +0,0 @@
1
- ---
2
- name: setup-pr-testing
3
- description: Set up CI so pull requests drive selective testing with Testomat.io. When a PR opens, a test run scoped to its changes is created for testers. The affected automated tests launch after a preview deploy or on merge. Use when the user wants to integrate Testomat.io runs into a CI pipeline, create test runs per pull request, or trigger affected tests from CI events.
4
- license: MIT
5
- metadata:
6
- author: Testomat.io
7
- version: 2.1.0
8
- ---
9
-
10
- # Setup PR Testing
11
-
12
- I set up a project's CI for PR-driven testing. What gets wired depends on the project's tests:
13
-
14
- - manual — testers get a run to start on Testomat.io the moment the PR opens; nothing to execute.
15
- - automated — an execution mode must be chosen: inline in the pipeline, a Testomat.io CI profile, or another workflow/repo.
16
- - mixed — both, sharing one run per PR.
17
-
18
- Every reporter command the jobs execute is documented in `run-tests-with-testomatio-reporter` — read it before wiring.
19
-
20
- > **GOAL: a working pipeline committed to the project's own CI system.** That CI configuration is the one and only finished result. I run locally to author it — I am never part of CI. Do not execute reporter commands while authoring; the one exception is the final battle-test (Step 7), on a PR the user picked.
21
-
22
- ## Possible flows
23
-
24
- Post this diagram as a chat message before the first question — never open with a question; it frames everything that follows. When questions go through a form or tool, the diagram must already be on screen in an earlier message. Render diagrams as Mermaid when the environment displays it; fall back to ASCII otherwise.
25
-
26
- Never post a diagram bare — follow it immediately with one short paragraph explaining it: this is the general schema of PR testing, for the user to examine before anything is implemented; a run is created when a PR opens, and the user will now choose which types of tests execute (manual, automated, or both) and how the automated ones run — inline in the pipeline, through a Testomat.io CI profile, or by dispatching another repo — and when they launch (preview deploy or merge).
27
-
28
- ```mermaid
29
- flowchart LR
30
- PR([PR opened]) --> RUN[Create a run scoped<br/>to the PR changes]
31
- RUN -->|manual / mixed| TESTERS[Testers execute manual cases<br/>on Testomat.io]
32
- RUN -->|automated / mixed| SCHED[Schedule automated tests —<br/>nothing runs yet]
33
- SCHED --> TRIG{When to launch?}
34
- TRIG -->|preview deployed| MODE{How to execute?}
35
- TRIG -->|PR merged| MODE
36
- MODE -->|via a Testomat.io CI profile| RES
37
- MODE -->|inline in this pipeline| RES
38
- MODE -->|by dispatching another repo| RES
39
- RES[Run the affected automated tests —<br/>results land in the PR run]
40
- ```
41
-
42
- Keep every diagram clear: verb-first action blocks ("Create a run", "Testers execute manual cases"), decisions as questions, configuration details in the text below — never as blocks, and end at an outcome.
43
-
44
- - Manual-only project → only the top branch: the run is complete at creation, testers execute it on Testomat.io, nothing launches.
45
- - Automated-only project → only the bottom branch: the scheduled run launches on a trigger through the chosen mode.
46
- - Mixed project → both branches share one run per PR.
47
-
48
- ## The coverage map drives everything
49
-
50
- A coverage map maps source files/globs to test identifiers; the reporter filters it by the diff so only impacted tests are prepared and run. It is produced by the `qa-test-code-coverage` skill — default `coverage.tests.yml`, one file serving both manual and automated tests. Missing map → delegate to `qa-test-code-coverage`; never hand-write one here. Without a map nothing can be filtered and no pipeline can be wired.
51
-
52
- ## Method, not snippets
53
-
54
- The valuable knowledge here is the flow model and the decisions to confirm with the user. The reporter commands come from `run-tests-with-testomatio-reporter`; translating triggers into a specific CI's YAML/Groovy is yours — you already know how every CI expresses "on PR open", "after deploy finished", "on merge", "carry a value between pipelines", and "don't fail the pipeline". Write that config for the CI in front of you; never bake per-CI workflow files into this skill.
55
-
56
- ## Critical Constraints
57
-
58
- - **Never execute the reporter while authoring — the deliverable is committed CI config.** Sole exception: the user-approved battle-test (Step 7).
59
- - **Battle-test executes tests only for an already-merged PR**; an open PR only gets a run created.
60
- - **Only touch CI config files** — never source or test files.
61
- - Diagrams gate the dialogue: flows diagram before the first question, selected-flow diagram approved before wiring (Step 3), every diagram followed by a one-paragraph explanation.
62
- - Discovery first — delegate to `scan-automation-project` before writing anything.
63
- - Never assume or hardcode the CI system; read the repo, ask if unclear.
64
- - Never guess a Testomat.io CI profile name — pick from a list (Testomat.io MCP) confirmed by the user, or ask.
65
- - Say "Testomat.io CI profile" in full, never bare "profile"; every question option explains itself in plain words.
66
- - Avoid presenting the project's full test inventory as the run scope; never print full test lists.
67
- - No coverage map → no pipeline; delegate map creation to `qa-test-code-coverage`.
68
- - The PR-open job creates the run and executes nothing.
69
- - Preview launches gate on the deploy-finished signal, never on the push.
70
- - Launch jobs never block a PR and never fail a merge/release pipeline.
71
- - PR comments come from the reporter's own pipes — never script a PR-comment API call.
72
- - Every run gets a PR-based title and a rungroup.
73
-
74
- ## Workflow
75
-
76
- ### Step 1 — Discover
77
-
78
- - Delegate to `scan-automation-project`: are there manual `.test.md` cases, which e2e framework exists (unit/integration don't count), do automated tests live in this repo or elsewhere.
79
- - The result fixes the project kind — manual, automated, or mixed — and with it which flows apply.
80
- - Read the repo's CI config files to identify the CI system. Several CIs or none → ask which one runs PRs.
81
- - Locate the coverage map (default `coverage.tests.yml`). Missing → propose creating it and delegate to `qa-test-code-coverage`.
82
-
83
- ### Step 2 — Present the flows and ask the unknowns
84
-
85
- Post the possible-flows diagram, trimmed to the kinds found in Step 1, as its own message with its one-paragraph explanation (what the schema is, which choices the user is about to make) — then ask only what applies. Read the CI files first so you don't ask what's already answered.
86
-
87
- Manual tests found — nothing to choose: their part of the run is complete at creation, testers start on Testomat.io immediately.
88
-
89
- Automated tests found — ❓ choose the execution mode. Each option in the question must explain itself in plain words — what runs where and who triggers it. In particular spell out what a Testomat.io CI profile is: a CI workflow configuration saved on the Testomat.io project (Settings → CI) that Testomat.io dispatches to execute the tests, with results reporting back into the run.
90
-
91
- | Mode | When it fits |
92
- | ------------------------------- | ------------------------------------------------------------------------------------------------------------- |
93
- | Remote — Testomat.io CI profile | a Testomat.io CI profile for the e2e suite exists (Settings → CI); Testomat.io owns runner, env, secrets |
94
- | Inline — this pipeline | mobile/simulators, services this pipeline spins up, or an e2e job that already works in this repo |
95
- | Cross-repo dispatch | the e2e suite lives in another repo and no Testomat.io CI profile covers it |
96
-
97
- - Remote chosen → identify the Testomat.io CI profile, never guess it: Testomat.io MCP connected → fetch the list, present it, ❓ ask the user to choose (profiles differ by workflow and job names); no MCP → ❓ ask for the exact profile name; none exists yet → creating one in Testomat.io (Settings → CI) is a prerequisite; wire the launch step ready to enable.
98
- - No e2e suite anywhere → wire only the manual flow; never fabricate an e2e job.
99
-
100
- Then the launch triggers (automated/mixed only):
101
-
102
- 1. Preview environments — is every commit deployed to a preview server? If yes: what is the observable deploy-finished signal, and where does the preview URL surface?
103
- 2. Post-merge timing — launch right on merge, or wait for a staging/production deploy to finish? A deploy gate needs its own observable signal.
104
-
105
- And for every kind:
106
-
107
- 3. Rungroup strategy — week / day / release / milestone.
108
- 4. Diff base — the PR's target branch for PR jobs; post-merge jobs need the previous mainline tip (diff-base rules in `run-tests-with-testomatio-reporter`).
109
-
110
- ### Step 3 — Confirm the selected flow
111
-
112
- - Draw the flow the answers produced — only the chosen kind, triggers, and execution mode. Mermaid when supported, ASCII otherwise.
113
- - ❓ Present the diagram and get approval; wire nothing until the user accepts it.
114
-
115
- Example — mixed project, Testomat.io CI profile, previews confirmed:
116
-
117
- ```mermaid
118
- flowchart LR
119
- PR([PR opened]) --> RUN[Create one mixed run<br/>scoped to the diff]
120
- RUN --> TESTERS[Testers execute manual cases<br/>on Testomat.io]
121
- RUN --> SCHED[Schedule automated tests —<br/>nothing runs yet]
122
- PREV([Preview deployed]) --> L1[Launch automated tests via the<br/>Testomat.io CI profile, against the preview]
123
- MERGE([PR merged]) --> L2[Launch automated tests<br/>with the final diff]
124
- SCHED -.-> L1
125
- SCHED -.-> L2
126
- L1 --> RES[Results land in the PR run]
127
- L2 --> RES
128
- ```
129
-
130
- ### Step 4 — Wire the phases into CI
131
-
132
- Write the jobs in the CI's own syntax; take every command and env var from `run-tests-with-testomatio-reporter`. Manual-only projects get phase (a) alone.
133
-
134
- **(a) PR opened → create the run.**
135
-
136
- - Use `start` with the coverage filter; pick the run kind matching the project's tests.
137
- - Persist the printed run id with the CI's native value-passing mechanism (artifact, variable, output); fallback is shared-run title matching.
138
- - Run once per PR (on open); pushes to the PR don't recreate runs.
139
- - A diff affecting zero tests creates no run — the job still succeeds.
140
-
141
- **(b) Preview deployed → launch against the preview** (only when Step 2 confirmed previews).
142
-
143
- - Trigger on the deploy-finished signal, never on the push.
144
- - Remote mode forwards the preview URL as a remote param; inline mode points the runner's own base-URL env at it.
145
- - Manual cases need no launch — testers work through them against the preview by hand.
146
-
147
- **(c) PR merged → launch with the final diff.**
148
-
149
- - Target the persisted run id; pass a fresh coverage filter with the post-merge diff base so the final merged diff decides what runs.
150
- - Cross-repo mode: trigger the e2e repo's pipeline with the CI's native mechanism, passing the run id, API key, and title env into it.
151
- - Keep the job non-blocking and off the release's critical path.
152
-
153
- ### Step 5 — Ensure secrets are set
154
-
155
- - Store the project API key as `TESTOMATIO_<project_slug>` in the CI's secret store; map it to the `TESTOMATIO` env var in every job that calls the reporter. ❓ Slug unknown → ask the user.
156
- - Tell the user exactly where to add it: name the secret-store location the CI at hand uses for this repo/pipeline and the exact secret name to type.
157
- - Provision the PR-comment pipe token the same way (tokens per platform in `run-tests-with-testomatio-reporter`).
158
- - ❓ Ask the user to confirm the secrets are in place before the pipeline PR merges — a pipeline with missing secrets fails on its first PR.
159
- - The Testomat.io CI profile for remote launches is configured in Testomat.io (Settings → CI), not stored as a repo secret.
160
-
161
- ### Step 6 — Suggest a PR with the new workflow
162
-
163
- - Commit the CI config on a branch and suggest opening a PR through the project's normal flow — the pipeline lands reviewed, never pushed straight to the default branch.
164
- - Put in the PR description: the approved flow diagram, the phases wired, the execution mode chosen, and the secrets/prerequisites the reviewers must provision before merging.
165
- - Where the CI runs PR-triggered workflows from the branch itself, point out that this very PR will exercise the PR-opened phase.
166
-
167
- ### Step 7 — Battle-test the setup (on approval)
168
-
169
- Prove the pipeline's commands work before the CI ever runs them — by running them once, locally, on a real change.
170
-
171
- - ❓ Ask the user for a real PR to validate with — open or already merged — and for approval to create real runs.
172
- - Reproduce the pipeline's diff locally: open PR → check out its branch and diff against the target branch; merged PR → check out the merge commit and diff against the pre-merge tip.
173
- - Create the run exactly as phase (a) does — same kind, same filter — with a title that marks it as a battle-test.
174
- - Open PR → stop here: the run stays scheduled, nothing executes.
175
- - Merged PR → the change is already in mainline, so launching is safe: run the phase (c) launch against the created run.
176
- - Report every run created — id, kind, and the tests it scoped — and ask the user to review it in Testomat.io: does the scope match what that diff should affect?
177
- - Zero tests matched → report it as a finding, then pick a PR that touches mapped source files together with the user.
178
-
179
- ### Step 8 — Summarize and hand off
180
-
181
- Present the approved flow diagram once more, now marked as wired. Report: the CI targeted and files written; which phases are wired and which were skipped (no previews / no e2e / no Testomat.io CI profile); the chosen execution mode; title scheme and rungroup; how the launch steps find the prepared run (run id carrier or shared title); the battle-test outcome and the runs awaiting the user's review; secrets and prerequisites still to provision; assumptions to confirm. Recommend committing the coverage map alongside the CI config.
182
-
183
- ## Examples
184
-
185
- **Example 1 — mixed project, previews, Testomat.io CI profile**
186
- Discovery finds manual cases and an e2e suite; MCP lists the Testomat.io CI profiles and the user picks the one running the e2e suite; previews confirmed. → Diagram approved, then all three phases wired: mixed run on PR open, preview launch gated on the deployment-success event with the preview URL as a remote param, merge launch with a fresh post-merge filter. Comment pipe enabled.
187
-
188
- **Example 2 — e2e lives in another repo, no Testomat.io CI profile**
189
- The user picks cross-repo dispatch from the mode table: the merge job triggers the e2e repo's pipeline via the CI's native mechanism, passing the run id so results land in the prepared run. Note the Testomat.io CI profile option as the simpler future path.
190
-
191
- **Example 3 — no coverage map yet**
192
- No `coverage*.yml` found → explain nothing can be filtered without a map; delegate to `qa-test-code-coverage`; wire CI only after the map exists.
193
-
194
- **Example 4 — manual-only project**
195
- `scan-automation-project` finds `.test.md` cases and no e2e framework → the flows diagram shows only the manual branch; no execution-mode or trigger questions asked. One phase wired: a manual run per PR, complete at creation — testers start on Testomat.io. Explain that launch phases need an e2e suite first.
196
-
197
- ## Related skills
198
-
199
- `run-tests-with-testomatio-reporter` (the reporter commands every job executes), `qa-test-code-coverage` (creates the coverage map this skill consumes), `scan-automation-project` (mandatory discovery), `qa-e2e-tests-reporting` (install the reporter if the project has no Testomat.io integration yet), `sync-test-cases-with-tms` (manual cases not yet in Testomat.io).