Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
日本語の概要は準備中です。原文の説明を表示しています。
Maintain a dedicated automation test project per repository - separate from the product's unit tests - with API, worker, and UI suites written scenario-first
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Every repository worth testing gets a dedicated automation test project: a separate project that exercises the real product through its public surface and can be re-run on every change. It is not the product's unit-test folder and never mixes into it — it has its own dependencies, its own entrypoint, and runs in the repository's own pipeline (automation-pipeline-integration).
Core principle: scenarios before code (scenario-plan-first). A suite written without a scenario list tests whatever was easy, not what matters. And automation follows the manual pass: you automate the scenarios you have already executed and understood by hand.
One automation project per repository, following the project's convention — default qa-automation/ at the repo root (a sibling repo also works):
qa-automation/
scenarios/ # the human-readable scenario lists, one file per feature
api/ # backend API suite: HTTP client + assertions
worker/ # async job suite: trigger → poll → assert side effects
ui/ # frontend suite: Playwright against the built app
fixtures/ # seed data
support/ # helpers, page objects, request builders, stub mappings
scripts/e2e.sh # single entrypoint: provision, run all suites, teardown
| Surface | Tool (follow the project's existing choice) |
|---|---|
| REST API | the language's HTTP test client + assertions (Playwright APIRequest, RestAssured, supertest, Go net/http + testify) |
| Worker / async jobs | same test runner; triggers through the product path, polls for side effects (worker-job-testing) |
| Web UI | Playwright (preferred) / Cypress — headless Chromium via executablePath: process.env.CHROME_BIN, no browser download |
Mobile automation is out of scope for now — do not scaffold a mobile suite.
scenarios/ and posted on the task.export_forbidden_for_other_tenant), reading like the scenario via page objects / request helpers.Feature: task export to CSV.
api/export_returns_all_tasks, api/export_empty_project_header_only, api/export_forbidden_for_other_tenant, worker/export_event_emitted. Each seeds its own rows, asserts, cleans up.scripts/e2e.sh → all green; pipeline runs the same script on the next task.CHROME_BIN.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
日本語の概要は準備中です。原文の説明を表示しています。
Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping
日本語の概要は準備中です。原文の説明を表示しています。
Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal
日本語の概要は準備中です。原文の説明を表示しています。
Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task
日本語の概要は準備中です。原文の説明を表示しています。
How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.
日本語の概要は準備中です。原文の説明を表示しています。
Use when deciding whether a request needs an analiz task before implementation - the conditions that require the architect's analysis versus going straight to implementation
日本語の概要は準備中です。原文の説明を表示しています。