testeiya 0.2.1 → 0.3.10
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 +284 -171
- package/dist/prompt/context.js +79 -0
- package/dist/prompt/context.js.map +1 -0
- package/dist/prompt/index.js +60 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/print.js +30 -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} +38 -25
- 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 +57 -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 +172 -0
- package/dist/src/args.js.map +1 -0
- package/dist/src/cli.js +97 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/doctor.js +186 -0
- package/dist/src/doctor.js.map +1 -0
- package/dist/src/env.js +93 -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 +71 -0
- package/dist/src/model.js.map +1 -0
- package/dist/src/models.js +38 -0
- package/dist/src/models.js.map +1 -0
- package/dist/src/output.js +185 -0
- package/dist/src/output.js.map +1 -0
- package/dist/src/result.js +41 -0
- package/dist/src/result.js.map +1 -0
- package/dist/src/run.js +291 -0
- package/dist/src/run.js.map +1 -0
- package/dist/src/session.js +92 -0
- package/dist/src/session.js.map +1 -0
- package/dist/src/sessions.js +61 -0
- package/dist/src/sessions.js.map +1 -0
- package/dist/vendor/mcp.js +14801 -0
- package/mcp-tools.json +2967 -0
- package/package.json +34 -43
- package/prompt/context.ts +101 -0
- package/prompt/index.ts +102 -0
- package/prompt/print.ts +32 -0
- package/prompt/project-info.ts +30 -0
- package/prompt/system-prompt.ts +187 -0
- package/{src/prompt → prompt}/testomatio.ts +120 -9
- package/prompt/tools.ts +57 -0
- package/prompt/vocab.ts +7 -0
- package/skills/codeceptjs/ci-fix-tests/SKILL.md +7 -8
- package/skills/codeceptjs/codeceptjs-auth/SKILL.md +47 -64
- package/skills/codeceptjs/codeceptjs-exploration/SKILL.md +56 -47
- package/skills/codeceptjs/codeceptjs-fundamentals/SKILL.md +144 -106
- package/skills/codeceptjs/codeceptjs-run-analysis/SKILL.md +50 -57
- package/skills/codeceptjs/debugging-codeceptjs-tests/SKILL.md +88 -196
- package/skills/codeceptjs/migrate-codeceptjs-4/SKILL.md +4 -5
- package/skills/codeceptjs/migrate-cypress-to-codeceptjs/SKILL.md +25 -36
- package/skills/codeceptjs/migrate-protractor-to-codeceptjs/SKILL.md +23 -36
- package/skills/codeceptjs/migrate-selenium-java-to-codeceptjs/SKILL.md +23 -36
- package/skills/codeceptjs/migrate-testcafe-to-codeceptjs/SKILL.md +23 -35
- package/skills/codeceptjs/refactoring-codeceptjs-tests/SKILL.md +50 -53
- package/skills/codeceptjs/writing-codeceptjs-tests/SKILL.md +87 -191
- package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/SKILL.md +1 -1
- package/{skills.lock.json → skills/skills.lock.json} +43 -36
- package/skills/skills.yaml +34 -0
- package/skills/testomatio/explorbot/explorbot-fundamentals/SKILL.md +49 -61
- package/skills/testomatio/explorbot/explorbot-fundamentals/references/no-install.md +36 -0
- package/skills/testomatio/explorbot/explorbot-plan/SKILL.md +20 -7
- package/skills/testomatio/explorbot/explorbot-setup/SKILL.md +41 -289
- package/skills/testomatio/qa-process/qa-explain-behavior/SKILL.md +111 -0
- package/skills/testomatio/qa-process/qa-explain-behavior/references/answer-shapes.md +116 -0
- package/skills/testomatio/qa-process/qa-explain-behavior/references/examples.md +157 -0
- package/skills/testomatio/qa-process/qa-lead-strategy-advisor/SKILL.md +91 -0
- package/skills/testomatio/qa-process/qa-lead-strategy-advisor/references/output-format.md +71 -0
- package/skills/testomatio/qa-process/testing-workflow/SKILL.md +227 -0
- package/skills/testomatio/test-automation/qa-data-seeder/SKILL.md +83 -0
- package/skills/testomatio/test-automation/run-tests-with-testomatio-reporter/SKILL.md +5 -3
- package/skills/testomatio/test-automation/setup-change-aware-pr-testing/SKILL.md +190 -0
- package/skills/testomatio/test-automation/setup-ci-automation/SKILL.md +76 -0
- package/skills/testomatio/test-management/qa-split-testing-levels-pyramid/SKILL.md +55 -0
- package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/SKILL.md +220 -0
- package/skills/testomatio/test-management/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +126 -0
- package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +1 -1
- package/skills/testomatio/test-management/qa-thinking/SKILL.md +25 -25
- package/skills/testomatio/test-management/testomatio-mcp/SKILL.md +14 -1
- package/skills/testomatio/test-management/testomatio-mcp/references/MCP_SETUP.md +8 -0
- package/assets/testeiya-logo-dark.svg +0 -16
- package/assets/testeiya-logo.svg +0 -15
- package/models.catalog.json +0 -6963
- package/skills/playwright-best-practices-skill/LICENSE.md +0 -7
- package/skills/playwright-best-practices-skill/README.md +0 -147
- 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/test-automation/setup-pr-testing/SKILL.md +0 -199
- 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/prompt/tools.ts +0 -27
- 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 -194
- 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
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication-flows.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/authentication.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/clock-mocking.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/mobile-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-context.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/multi-user.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/network-advanced.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/advanced/third-party.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/pom-vs-fixtures.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/test-architecture.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/architecture/when-to-mock.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/browser-apis.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/iframes.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/service-workers.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/browser-apis/websockets.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/annotations.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/assertions-waiting.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/configuration.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/fixtures-hooks.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/global-setup.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/locators.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/page-object-model.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/projects-dependencies.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-data.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-suite-structure.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/core/test-tags.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/console-errors.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/debugging.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/error-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/debugging/flaky-tests.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/angular.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/nextjs.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/react.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/frameworks/vue.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/ci-cd.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/docker.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/github-actions.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/gitlab.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/other-providers.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/parallel-sharding.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/performance.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/reporting.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/infrastructure-ci-cd/test-coverage.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/accessibility.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/api-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/browser-extensions.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/canvas-webgl.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/component-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/drag-drop.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/electron.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-operations.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/file-upload-download.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/forms-validation.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/graphql-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/i18n.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/performance-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/security-testing.md +0 -0
- /package/skills/{playwright-best-practices-skill → playwright/playwright-best-practices}/testing-patterns/visual-regression.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/SKILL.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/element-attributes.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/playwright-tests.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/request-mocking.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/running-code.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/session-management.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/storage-state.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/test-generation.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/tracing.md +0 -0
- /package/skills/{playwright-cli → playwright/playwright-cli}/references/video-recording.md +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
Copyright © 2026 Currents Software Inc.
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
-
|
|
5
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
```
|
|
2
|
-
|
|
3
|
-
░█▀█░█░░░█▀█░█░█░█░█░█▀▄░▀█▀░█▀▀░█░█░▀█▀░░░█▀▄░█▀▀░█▀▀░▀█▀░░░█▀█░█▀▄░█▀█░█▀▀░▀█▀░▀█▀░█▀▀░█▀▀░█▀▀░
|
|
4
|
-
░█▀▀░█░░░█▀█░░█░░█▄█░█▀▄░░█░░█░█░█▀█░░█░░░░█▀▄░█▀▀░▀▀█░░█░░░░█▀▀░█▀▄░█▀█░█░░░░█░░░█░░█░░░█▀▀░▀▀█░
|
|
5
|
-
░▀░░░▀▀▀░▀░▀░░▀░░▀░▀░▀░▀░▀▀▀░▀▀▀░▀░▀░░▀░░░░▀▀░░▀▀▀░▀▀▀░░▀░░░░▀░░░▀░▀░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░
|
|
6
|
-
```
|
|
7
|
-
<img src="https://currents.dev/favicon-96x96.png" width="24" height="24" align="left" />by [currents.dev](https://currents.dev?utm_source=ai-skill) - The all-in-one Dashboard for Playwright Testing.
|
|
8
|
-
|
|
9
|
-
# Playwright Best Practices Skill
|
|
10
|
-
|
|
11
|
-
A skill that gives the AI specialized guidance for writing, debugging, and maintaining **Playwright** tests in **TypeScript**. Use it in any repo where you work with Playwright so the assistant follows best practices for E2E, component, API, visual regression, accessibility, security, i18n, Electron, and browser extension testing.
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npx skills add https://github.com/currents-dev/playwright-best-practices-skill
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
The skill is activity-based: the AI is directed to the right reference depending on what you're doing, so you get focused advice without loading everything at once.
|
|
20
|
-
|
|
21
|
-
## When the Skill Is Used
|
|
22
|
-
|
|
23
|
-
The skill triggers when the AI infers you need help with things like:
|
|
24
|
-
|
|
25
|
-
- Writing new E2E, component, API, visual regression, or accessibility tests
|
|
26
|
-
- Testing mobile/responsive layouts, touch gestures, or device emulation
|
|
27
|
-
- Implementing file uploads/downloads, date/time mocking, or WebSocket testing
|
|
28
|
-
- Handling OAuth popups, geolocation, permissions, or multi-tab flows
|
|
29
|
-
- Testing iframes, canvas/WebGL, service workers, or PWA features
|
|
30
|
-
- Testing Electron desktop apps or browser extensions
|
|
31
|
-
- Internationalization (i18n), locales, RTL layouts, or date/number formats
|
|
32
|
-
- Testing error states, offline mode, or network failure scenarios
|
|
33
|
-
- Security testing (XSS, CSRF, authentication, authorization)
|
|
34
|
-
- Performance testing with Web Vitals or Lighthouse
|
|
35
|
-
- Reviewing or refactoring Playwright test code
|
|
36
|
-
- Fixing flaky tests or debugging failures
|
|
37
|
-
- Setting up CI/CD, test coverage, or global setup/teardown
|
|
38
|
-
- Configuring projects, dependencies, parallel runs, or sharding
|
|
39
|
-
|
|
40
|
-
You don't have to mention "skill" or "Playwright best practices"; describe your task (e.g. "fix this flaky login test" or "add accessibility tests") and the AI will use the skill when it's relevant.
|
|
41
|
-
|
|
42
|
-
## What's Inside
|
|
43
|
-
|
|
44
|
-
**57 reference documents** organized into 8 categories:
|
|
45
|
-
|
|
46
|
-
### Core (`core/`)
|
|
47
|
-
|
|
48
|
-
| Topic | Reference | Use for |
|
|
49
|
-
| -------------------- | --------------------------- | ------------------------------------------------ |
|
|
50
|
-
| Test structure | `test-suite-structure.md` | Structure, config, E2E/component/API/visual tests |
|
|
51
|
-
| Locators | `locators.md` | Selectors, robustness, avoiding brittle locators |
|
|
52
|
-
| Assertions & waiting | `assertions-waiting.md` | Expect APIs, auto-waiting, polling |
|
|
53
|
-
| Page Object Model | `page-object-model.md` | POM structure and patterns |
|
|
54
|
-
| Fixtures & hooks | `fixtures-hooks.md` | Setup, teardown, auth, custom fixtures |
|
|
55
|
-
| Test data | `test-data.md` | Factories, Faker, data-driven testing |
|
|
56
|
-
| Annotations | `annotations.md` | skip, fixme, slow, test steps |
|
|
57
|
-
| Configuration | `configuration.md` | playwright.config.ts options |
|
|
58
|
-
| Global setup | `global-setup.md` | globalSetup/Teardown, DB migrations |
|
|
59
|
-
| Projects | `projects-dependencies.md` | Project config, dependencies, filtering |
|
|
60
|
-
|
|
61
|
-
### Debugging (`debugging/`)
|
|
62
|
-
|
|
63
|
-
| Topic | Reference | Use for |
|
|
64
|
-
| -------------- | -------------------- | ------------------------------------------ |
|
|
65
|
-
| Debugging | `debugging.md` | Trace viewer, inspector, common issues |
|
|
66
|
-
| Flaky tests | `flaky-tests.md` | Detection, diagnosis, fixing, quarantine |
|
|
67
|
-
| Error testing | `error-testing.md` | Error boundaries, offline, network failures |
|
|
68
|
-
| Console errors | `console-errors.md` | Capturing and failing on JS errors |
|
|
69
|
-
|
|
70
|
-
### Testing Patterns (`testing-patterns/`)
|
|
71
|
-
|
|
72
|
-
| Topic | Reference | Use for |
|
|
73
|
-
| ------------------- | ------------------------- | ---------------------------------------------- |
|
|
74
|
-
| Accessibility | `accessibility.md` | Axe-core, keyboard nav, ARIA, focus management |
|
|
75
|
-
| API testing | `api-testing.md` | REST API testing, request context |
|
|
76
|
-
| Component testing | `component-testing.md` | CT setup, mounting, props, mocking |
|
|
77
|
-
| Visual regression | `visual-regression.md` | Screenshot comparison, thresholds |
|
|
78
|
-
| File operations | `file-operations.md` | Upload, download basics |
|
|
79
|
-
| File upload/download| `file-upload-download.md` | Progress, cancellation, retry patterns |
|
|
80
|
-
| Forms validation | `forms-validation.md` | Form testing, validation states |
|
|
81
|
-
| Drag and drop | `drag-drop.md` | Drag-and-drop interactions |
|
|
82
|
-
| GraphQL testing | `graphql-testing.md` | GraphQL queries, mutations, mocking |
|
|
83
|
-
| Canvas/WebGL | `canvas-webgl.md` | Canvas testing, charts, WebGL, games |
|
|
84
|
-
| i18n | `i18n.md` | Locales, RTL, date/number formats |
|
|
85
|
-
| Electron | `electron.md` | Desktop apps, IPC, main/renderer process |
|
|
86
|
-
| Browser extensions | `browser-extensions.md` | Popup, background, content scripts, APIs |
|
|
87
|
-
| Security testing | `security-testing.md` | XSS, CSRF, auth security, authorization |
|
|
88
|
-
| Performance testing | `performance-testing.md` | Web Vitals, budgets, Lighthouse |
|
|
89
|
-
|
|
90
|
-
### Advanced (`advanced/`)
|
|
91
|
-
|
|
92
|
-
| Topic | Reference | Use for |
|
|
93
|
-
| ---------------- | ----------------------- | ------------------------------------------- |
|
|
94
|
-
| Authentication | `authentication.md` | Login flows, session storage, cookies |
|
|
95
|
-
| Auth flows | `authentication-flows.md` | MFA, password reset, complex auth |
|
|
96
|
-
| Mobile testing | `mobile-testing.md` | Device emulation, touch gestures, viewports |
|
|
97
|
-
| Clock mocking | `clock-mocking.md` | Date/time mocking, timezones, timers |
|
|
98
|
-
| Multi-context | `multi-context.md` | Popups, new tabs, OAuth flows |
|
|
99
|
-
| Multi-user | `multi-user.md` | Collaboration, RBAC, concurrent actions |
|
|
100
|
-
| Network advanced | `network-advanced.md` | GraphQL, HAR, request modification |
|
|
101
|
-
| Third-party | `third-party.md` | OAuth, payments, email/SMS mocking |
|
|
102
|
-
|
|
103
|
-
### Browser APIs (`browser-apis/`)
|
|
104
|
-
|
|
105
|
-
| Topic | Reference | Use for |
|
|
106
|
-
| --------------- | -------------------- | ------------------------------------------- |
|
|
107
|
-
| Browser APIs | `browser-apis.md` | Geolocation, permissions, clipboard, camera |
|
|
108
|
-
| WebSockets | `websockets.md` | Real-time testing, SSE, reconnection |
|
|
109
|
-
| iFrames | `iframes.md` | Cross-origin, nested, dynamic iframes |
|
|
110
|
-
| Service workers | `service-workers.md` | PWA, caching, offline, push notifications |
|
|
111
|
-
|
|
112
|
-
### Architecture (`architecture/`)
|
|
113
|
-
|
|
114
|
-
| Topic | Reference | Use for |
|
|
115
|
-
| ----------------- | ---------------------- | ------------------------------------ |
|
|
116
|
-
| POM vs fixtures | `pom-vs-fixtures.md` | Choosing between patterns |
|
|
117
|
-
| Test architecture | `test-architecture.md` | Test type selection, structure |
|
|
118
|
-
| When to mock | `when-to-mock.md` | Mock vs real services decisions |
|
|
119
|
-
|
|
120
|
-
### Frameworks (`frameworks/`)
|
|
121
|
-
|
|
122
|
-
| Topic | Reference | Use for |
|
|
123
|
-
| ------- | ------------- | ------------------------------ |
|
|
124
|
-
| React | `react.md` | React-specific testing patterns |
|
|
125
|
-
| Angular | `angular.md` | Angular-specific testing |
|
|
126
|
-
| Vue | `vue.md` | Vue/Nuxt testing patterns |
|
|
127
|
-
| Next.js | `nextjs.md` | Next.js SSR/SSG testing |
|
|
128
|
-
|
|
129
|
-
### Infrastructure & CI/CD (`infrastructure-ci-cd/`)
|
|
130
|
-
|
|
131
|
-
| Topic | Reference | Use for |
|
|
132
|
-
| ---------------- | ---------------------- | ------------------------------------ |
|
|
133
|
-
| CI/CD | `ci-cd.md` | Pipelines, general CI setup |
|
|
134
|
-
| GitHub Actions | `github-actions.md` | GitHub-specific workflows |
|
|
135
|
-
| GitLab CI | `gitlab.md` | GitLab-specific pipelines |
|
|
136
|
-
| Other providers | `other-providers.md` | CircleCI, Azure DevOps, Jenkins |
|
|
137
|
-
| Docker | `docker.md` | Container setup, Playwright images |
|
|
138
|
-
| Parallel/sharding| `parallel-sharding.md` | Sharding, parallel execution |
|
|
139
|
-
| Performance | `performance.md` | Parallel runs, optimization |
|
|
140
|
-
| Reporting | `reporting.md` | Test reporters, artifacts |
|
|
141
|
-
| Test coverage | `test-coverage.md` | V8 coverage, reports, thresholds, CI |
|
|
142
|
-
|
|
143
|
-
The skill's `SKILL.md` maps your current activity to these references so the right content is used in context.
|
|
144
|
-
|
|
145
|
-
## License
|
|
146
|
-
|
|
147
|
-
MIT
|
|
@@ -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.
|