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.
- package/LICENSE +21 -0
- package/README.md +37 -175
- package/dist/prompt/context.js +79 -0
- package/dist/prompt/context.js.map +1 -0
- package/dist/prompt/index.js +56 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/print.js +22 -0
- package/dist/prompt/print.js.map +1 -0
- package/dist/prompt/project-info.js +2 -0
- package/dist/prompt/project-info.js.map +1 -0
- package/{src/prompt/system-prompt.ts → dist/prompt/system-prompt.js} +24 -21
- package/dist/prompt/system-prompt.js.map +1 -0
- package/dist/prompt/testomatio.js +264 -0
- package/dist/prompt/testomatio.js.map +1 -0
- package/dist/prompt/tools.js +49 -0
- package/dist/prompt/tools.js.map +1 -0
- package/dist/prompt/vocab.js +8 -0
- package/dist/prompt/vocab.js.map +1 -0
- package/dist/src/args.js +72 -0
- package/dist/src/args.js.map +1 -0
- package/dist/src/cli.js +61 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/env.js +69 -0
- package/dist/src/env.js.map +1 -0
- package/dist/src/mcp-extension.js +9 -0
- package/dist/src/mcp-extension.js.map +1 -0
- package/dist/src/mcp.js +139 -0
- package/dist/src/mcp.js.map +1 -0
- package/dist/src/model.js +66 -0
- package/dist/src/model.js.map +1 -0
- package/dist/src/result.js +41 -0
- package/dist/src/result.js.map +1 -0
- package/dist/src/run.js +199 -0
- package/dist/src/run.js.map +1 -0
- package/dist/src/session.js +77 -0
- package/dist/src/session.js.map +1 -0
- package/dist/vendor/mcp.js +14801 -0
- package/mcp-tools.json +2967 -0
- package/package.json +29 -41
- package/prompt/context.ts +101 -0
- package/prompt/index.ts +93 -0
- package/prompt/print.ts +23 -0
- package/prompt/project-info.ts +30 -0
- package/prompt/system-prompt.ts +173 -0
- package/{src/prompt → prompt}/testomatio.ts +119 -8
- package/{src/prompt → prompt}/tools.ts +30 -8
- package/prompt/vocab.ts +7 -0
- package/{skills.lock.json → skills/skills.lock.json} +11 -7
- package/skills/skills.yaml +34 -0
- package/models.catalog.json +0 -6963
- package/skills/codeceptjs/ci-fix-tests/SKILL.md +0 -120
- package/skills/codeceptjs/codeceptjs-auth/SKILL.md +0 -158
- package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +0 -91
- package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +0 -158
- package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +0 -90
- package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +0 -234
- package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +0 -110
- package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +0 -306
- package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +0 -352
- package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +0 -472
- package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +0 -350
- package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +0 -81
- package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +0 -206
- package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
- package/skills/playwright-best-practices-skill/README.md +0 -147
- package/skills/playwright-best-practices-skill/SKILL.md +0 -303
- package/skills/playwright-best-practices-skill/advanced/authentication-flows.md +0 -360
- package/skills/playwright-best-practices-skill/advanced/authentication.md +0 -871
- package/skills/playwright-best-practices-skill/advanced/clock-mocking.md +0 -364
- package/skills/playwright-best-practices-skill/advanced/mobile-testing.md +0 -409
- package/skills/playwright-best-practices-skill/advanced/multi-context.md +0 -288
- package/skills/playwright-best-practices-skill/advanced/multi-user.md +0 -393
- package/skills/playwright-best-practices-skill/advanced/network-advanced.md +0 -452
- package/skills/playwright-best-practices-skill/advanced/third-party.md +0 -464
- package/skills/playwright-best-practices-skill/architecture/pom-vs-fixtures.md +0 -363
- package/skills/playwright-best-practices-skill/architecture/test-architecture.md +0 -369
- package/skills/playwright-best-practices-skill/architecture/when-to-mock.md +0 -383
- package/skills/playwright-best-practices-skill/browser-apis/browser-apis.md +0 -391
- package/skills/playwright-best-practices-skill/browser-apis/iframes.md +0 -403
- package/skills/playwright-best-practices-skill/browser-apis/service-workers.md +0 -504
- package/skills/playwright-best-practices-skill/browser-apis/websockets.md +0 -403
- package/skills/playwright-best-practices-skill/core/annotations.md +0 -424
- package/skills/playwright-best-practices-skill/core/assertions-waiting.md +0 -361
- package/skills/playwright-best-practices-skill/core/configuration.md +0 -452
- package/skills/playwright-best-practices-skill/core/fixtures-hooks.md +0 -417
- package/skills/playwright-best-practices-skill/core/global-setup.md +0 -434
- package/skills/playwright-best-practices-skill/core/locators.md +0 -242
- package/skills/playwright-best-practices-skill/core/page-object-model.md +0 -315
- package/skills/playwright-best-practices-skill/core/projects-dependencies.md +0 -453
- package/skills/playwright-best-practices-skill/core/test-data.md +0 -492
- package/skills/playwright-best-practices-skill/core/test-suite-structure.md +0 -361
- package/skills/playwright-best-practices-skill/core/test-tags.md +0 -298
- package/skills/playwright-best-practices-skill/debugging/console-errors.md +0 -420
- package/skills/playwright-best-practices-skill/debugging/debugging.md +0 -504
- package/skills/playwright-best-practices-skill/debugging/error-testing.md +0 -360
- package/skills/playwright-best-practices-skill/debugging/flaky-tests.md +0 -496
- package/skills/playwright-best-practices-skill/frameworks/angular.md +0 -530
- package/skills/playwright-best-practices-skill/frameworks/nextjs.md +0 -469
- package/skills/playwright-best-practices-skill/frameworks/react.md +0 -531
- package/skills/playwright-best-practices-skill/frameworks/vue.md +0 -574
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/ci-cd.md +0 -468
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/docker.md +0 -283
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/github-actions.md +0 -546
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/gitlab.md +0 -397
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/other-providers.md +0 -521
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/parallel-sharding.md +0 -371
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/performance.md +0 -453
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/reporting.md +0 -424
- package/skills/playwright-best-practices-skill/infrastructure-ci-cd/test-coverage.md +0 -497
- package/skills/playwright-best-practices-skill/testing-patterns/accessibility.md +0 -359
- package/skills/playwright-best-practices-skill/testing-patterns/api-testing.md +0 -719
- package/skills/playwright-best-practices-skill/testing-patterns/browser-extensions.md +0 -506
- package/skills/playwright-best-practices-skill/testing-patterns/canvas-webgl.md +0 -493
- package/skills/playwright-best-practices-skill/testing-patterns/component-testing.md +0 -500
- package/skills/playwright-best-practices-skill/testing-patterns/drag-drop.md +0 -576
- package/skills/playwright-best-practices-skill/testing-patterns/electron.md +0 -509
- package/skills/playwright-best-practices-skill/testing-patterns/file-operations.md +0 -377
- package/skills/playwright-best-practices-skill/testing-patterns/file-upload-download.md +0 -562
- package/skills/playwright-best-practices-skill/testing-patterns/forms-validation.md +0 -561
- package/skills/playwright-best-practices-skill/testing-patterns/graphql-testing.md +0 -331
- package/skills/playwright-best-practices-skill/testing-patterns/i18n.md +0 -508
- package/skills/playwright-best-practices-skill/testing-patterns/performance-testing.md +0 -476
- package/skills/playwright-best-practices-skill/testing-patterns/security-testing.md +0 -430
- package/skills/playwright-best-practices-skill/testing-patterns/visual-regression.md +0 -634
- package/skills/playwright-cli/SKILL.md +0 -420
- package/skills/playwright-cli/references/element-attributes.md +0 -23
- package/skills/playwright-cli/references/playwright-tests.md +0 -39
- package/skills/playwright-cli/references/request-mocking.md +0 -87
- package/skills/playwright-cli/references/running-code.md +0 -241
- package/skills/playwright-cli/references/session-management.md +0 -225
- package/skills/playwright-cli/references/storage-state.md +0 -275
- package/skills/playwright-cli/references/test-generation.md +0 -433
- package/skills/playwright-cli/references/tracing.md +0 -139
- package/skills/playwright-cli/references/video-recording.md +0 -143
- package/skills/testeiya/README.md +0 -29
- package/skills/testeiya/answer-formatting/SKILL.md +0 -30
- package/skills/testeiya/check-cucumber/SKILL.md +0 -200
- package/skills/testeiya/check-tests/SKILL.md +0 -260
- package/skills/testeiya/manual-run-assistant/SKILL.md +0 -61
- package/skills/testeiya/testomatio-docs/INDEX.md +0 -175
- package/skills/testeiya/testomatio-docs/SKILL.md +0 -102
- package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-agents.md +0 -144
- package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-powered-features.md +0 -531
- package/skills/testeiya/testomatio-docs/docs/advanced/ai-powered-features/ai-requirements.md +0 -437
- package/skills/testeiya/testomatio-docs/docs/advanced/api-access/index.md +0 -191
- package/skills/testeiya/testomatio-docs/docs/advanced/branches-folder/index.md +0 -277
- package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-demos.mdx +0 -39
- package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/bulk-edit-on-suite-and-test-level.md +0 -122
- package/skills/testeiya/testomatio-docs/docs/advanced/bulk-edit-folder/what-is-bulk-edit.md +0 -170
- package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/branches.md +0 -53
- package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/index.mdx +0 -98
- package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/jira-issue.md +0 -151
- package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/runs-and-reports.md +0 -377
- package/skills/testeiya/testomatio-docs/docs/advanced/jira-plugin/work-in-jira.md +0 -267
- package/skills/testeiya/testomatio-docs/docs/advanced/living-doc/index.md +0 -138
- package/skills/testeiya/testomatio-docs/docs/advanced/milestones/index.md +0 -220
- package/skills/testeiya/testomatio-docs/docs/advanced/shortcuts/index.md +0 -48
- package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/labels-and-custom-fields.md +0 -201
- package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags-or-labels.md +0 -94
- package/skills/testeiya/testomatio-docs/docs/advanced/tags-labels/tags.md +0 -243
- package/skills/testeiya/testomatio-docs/docs/advanced/test-artifacts/index.md +0 -135
- package/skills/testeiya/testomatio-docs/docs/advanced/tql/index.md +0 -394
- package/skills/testeiya/testomatio-docs/docs/getting-started/index.md +0 -290
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/azure.md +0 -96
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bamboo.md +0 -94
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/bitbucket.md +0 -106
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/circle.md +0 -115
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/github.md +0 -120
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/gitlab.md +0 -88
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/index.mdx +0 -151
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/jenkins.md +0 -121
- package/skills/testeiya/testomatio-docs/docs/integrations/continuous-integration/teamcity.md +0 -96
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/azure.md +0 -31
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/clickup.md +0 -54
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/confluence.md +0 -34
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/github.md +0 -31
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/gitlab.md +0 -93
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/index.md +0 -131
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/jira.md +0 -164
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/linear.md +0 -29
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/shortcut.md +0 -67
- package/skills/testeiya/testomatio-docs/docs/integrations/issues-management/youtrack.md +0 -94
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/azure-devops.md +0 -53
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/email.md +0 -71
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/jira.md +0 -52
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/ms-teams.md +0 -60
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/rules.md +0 -267
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/slack.md +0 -82
- package/skills/testeiya/testomatio-docs/docs/integrations/report-notifications/telegram.md +0 -73
- package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/index.mdx +0 -207
- package/skills/testeiya/testomatio-docs/docs/integrations/scim-provisioning/okta.md +0 -204
- package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/azure.md +0 -95
- package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/google.md +0 -75
- package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/index.mdx +0 -33
- package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/okta.md +0 -108
- package/skills/testeiya/testomatio-docs/docs/integrations/single-sign-on/saml.md +0 -66
- package/skills/testeiya/testomatio-docs/docs/legal/compliance/gdpr.md +0 -95
- package/skills/testeiya/testomatio-docs/docs/legal/compliance/index.mdx +0 -94
- package/skills/testeiya/testomatio-docs/docs/legal/compliance/privacy.md +0 -26
- package/skills/testeiya/testomatio-docs/docs/legal/compliance/terms.md +0 -32
- package/skills/testeiya/testomatio-docs/docs/legal/security/index.mdx +0 -242
- package/skills/testeiya/testomatio-docs/docs/legal/security/jira.md +0 -140
- package/skills/testeiya/testomatio-docs/docs/legal/security/subprocessors.md +0 -76
- package/skills/testeiya/testomatio-docs/docs/management/company/administration.md +0 -363
- package/skills/testeiya/testomatio-docs/docs/management/company/audit-log.md +0 -41
- package/skills/testeiya/testomatio-docs/docs/management/company/plan-features-comparison.md +0 -240
- package/skills/testeiya/testomatio-docs/docs/management/company/subscriptions.md +0 -326
- package/skills/testeiya/testomatio-docs/docs/management/company/trials.md +0 -75
- package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/accountant.md +0 -49
- package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/index.mdx +0 -285
- package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/read-only-user.md +0 -67
- package/skills/testeiya/testomatio-docs/docs/management/company/users-and-permissions/teams.md +0 -138
- package/skills/testeiya/testomatio-docs/docs/management/project/settings.md +0 -87
- package/skills/testeiya/testomatio-docs/docs/management/project/templates.md +0 -546
- package/skills/testeiya/testomatio-docs/docs/project/analytics/index.md +0 -326
- package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/classical-tests-markdown-format.md +0 -386
- package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/download-manual-tests-as-files.md +0 -378
- package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-obsidian.md +0 -112
- package/skills/testeiya/testomatio-docs/docs/project/import-export/export-tests/export-to-spreadsheet.md +0 -127
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/auto-import.md +0 -63
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Allure-TestOps.md +0 -49
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-QTest.md +0 -41
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Qase.md +0 -39
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-Zephyr.md +0 -37
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-csv-xlsx.md +0 -117
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-cucumber.md +0 -93
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-qmetry.md +0 -44
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-source-code.md +0 -117
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testcaselabs.md +0 -44
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testmo.md +0 -47
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-testrail.md +0 -82
- package/skills/testeiya/testomatio-docs/docs/project/import-export/import/import-tests-from-xray.md +0 -55
- package/skills/testeiya/testomatio-docs/docs/project/plans/index.md +0 -334
- package/skills/testeiya/testomatio-docs/docs/project/pulse/index.md +0 -104
- package/skills/testeiya/testomatio-docs/docs/project/runs/archive-runs-and-groups.md +0 -176
- package/skills/testeiya/testomatio-docs/docs/project/runs/custom-statuses.md +0 -195
- package/skills/testeiya/testomatio-docs/docs/project/runs/environments.md +0 -203
- package/skills/testeiya/testomatio-docs/docs/project/runs/managing-runs.md +0 -455
- package/skills/testeiya/testomatio-docs/docs/project/runs/merge-strategies.md +0 -137
- package/skills/testeiya/testomatio-docs/docs/project/runs/reports.md +0 -329
- package/skills/testeiya/testomatio-docs/docs/project/runs/rungroups.md +0 -342
- package/skills/testeiya/testomatio-docs/docs/project/runs/running-automated-tests.md +0 -256
- package/skills/testeiya/testomatio-docs/docs/project/runs/running-manual-and-automated-tests.md +0 -331
- package/skills/testeiya/testomatio-docs/docs/project/runs/running-tests-manually.md +0 -633
- package/skills/testeiya/testomatio-docs/docs/project/runs/temporary-tests-notes.md +0 -223
- package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/snippets.md +0 -68
- package/skills/testeiya/testomatio-docs/docs/project/steps-snippets/steps.md +0 -181
- package/skills/testeiya/testomatio-docs/docs/project/tests/bdd-test-case-editor.md +0 -98
- package/skills/testeiya/testomatio-docs/docs/project/tests/classical-test-case-editor.md +0 -354
- package/skills/testeiya/testomatio-docs/docs/project/tests/classical-vs-bdd.md +0 -169
- package/skills/testeiya/testomatio-docs/docs/project/tests/copy-and-move-your-tests.md +0 -156
- package/skills/testeiya/testomatio-docs/docs/project/tests/other-features-for-test-case-design.md +0 -412
- package/skills/testeiya/testomatio-docs/docs/project/tests/test-case-creation-and-editing.md +0 -527
- package/skills/testeiya/testomatio-docs/docs/support/index.md +0 -75
- package/skills/testeiya/testomatio-docs/docs/test-reporting/artifacts.md +0 -388
- package/skills/testeiya/testomatio-docs/docs/test-reporting/cli.md +0 -215
- package/skills/testeiya/testomatio-docs/docs/test-reporting/configuration.md +0 -247
- package/skills/testeiya/testomatio-docs/docs/test-reporting/frameworks.md +0 -490
- package/skills/testeiya/testomatio-docs/docs/test-reporting/functions.md +0 -144
- package/skills/testeiya/testomatio-docs/docs/test-reporting/index.mdx +0 -48
- package/skills/testeiya/testomatio-docs/docs/test-reporting/junit.md +0 -248
- package/skills/testeiya/testomatio-docs/docs/test-reporting/logger.md +0 -138
- package/skills/testeiya/testomatio-docs/docs/test-reporting/php.md +0 -77
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/bitbucket.md +0 -72
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/csv.md +0 -23
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/debug.md +0 -18
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/github.md +0 -63
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/gitlab.md +0 -29
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/html.md +0 -80
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/index.mdx +0 -57
- package/skills/testeiya/testomatio-docs/docs/test-reporting/pipes/testomatio.md +0 -331
- package/skills/testeiya/testomatio-docs/docs/test-reporting/python.md +0 -229
- package/skills/testeiya/testomatio-docs/docs/test-reporting/workflows.md +0 -325
- package/skills/testeiya/testomatio-docs/docs/tutorials/Interacting-via-API.md +0 -159
- package/skills/testeiya/testomatio-docs/docs/tutorials/Manual-Testing-Classic.md +0 -164
- package/skills/testeiya/testomatio-docs/docs/tutorials/Set-Up-Read-Only-Access.md +0 -85
- package/skills/testeiya/testomatio-docs/docs/tutorials/Using-AI-in-Testing.md +0 -163
- package/skills/testeiya/testomatio-docs/docs/tutorials/Working-with-Jira.md +0 -125
- package/skills/testeiya/testomatio-docs/docs/tutorials/java.md +0 -478
- package/skills/testeiya/testomatio-docs/docs/tutorials/playwright.md +0 -207
- package/skills/testeiya/testomatio-docs/docs/tutorials/webdriver.md +0 -218
- package/skills/testeiya/testomatio-docs/docs.lock.json +0 -6
- package/skills/testeiya/testomatio-reporter/SKILL.md +0 -307
- package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +0 -88
- package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +0 -95
- package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +0 -334
- package/skills/testomatio/test-automation/automate-manual-test-cases/CLAUDE.md +0 -56
- package/skills/testomatio/test-automation/automate-manual-test-cases/SKILL.md +0 -242
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/CODECEPTJS_BEST_PRACTICES.md +0 -182
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/FINAL_SUMMARY_TEMPLATE.md +0 -22
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/PLAYWRIGHT_BEST_PRACTICES.md +0 -90
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/POM_BEST_PRACTICES.md +0 -53
- package/skills/testomatio/test-automation/automate-manual-test-cases/references/TEST_DATA_MANAGEMENT.md +0 -52
- package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/SKILL.md +0 -107
- package/skills/testomatio/test-automation/debug-fix-failed-flaky-autotests/references/DEBUGGING_QUICK_REFERENCE.md +0 -113
- package/skills/testomatio/test-automation/qa-automation-test-consolidation/SKILL.md +0 -29
- package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +0 -151
- package/skills/testomatio/test-automation/setup-pr-testing/SKILL.md +0 -199
- package/skills/testomatio/test-automation/testomat-allure-adapter/SKILL.md +0 -289
- package/skills/testomatio/test-management/detect-duplicate-test-cases/SKILL.md +0 -86
- package/skills/testomatio/test-management/detect-duplicate-test-cases/references/DUPLICATE_INSTRUCTIONS.md +0 -54
- package/skills/testomatio/test-management/improve-test-cases/SKILL.md +0 -114
- package/skills/testomatio/test-management/improve-test-cases/references/TESTOMAT_MARKDOWN_EXAMPLE.md +0 -66
- package/skills/testomatio/test-management/pull-request-diff-analyzer/SKILL.md +0 -141
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/SKILL.md +0 -354
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_ARTIFACTS.md +0 -82
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_HTML_REPORT.md +0 -37
- package/skills/testomatio/test-management/qa-e2e-tests-reporting/references/TESTOMATIO_REPORTERS_CONFIG.md +0 -118
- package/skills/testomatio/test-management/qa-pr-requirements-analyzer/SKILL.md +0 -149
- package/skills/testomatio/test-management/qa-pr-requirements-analyzer/references/summary-example.md +0 -54
- package/skills/testomatio/test-management/qa-requirement-reviewer/SKILL.md +0 -126
- package/skills/testomatio/test-management/qa-requirement-reviewer/references/requirements_reviewer_examples.md +0 -128
- package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +0 -174
- package/skills/testomatio/test-management/qa-test-code-coverage/references/COVERAGE_FILE_FORMAT.md +0 -138
- package/skills/testomatio/test-management/qa-test-code-coverage/references/E2E_FRAMEWORKS.md +0 -65
- package/skills/testomatio/test-management/qa-test-code-coverage/scripts/check-coverage.mjs +0 -40
- package/skills/testomatio/test-management/qa-thinking/SKILL.md +0 -36
- package/skills/testomatio/test-management/qa-write-test-cases/SKILL.md +0 -267
- package/skills/testomatio/test-management/qa-write-test-cases/references/test-case-format.md +0 -387
- package/skills/testomatio/test-management/qa-write-test-cases/references/testomat-tms-guide.md +0 -72
- package/skills/testomatio/test-management/qa-write-test-cases/references/writing-rule.md +0 -159
- package/skills/testomatio/test-management/scan-automation-project/SKILL.md +0 -152
- package/skills/testomatio/test-management/sync-test-cases-with-tms/SKILL.md +0 -107
- package/skills/testomatio/test-management/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +0 -140
- package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +0 -182
- package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +0 -169
- package/skills.yaml +0 -21
- package/src/ai-debug.ts +0 -188
- package/src/api/agent-get.ts +0 -22
- package/src/api/agent-start.ts +0 -384
- package/src/api/client-log.ts +0 -29
- package/src/api/context.ts +0 -332
- package/src/api/debug-layout.ts +0 -47
- package/src/api/debug-report.ts +0 -29
- package/src/api/debug-snapshot.ts +0 -30
- package/src/api/debug-stream.ts +0 -52
- package/src/api/files-delete.ts +0 -184
- package/src/api/files-read.ts +0 -41
- package/src/api/files-rename.ts +0 -99
- package/src/api/files-tree.ts +0 -292
- package/src/api/files-write.ts +0 -41
- package/src/api/mcp.ts +0 -603
- package/src/api/memory.ts +0 -69
- package/src/api/open-external.ts +0 -39
- package/src/api/playwright-cli.ts +0 -606
- package/src/api/providers.ts +0 -457
- package/src/api/read-env-token.ts +0 -33
- package/src/api/sessions.ts +0 -79
- package/src/api/settings.ts +0 -120
- package/src/api/skills.ts +0 -58
- package/src/api/testomatio-attachment.ts +0 -89
- package/src/api/testomatio-auth.ts +0 -284
- package/src/api/testomatio-proxy.ts +0 -197
- package/src/api/testomatio-run-stats.ts +0 -81
- package/src/api/testomatio-target.ts +0 -225
- package/src/api/testomatio-transcription.ts +0 -82
- package/src/api/workspace-search.ts +0 -96
- package/src/api/workspace-sync.ts +0 -151
- package/src/api/workspace.ts +0 -165
- package/src/app-server.ts +0 -556
- package/src/bridge.ts +0 -251
- package/src/check-tests.ts +0 -156
- package/src/cli.ts +0 -17
- package/src/commands.ts +0 -244
- package/src/config.ts +0 -183
- package/src/connection.ts +0 -658
- package/src/context-store.ts +0 -265
- package/src/debug-bus.ts +0 -405
- package/src/extensions/tool-gate.ts +0 -220
- package/src/extensions/webui/ask-channel.ts +0 -52
- package/src/extensions/webui/index.ts +0 -184
- package/src/extensions/webui/tools/ask-question.ts +0 -88
- package/src/extensions/webui/tools/query-result.ts +0 -79
- package/src/extensions/webui/tools/render-chart.ts +0 -53
- package/src/extensions/webui/tools/render-item.ts +0 -61
- package/src/extensions/webui/tools/render-list.ts +0 -170
- package/src/extensions/webui/tools/render-result.ts +0 -85
- package/src/extensions/webui/tools/render-tree.ts +0 -71
- package/src/extensions/webui/tools/ui-widget.ts +0 -54
- package/src/extensions/webui/tools/widget-result.ts +0 -13
- package/src/extensions/webui/widget-channel.ts +0 -50
- package/src/file-log.ts +0 -196
- package/src/git-tracked.ts +0 -68
- package/src/gitignore.ts +0 -53
- package/src/json-store.ts +0 -43
- package/src/load-env.ts +0 -70
- package/src/loader-style.ts +0 -96
- package/src/main.ts +0 -140
- package/src/mcp-catalog.ts +0 -96
- package/src/models-catalog.ts +0 -72
- package/src/permissions.ts +0 -120
- package/src/project-dir.ts +0 -189
- package/src/project-info.ts +0 -108
- package/src/prompt/app-ui.ts +0 -59
- package/src/prompt/browser.ts +0 -27
- package/src/prompt/index.ts +0 -62
- package/src/server-info.ts +0 -62
- package/src/session-factory.ts +0 -442
- package/src/session-store.ts +0 -115
- package/src/shell-env.ts +0 -45
- package/src/skills.ts +0 -163
- package/src/sync-snapshot.ts +0 -140
- package/src/telemetry.ts +0 -239
- package/src/testomatio-auth.ts +0 -299
- package/src/testomatio.ts +0 -98
- package/src/theme.ts +0 -30
- package/src/user-env.ts +0 -94
- package/src/welcome.ts +0 -127
- package/src/workspace/safe-path.ts +0 -85
- package/src/workspace/test-md.ts +0 -70
- package/src/workspace-model.ts +0 -440
- package/testeiya.config.json +0 -14
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# Tracing
|
|
2
|
-
|
|
3
|
-
Capture detailed execution traces for debugging and analysis. Traces include DOM snapshots, screenshots, network activity, and console logs.
|
|
4
|
-
|
|
5
|
-
## Basic Usage
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Start trace recording
|
|
9
|
-
playwright-cli tracing-start
|
|
10
|
-
|
|
11
|
-
# Perform actions
|
|
12
|
-
playwright-cli open https://example.com
|
|
13
|
-
playwright-cli click e1
|
|
14
|
-
playwright-cli fill e2 "test"
|
|
15
|
-
|
|
16
|
-
# Stop trace recording
|
|
17
|
-
playwright-cli tracing-stop
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Trace Output Files
|
|
21
|
-
|
|
22
|
-
When you start tracing, Playwright creates a `traces/` directory with several files:
|
|
23
|
-
|
|
24
|
-
### `trace-{timestamp}.trace`
|
|
25
|
-
|
|
26
|
-
**Action log** - The main trace file containing:
|
|
27
|
-
- Every action performed (clicks, fills, navigations)
|
|
28
|
-
- DOM snapshots before and after each action
|
|
29
|
-
- Screenshots at each step
|
|
30
|
-
- Timing information
|
|
31
|
-
- Console messages
|
|
32
|
-
- Source locations
|
|
33
|
-
|
|
34
|
-
### `trace-{timestamp}.network`
|
|
35
|
-
|
|
36
|
-
**Network log** - Complete network activity:
|
|
37
|
-
- All HTTP requests and responses
|
|
38
|
-
- Request headers and bodies
|
|
39
|
-
- Response headers and bodies
|
|
40
|
-
- Timing (DNS, connect, TLS, TTFB, download)
|
|
41
|
-
- Resource sizes
|
|
42
|
-
- Failed requests and errors
|
|
43
|
-
|
|
44
|
-
### `resources/`
|
|
45
|
-
|
|
46
|
-
**Resources directory** - Cached resources:
|
|
47
|
-
- Images, fonts, stylesheets, scripts
|
|
48
|
-
- Response bodies for replay
|
|
49
|
-
- Assets needed to reconstruct page state
|
|
50
|
-
|
|
51
|
-
## What Traces Capture
|
|
52
|
-
|
|
53
|
-
| Category | Details |
|
|
54
|
-
|----------|---------|
|
|
55
|
-
| **Actions** | Clicks, fills, hovers, keyboard input, navigations |
|
|
56
|
-
| **DOM** | Full DOM snapshot before/after each action |
|
|
57
|
-
| **Screenshots** | Visual state at each step |
|
|
58
|
-
| **Network** | All requests, responses, headers, bodies, timing |
|
|
59
|
-
| **Console** | All console.log, warn, error messages |
|
|
60
|
-
| **Timing** | Precise timing for each operation |
|
|
61
|
-
|
|
62
|
-
## Use Cases
|
|
63
|
-
|
|
64
|
-
### Debugging Failed Actions
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
playwright-cli tracing-start
|
|
68
|
-
playwright-cli open https://app.example.com
|
|
69
|
-
|
|
70
|
-
# This click fails - why?
|
|
71
|
-
playwright-cli click e5
|
|
72
|
-
|
|
73
|
-
playwright-cli tracing-stop
|
|
74
|
-
# Open trace to see DOM state when click was attempted
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Analyzing Performance
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
playwright-cli tracing-start
|
|
81
|
-
playwright-cli open https://slow-site.com
|
|
82
|
-
playwright-cli tracing-stop
|
|
83
|
-
|
|
84
|
-
# View network waterfall to identify slow resources
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Capturing Evidence
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
# Record a complete user flow for documentation
|
|
91
|
-
playwright-cli tracing-start
|
|
92
|
-
|
|
93
|
-
playwright-cli open https://app.example.com/checkout
|
|
94
|
-
playwright-cli fill e1 "4111111111111111"
|
|
95
|
-
playwright-cli fill e2 "12/25"
|
|
96
|
-
playwright-cli fill e3 "123"
|
|
97
|
-
playwright-cli click e4
|
|
98
|
-
|
|
99
|
-
playwright-cli tracing-stop
|
|
100
|
-
# Trace shows exact sequence of events
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Trace vs Video vs Screenshot
|
|
104
|
-
|
|
105
|
-
| Feature | Trace | Video | Screenshot |
|
|
106
|
-
|---------|-------|-------|------------|
|
|
107
|
-
| **Format** | .trace file | .webm video | .png/.jpeg image |
|
|
108
|
-
| **DOM inspection** | Yes | No | No |
|
|
109
|
-
| **Network details** | Yes | No | No |
|
|
110
|
-
| **Step-by-step replay** | Yes | Continuous | Single frame |
|
|
111
|
-
| **File size** | Medium | Large | Small |
|
|
112
|
-
| **Best for** | Debugging | Demos | Quick capture |
|
|
113
|
-
|
|
114
|
-
## Best Practices
|
|
115
|
-
|
|
116
|
-
### 1. Start Tracing Before the Problem
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
# Trace the entire flow, not just the failing step
|
|
120
|
-
playwright-cli tracing-start
|
|
121
|
-
playwright-cli open https://example.com
|
|
122
|
-
# ... all steps leading to the issue ...
|
|
123
|
-
playwright-cli tracing-stop
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### 2. Clean Up Old Traces
|
|
127
|
-
|
|
128
|
-
Traces can consume significant disk space:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
# Remove traces older than 7 days
|
|
132
|
-
find .playwright-cli/traces -mtime +7 -delete
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Limitations
|
|
136
|
-
|
|
137
|
-
- Traces add overhead to automation
|
|
138
|
-
- Large traces can consume significant disk space
|
|
139
|
-
- Some dynamic content may not replay perfectly
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# Video Recording
|
|
2
|
-
|
|
3
|
-
Capture browser automation sessions as video for debugging, documentation, or verification. Produces WebM (VP8/VP9 codec).
|
|
4
|
-
|
|
5
|
-
## Basic Recording
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Open browser first
|
|
9
|
-
playwright-cli open
|
|
10
|
-
|
|
11
|
-
# Start recording
|
|
12
|
-
playwright-cli video-start demo.webm
|
|
13
|
-
|
|
14
|
-
# Add a chapter marker for section transitions
|
|
15
|
-
playwright-cli video-chapter "Getting Started" --description="Opening the homepage" --duration=2000
|
|
16
|
-
|
|
17
|
-
# Navigate and perform actions
|
|
18
|
-
playwright-cli goto https://example.com
|
|
19
|
-
playwright-cli snapshot
|
|
20
|
-
playwright-cli click e1
|
|
21
|
-
|
|
22
|
-
# Add another chapter
|
|
23
|
-
playwright-cli video-chapter "Filling Form" --description="Entering test data" --duration=2000
|
|
24
|
-
playwright-cli fill e2 "test input"
|
|
25
|
-
|
|
26
|
-
# Stop and save
|
|
27
|
-
playwright-cli video-stop
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Best Practices
|
|
31
|
-
|
|
32
|
-
### 1. Use Descriptive Filenames
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Include context in filename
|
|
36
|
-
playwright-cli video-start recordings/login-flow-2024-01-15.webm
|
|
37
|
-
playwright-cli video-start recordings/checkout-test-run-42.webm
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### 2. Record entire hero scripts.
|
|
41
|
-
|
|
42
|
-
When recording a video for the user or as a proof of work, it is best to create a code snippet and execute it with run-code.
|
|
43
|
-
It allows inserting appropriate pauses between the actions and annotating the video. There are new Playwright APIs for that.
|
|
44
|
-
|
|
45
|
-
1) Perform scenario using CLI and take note of all locators and actions. You'll need those locators to request their bounding boxes for highlight.
|
|
46
|
-
2) Create a file with the intended script for video (below). Use pressSequentially w/ delay for nice typing, make reasonable pauses.
|
|
47
|
-
3) Use playwright-cli run-code --filename your-script.js
|
|
48
|
-
|
|
49
|
-
**Important**: Overlays are `pointer-events: none` — they do not interfere with page interactions. You can safely keep sticky overlays visible while clicking, filling, or performing any actions on the page.
|
|
50
|
-
|
|
51
|
-
```js
|
|
52
|
-
async page => {
|
|
53
|
-
await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 } });
|
|
54
|
-
await page.goto('https://demo.playwright.dev/todomvc');
|
|
55
|
-
|
|
56
|
-
// Show a chapter card — blurs the page and shows a dialog.
|
|
57
|
-
// Blocks until duration expires, then auto-removes.
|
|
58
|
-
// Use this for simple use cases, but always feel free to hand-craft your own beautiful
|
|
59
|
-
// overlay via await page.screencast.showOverlay().
|
|
60
|
-
await page.screencast.showChapter('Adding Todo Items', {
|
|
61
|
-
description: 'We will add several items to the todo list.',
|
|
62
|
-
duration: 2000,
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// Perform action
|
|
66
|
-
await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Walk the dog', { delay: 60 });
|
|
67
|
-
await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
|
|
68
|
-
await page.waitForTimeout(1000);
|
|
69
|
-
|
|
70
|
-
// Show next chapter
|
|
71
|
-
await page.screencast.showChapter('Verifying Results', {
|
|
72
|
-
description: 'Checking the item appeared in the list.',
|
|
73
|
-
duration: 2000,
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
// Add a sticky annotation that stays while you perform actions.
|
|
77
|
-
// Overlays are pointer-events: none, so they won't block clicks.
|
|
78
|
-
const annotation = await page.screencast.showOverlay(`
|
|
79
|
-
<div style="position: absolute; top: 8px; right: 8px;
|
|
80
|
-
padding: 6px 12px; background: rgba(0,0,0,0.7);
|
|
81
|
-
border-radius: 8px; font-size: 13px; color: white;">
|
|
82
|
-
✓ Item added successfully
|
|
83
|
-
</div>
|
|
84
|
-
`);
|
|
85
|
-
|
|
86
|
-
// Perform more actions while the annotation is visible
|
|
87
|
-
await page.getByRole('textbox', { name: 'What needs to be done?' }).pressSequentially('Buy groceries', { delay: 60 });
|
|
88
|
-
await page.getByRole('textbox', { name: 'What needs to be done?' }).press('Enter');
|
|
89
|
-
await page.waitForTimeout(1500);
|
|
90
|
-
|
|
91
|
-
// Remove the annotation when done
|
|
92
|
-
await annotation.dispose();
|
|
93
|
-
|
|
94
|
-
// You can also highlight relevant locators and provide contextual annotations.
|
|
95
|
-
const bounds = await page.getByText('Walk the dog').boundingBox();
|
|
96
|
-
await page.screencast.showOverlay(`
|
|
97
|
-
<div style="position: absolute;
|
|
98
|
-
top: ${bounds.y}px;
|
|
99
|
-
left: ${bounds.x}px;
|
|
100
|
-
width: ${bounds.width}px;
|
|
101
|
-
height: ${bounds.height}px;
|
|
102
|
-
border: 1px solid red;">
|
|
103
|
-
</div>
|
|
104
|
-
<div style="position: absolute;
|
|
105
|
-
top: ${bounds.y + bounds.height + 5}px;
|
|
106
|
-
left: ${bounds.x + bounds.width / 2}px;
|
|
107
|
-
transform: translateX(-50%);
|
|
108
|
-
padding: 6px;
|
|
109
|
-
background: #808080;
|
|
110
|
-
border-radius: 10px;
|
|
111
|
-
font-size: 14px;
|
|
112
|
-
color: white;">Check it out, it is right above this text
|
|
113
|
-
</div>
|
|
114
|
-
`, { duration: 2000 });
|
|
115
|
-
|
|
116
|
-
await page.screencast.stop();
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Embrace creativity, overlays are powerful.
|
|
121
|
-
|
|
122
|
-
### Overlay API Summary
|
|
123
|
-
|
|
124
|
-
| Method | Use Case |
|
|
125
|
-
|--------|----------|
|
|
126
|
-
| `page.screencast.showChapter(title, { description?, duration?, styleSheet? })` | Full-screen chapter card with blurred backdrop — ideal for section transitions |
|
|
127
|
-
| `page.screencast.showOverlay(html, { duration? })` | Custom HTML overlay — use for callouts, labels, highlights |
|
|
128
|
-
| `disposable.dispose()` | Remove a sticky overlay added without duration |
|
|
129
|
-
| `page.screencast.hideOverlays()` / `page.screencast.showOverlays()` | Temporarily hide/show all overlays |
|
|
130
|
-
|
|
131
|
-
## Tracing vs Video
|
|
132
|
-
|
|
133
|
-
| Feature | Video | Tracing |
|
|
134
|
-
|---------|-------|---------|
|
|
135
|
-
| Output | WebM file | Trace file (viewable in Trace Viewer) |
|
|
136
|
-
| Shows | Visual recording | DOM snapshots, network, console, actions |
|
|
137
|
-
| Use case | Demos, documentation | Debugging, analysis |
|
|
138
|
-
| Size | Larger | Smaller |
|
|
139
|
-
|
|
140
|
-
## Limitations
|
|
141
|
-
|
|
142
|
-
- Recording adds slight overhead to automation
|
|
143
|
-
- Large recordings can consume significant disk space
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Testeiya internal skills
|
|
2
|
-
|
|
3
|
-
First-party skills authored in this repo and shipped with every Testeiya build.
|
|
4
|
-
This folder is **not** managed by `cli/skills.yaml` — `bunosh skills:update`
|
|
5
|
-
never touches it (it only replaces manifest-owned vendor folders).
|
|
6
|
-
|
|
7
|
-
A skill is a folder with a `SKILL.md` — YAML frontmatter (`name` +
|
|
8
|
-
`description`) followed by the instructions:
|
|
9
|
-
|
|
10
|
-
cli/skills/testeiya/my-skill/SKILL.md
|
|
11
|
-
|
|
12
|
-
Scaffold one with `bunosh skills:create <name>`.
|
|
13
|
-
|
|
14
|
-
Rules:
|
|
15
|
-
|
|
16
|
-
- The frontmatter `name` must be a slug (`[a-z0-9-]`) — it is the `/mention`
|
|
17
|
-
token in the chat input. A non-slug name falls back to the folder name.
|
|
18
|
-
- Skills placed directly in this folder get the **Testeiya** category in the
|
|
19
|
-
skills menu. To use a different category, nest a category subfolder:
|
|
20
|
-
`testeiya/<category>/<skill>/SKILL.md`.
|
|
21
|
-
- A skill here **overrides** a vendored skill with the same name only by
|
|
22
|
-
load-order dedupe — avoid reusing external names; `bunosh skills:update`
|
|
23
|
-
warns on collisions.
|
|
24
|
-
- Check the result with `bunosh skills:list` (this folder shows as internal).
|
|
25
|
-
|
|
26
|
-
One exception to "hand-authored": `testomatio-docs/` carries generated data.
|
|
27
|
-
Its `SKILL.md` is source and safe to edit, but `docs/`, `INDEX.md` and
|
|
28
|
-
`docs.lock.json` are written by `bunosh docs:update` (re-run on release) from
|
|
29
|
-
github.com/testomatio/docs — edit those upstream, not here.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: answer-formatting
|
|
3
|
-
description: How to compose Testeiya's answer to any data question — counts, lists, statuses, trends, coverage, plan reviews, comparisons, reports. Use BEFORE composing such a reply. Defines the answer blocks (headline, chart, list, insights, offer) and the proof rules.
|
|
4
|
-
license: MIT
|
|
5
|
-
metadata:
|
|
6
|
-
author: Testomat.io
|
|
7
|
-
version: 2.0.0
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Answer formatting
|
|
11
|
-
|
|
12
|
-
A data question gets a visual answer. Build the reply from these blocks, in this order. Include a block when its data exists in the answer; skip it when it doesn't.
|
|
13
|
-
|
|
14
|
-
1. **Headline** — one sentence: the verdict and its key number.
|
|
15
|
-
2. **Chart** — `render_chart` or diagram if data can be explained with visuals.
|
|
16
|
-
3. **List** — `render_result({call_id})` if data can be presented as a table. One entity → `render_item`. A hierarchy → `render_tree`.
|
|
17
|
-
4. **Insights** — up to 3 bullets: what stands out, each citing its source.
|
|
18
|
-
5. **Offer** — the obvious next action as an `ask_question`; a pick-a-subset proposal is its multi-select checklist. Skip when the answer closes the topic.
|
|
19
|
-
|
|
20
|
-
Example: "how many of X passed?" → headline with the ratio, chart of the status split, one list of all X with status marks.
|
|
21
|
-
|
|
22
|
-
## Rules
|
|
23
|
-
|
|
24
|
-
- Every visual has a `title`: what it shows and how it was filtered.
|
|
25
|
-
- No prose that repeats what a visual shows. Short sentences. No filler. Bold key numbers only. Never italic.
|
|
26
|
-
- Workspace files as inline code (renders as a clickable link). Entities by their id.
|
|
27
|
-
- Only numbers you computed from fetched data — derive counts/ratios with `query_result` on the fetched result, never by eyeballing a digest's sample; partial coverage is declared.
|
|
28
|
-
- A flow or sequence → a `mermaid` block in the text.
|
|
29
|
-
- Tool params live in the app-interface section of your system prompt — follow it, never invent fields.
|
|
30
|
-
- No render tools in this host (terminal)? Same blocks as markdown: table with ✅ ❌ ⚠️ ⏭ marks instead of list/chart.
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: check-cucumber
|
|
3
|
-
description: Sync Gherkin `.feature` files with Testomat.io using the check-cucumber CLI. Import Features as suites and Scenarios as tests, write `@S`/`@T` IDs back, check or clean IDs, and pull manual BDD tests as feature files. The BDD counterpart to check-tests; Testeiya's built-in sync never touches `.feature` files. Use in a Cucumber, CodeceptJS-BDD, or Gherkin repo to import, push, sync, pull, or ID-tag features and scenarios.
|
|
4
|
-
license: MIT
|
|
5
|
-
metadata:
|
|
6
|
-
author: Testomat.io
|
|
7
|
-
version: 1.0.0
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# check-cucumber
|
|
11
|
-
|
|
12
|
-
The `check-cucumber` CLI syncs Gherkin `.feature` files with Testomat.io. npm package `check-cucumber` (v0.6.x), run with `npx`. It:
|
|
13
|
-
|
|
14
|
-
- imports every Feature as a suite and every Scenario as a test case;
|
|
15
|
-
- writes `@S`/`@T` IDs back into the files for round-tripping;
|
|
16
|
-
- pulls manual BDD tests from Testomat.io as `.feature` files.
|
|
17
|
-
|
|
18
|
-
## Use cases
|
|
19
|
-
|
|
20
|
-
- Import a Cucumber repo's features and scenarios into Testomat.io.
|
|
21
|
-
- Write `@S`/`@T` IDs into the feature files so they round-trip with the TMS.
|
|
22
|
-
- Import one directory without detaching the rest of the project.
|
|
23
|
-
- Import into a branch, with labels, excluding drafts.
|
|
24
|
-
- Gate CI on missing IDs (`--check-ids`).
|
|
25
|
-
- Pull the project's manual BDD tests down as `.feature` files.
|
|
26
|
-
- Diagnose an import that printed success but changed nothing.
|
|
27
|
-
|
|
28
|
-
## Which tool for which tests
|
|
29
|
-
|
|
30
|
-
A Cucumber project's `.feature` files ARE its tests. They are not `*.test.md`, and Testeiya's built-in sync does not cover them.
|
|
31
|
-
|
|
32
|
-
- `*.test.md` markdown or code-based specs → `check-tests`.
|
|
33
|
-
- Gherkin `.feature` files → this skill.
|
|
34
|
-
- Test run RESULTS → `@testomatio/reporter` (`testomatio-reporter`, `qa-e2e-tests-reporting`).
|
|
35
|
-
- Unsure of the project kind → `scan-automation-project` first.
|
|
36
|
-
|
|
37
|
-
Never run `check-tests` over a `features/` directory, or `check-cucumber` over a markdown manual-tests directory.
|
|
38
|
-
|
|
39
|
-
## Critical rules
|
|
40
|
-
|
|
41
|
-
- **The import command REQUIRES the positional glob.** `npx check-cucumber -d features` alone prints the banner and exits 0 — a silent no-op. Always pass the pattern: `npx check-cucumber "**/*.feature" -d features`.
|
|
42
|
-
- **Import failures exit 0.** A rejected import logs `✖️` and exits 0; a missing key logs `Cant send report, api key not set` and exits 0. Judge success by the output text (`Data sent to Testomat.io`), never the exit code.
|
|
43
|
-
- **A partial import detaches everything else.** Importing a subset marks every test not in the payload as detached. Pass `--no-detached` for partial imports.
|
|
44
|
-
- **Destructive flags need explicit confirmation first.** `--purge`/`--unsafe-clean-ids` regex-strip every `@S`/`@T`-shaped tag (may eat unrelated tags like `@Test1234`); `--clean-ids` removes this project's IDs; `pull` overwrites same-named files. Preflight: clean/committed git tree; `pull --dry-run` first; grep for near-miss tags before a purge.
|
|
45
|
-
- **`Rule:` blocks crash the parser** (`TypeError: Cannot read properties of null (reading 'tags')`, exit 1). Scenarios must sit directly under `Feature:`.
|
|
46
|
-
- **Do not pass options to the `push` subcommand.** A parsing quirk makes the root command swallow shared options (`-d`, `--sync`, `--update-ids`, `--check-ids`, …). Use the root form `check-cucumber "<glob>" [options]` for every import.
|
|
47
|
-
- One source of truth per test — never double-import. A scenario synced here is automated in Testomat.io; don't also push it as markdown via check-tests.
|
|
48
|
-
- Quote the glob so the shell doesn't expand it.
|
|
49
|
-
|
|
50
|
-
## Testeiya workspace context
|
|
51
|
-
|
|
52
|
-
- A workspace is the session cwd representing one project; metadata in `.testeiya/testeiya.json` (`{projectId, baseUrl, title}`). When `baseUrl` isn't `https://app.testomat.io`, export it as `TESTOMATIO_URL`.
|
|
53
|
-
- `cli/src/workspace-model.ts` classifies a Cucumber repo as an automation workspace (`.feature` files + a cucumber config or `@cucumber/cucumber` dependency mark `hasAutomationConfig`).
|
|
54
|
-
- So Testeiya's built-in pull omits `--export-automated` here: `.testeiya/manual-tests/` holds only manual markdown, and the `.feature` files stay the single source for automated ones. Keep it that way.
|
|
55
|
-
- The built-in sync never picks up `features/` — feature-file sync is always an explicit check-cucumber run by the agent.
|
|
56
|
-
|
|
57
|
-
### Token resolution
|
|
58
|
-
|
|
59
|
-
check-cucumber reads only `TESTOMATIO` (a `tstmt_…` key; `.env` in the cwd is auto-loaded). Resolve in Testeiya's order:
|
|
60
|
-
|
|
61
|
-
1. the managed session's project token;
|
|
62
|
-
2. else the linked project's `apiKey` from the connected account;
|
|
63
|
-
3. else the folder's own `.env` `TESTOMATIO`;
|
|
64
|
-
4. else ask the user (Settings → Project → Project Reporting API key).
|
|
65
|
-
|
|
66
|
-
### Manual vs automated
|
|
67
|
-
|
|
68
|
-
- Each pulled markdown test carries `type: manual` or `type: automated`; a missing `type:` means manual.
|
|
69
|
-
- Gherkin scenarios imported here land on the automated side — they are backed by step definitions.
|
|
70
|
-
- Two exceptions import as manual: a `*.manual.feature` file (every scenario in it), and files created by `check-cucumber pull` (the pull exports the project's manual tests as Gherkin).
|
|
71
|
-
- If a case already exists as a manual markdown test and the user automates it, bind them by putting the existing `@T…` ID on the scenario — don't import a duplicate. See `automate-manual-test-cases`.
|
|
72
|
-
|
|
73
|
-
## Commands
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npx check-cucumber "<glob>" [options] # analyze + import (the push direction)
|
|
77
|
-
npx check-cucumber pull [--dry-run] # pull manual tests as .feature files (into cwd)
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
The glob resolves relative to `-d` (default cwd). `node_modules` is excluded automatically, but scope with `-d` on large repos anyway.
|
|
81
|
-
|
|
82
|
-
### Import options (root command)
|
|
83
|
-
|
|
84
|
-
| Flag | Meaning |
|
|
85
|
-
|---|---|
|
|
86
|
-
| `<glob>` (positional) | Required. `"**/*.feature"` for the whole tree |
|
|
87
|
-
| `-d, --dir <dir>` | Scan root (default cwd). Scope to `features/` etc. |
|
|
88
|
-
| `-e, --exclude <glob>` | Skip files: `-e "**/wip/*.feature"` |
|
|
89
|
-
| `--sync` | Wait until the server finishes. Use in CI and whenever a next step depends on the import |
|
|
90
|
-
| `-U, --update-ids` | Import, wait, then write `@S`/`@T` IDs back. Needs the key |
|
|
91
|
-
| `--check-ids` | Exit 1 when any feature/scenario lacks an ID (CI guard); proceeds with the import when all present |
|
|
92
|
-
| `--create` | Create tests/suites for IDs not found in the project |
|
|
93
|
-
| `--no-detached` | Don't detach absent tests. Required for partial imports |
|
|
94
|
-
| `--no-empty` | Delete suites left empty after import. Conflicts with `--keep-structure` |
|
|
95
|
-
| `--keep-structure` | Force the source structure onto the project |
|
|
96
|
-
| `-c, --codeceptjs` | CodeceptJS-BDD projects; accepted for compatibility, no payload change in 0.6.0 |
|
|
97
|
-
| `--clean-ids` | **Destructive.** Remove this project's IDs (needs the key). Confirm first |
|
|
98
|
-
| `--purge` / `--unsafe-clean-ids` | **Destructive.** Strip all `@S`/`@T`-shaped tags, no server check (no key needed). Confirm first |
|
|
99
|
-
|
|
100
|
-
### Pull options
|
|
101
|
-
|
|
102
|
-
- `--dry-run` — preview the file list without writing. Always run first.
|
|
103
|
-
- `pull -d` is BROKEN in 0.6.0 (swallowed by the root command) — pull always writes to the cwd, so `cd` into the target dir before pulling.
|
|
104
|
-
- Pull calls `GET {TESTOMATIO_URL}/api/test_data?api_key=…&with_files=true`, creates nested dirs, and overwrites same-named files.
|
|
105
|
-
|
|
106
|
-
## Environment variables
|
|
107
|
-
|
|
108
|
-
A `.env` in the cwd is auto-loaded (dotenv).
|
|
109
|
-
|
|
110
|
-
| Variable | Purpose |
|
|
111
|
-
|---|---|
|
|
112
|
-
| `TESTOMATIO` | Project API key (`tstmt_…`). Required for import, IDs, pull |
|
|
113
|
-
| `INPUT_TESTOMATIO-KEY` | Alternative key slot (GitHub Actions); takes precedence over `TESTOMATIO` |
|
|
114
|
-
| `TESTOMATIO_URL` | Instance URL (default `https://app.testomat.io`). Set from `.testeiya/testeiya.json` `baseUrl` on self-hosted |
|
|
115
|
-
| `TESTOMATIO_BRANCH` | Import into this branch; created if missing |
|
|
116
|
-
| `TESTOMATIO_SUITE` | Import everything into an existing suite by ID (`@Sa1b2c3d4`) |
|
|
117
|
-
| `TESTOMATIO_PREPEND_DIR` | Wrap imported files under a new top folder |
|
|
118
|
-
| `TESTOMATIO_WORKDIR` | Rebase reported file paths to this directory |
|
|
119
|
-
| `TESTOMATIO_LABELS` | Comma-separated labels on every imported test; `label:value` sets values. Alias `TESTOMATIO_SYNC_LABELS` |
|
|
120
|
-
| `TESTOMATIO_NO_DETACHED` | `1` = same as `--no-detached` |
|
|
121
|
-
| `TESTOMATIO_TITLE_IDS` | `1` = write test IDs into Scenario titles instead of tags |
|
|
122
|
-
|
|
123
|
-
## Gherkin → Testomat.io mapping
|
|
124
|
-
|
|
125
|
-
| Gherkin | Testomat.io | Notes |
|
|
126
|
-
|---|---|---|
|
|
127
|
-
| folder / `x.feature` file | suite hierarchy | folders and file names become parent suites |
|
|
128
|
-
| `Feature:` | suite | feature tags travel with the suite; empty title = file skipped with an error |
|
|
129
|
-
| `Scenario:` | test (automated) | full source block becomes the test body; empty title = scenario skipped |
|
|
130
|
-
| `Scenario Outline:` + `Examples:` | ONE test | not expanded per row; the Examples table stays in the body |
|
|
131
|
-
| tags (`@smoke`, `@severity:critical`) | tags on the test | sent without `@`; `@S`/`@T` ID tags are treated as sync IDs, not tags |
|
|
132
|
-
| `Background:` | NOT imported | parses fine, but its steps appear in no test — keep critical context in scenarios |
|
|
133
|
-
| `Rule:` | NOT supported | crashes the analyzer |
|
|
134
|
-
| `And` / `But` | normalized | inherit the preceding Given/When/Then keyword |
|
|
135
|
-
| `*.manual.feature` | manual tests | the marker for manual BDD cases kept in the repo |
|
|
136
|
-
|
|
137
|
-
`--update-ids` write-back: IDs are inserted as tags — appended to an existing tag line, else a new tag line above `Feature:`/`Scenario:`, indentation preserved. Files carrying IDs from another project warn `Some tests have IDs from another project` and are left alone — clean with `--clean-ids` (old key) or a confirmed `--purge`.
|
|
138
|
-
|
|
139
|
-
## Recipes
|
|
140
|
-
|
|
141
|
-
From the workspace root, token in `.env` or env:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# First import, waiting for the server
|
|
145
|
-
npx check-cucumber "**/*.feature" --sync
|
|
146
|
-
|
|
147
|
-
# Import and write IDs back (the standard round-trip sync)
|
|
148
|
-
npx check-cucumber "**/*.feature" --update-ids
|
|
149
|
-
|
|
150
|
-
# CI guard — fail when IDs are missing
|
|
151
|
-
npx check-cucumber "**/*.feature" --check-ids
|
|
152
|
-
|
|
153
|
-
# Partial import of one directory, rest untouched
|
|
154
|
-
npx check-cucumber "**/*.feature" -d features/checkout --no-detached
|
|
155
|
-
|
|
156
|
-
# Import into a branch, with labels, excluding drafts
|
|
157
|
-
TESTOMATIO_BRANCH="release-2.4" TESTOMATIO_LABELS="smoke,severity:high" \
|
|
158
|
-
npx check-cucumber "**/*.feature" -e "**/wip/*.feature" --sync
|
|
159
|
-
|
|
160
|
-
# Self-hosted instance
|
|
161
|
-
TESTOMATIO_URL="https://testomatio.example.com" npx check-cucumber "**/*.feature" --sync
|
|
162
|
-
|
|
163
|
-
# Pull manual BDD tests into a dedicated directory (pull writes to cwd)
|
|
164
|
-
mkdir -p features/manual && cd features/manual
|
|
165
|
-
npx check-cucumber pull --dry-run
|
|
166
|
-
npx check-cucumber pull
|
|
167
|
-
|
|
168
|
-
# Re-import as a new project (confirm + commit first)
|
|
169
|
-
npx check-cucumber "**/*.feature" --purge
|
|
170
|
-
TESTOMATIO=<new-project-key> npx check-cucumber "**/*.feature" --update-ids
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Exit codes and troubleshooting
|
|
174
|
-
|
|
175
|
-
Exit 1: `--check-ids` found missing IDs; `pull` without a key or with a failed request; the `Rule:` analyzer crash. Everything else — rejected imports, parse errors, a missing key on import — exits 0, so always read the output.
|
|
176
|
-
|
|
177
|
-
| Symptom | Cause | Fix |
|
|
178
|
-
|---|---|---|
|
|
179
|
-
| Banner prints, nothing else, exit 0 | Positional glob missing | Add `"**/*.feature"` |
|
|
180
|
-
| `Cant send report, api key not set` | `TESTOMATIO` unset | Resolve the token; the run parsed files but imported nothing |
|
|
181
|
-
| `✖️ <server message>` after `Sending data…` | Server rejected the import (bad/foreign token) — exit still 0 | Verify the key matches this project |
|
|
182
|
-
| `✖️ Error: Server cannot be reached` | Network / wrong `TESTOMATIO_URL` | Check the URL against `.testeiya/testeiya.json` `baseUrl` |
|
|
183
|
-
| `TypeError: … (reading 'tags')` | A `Rule:` block | Flatten scenarios directly under `Feature:` |
|
|
184
|
-
| `Errors :` listing `expected: #EOF, …` | Gherkin syntax error — that file is skipped, exit stays 0 | Fix the reported line; re-run |
|
|
185
|
-
| `Total Scenarios skipped N` | Scenarios with empty titles | Give every scenario a title |
|
|
186
|
-
| `N suites and M tests are missing test IDs!` (exit 1) | `--check-ids` failed | Run with `--update-ids` |
|
|
187
|
-
| `Some tests have IDs from another project` | Foreign `@S`/`@T` tags | `--clean-ids` with the old key, or a confirmed `--purge` |
|
|
188
|
-
| Tests unexpectedly detached | A partial import without `--no-detached` | Re-import the full tree; use `--no-detached` for partial runs |
|
|
189
|
-
| Pull wrote files to the wrong place | `pull -d` not honored in 0.6.0 | `cd` into the target dir first |
|
|
190
|
-
| Pull says `No files found on server` | The project has no manual tests to export | Nothing to pull; check the project kind |
|
|
191
|
-
|
|
192
|
-
## Related skills
|
|
193
|
-
|
|
194
|
-
- `check-tests` — the markdown/code counterpart; Testeiya's built-in sync path.
|
|
195
|
-
- `sync-test-cases-with-tms` — markdown pull/push workflow details.
|
|
196
|
-
- `testomatio-reporter` / `qa-e2e-tests-reporting` — report cucumber RUN RESULTS; check-cucumber only syncs definitions.
|
|
197
|
-
- `scan-automation-project` — detect the framework before choosing a sync tool.
|
|
198
|
-
- `automate-manual-test-cases` — bind existing manual cases to new scenarios by ID.
|
|
199
|
-
- `qa-test-code-coverage` — map source files to imported test IDs.
|
|
200
|
-
- `testomatio-mcp` — query the project's suites and tests directly.
|