Skip to main content

QA Kit CLI — AI-assisted QA automation toolkit for Playwright, Cypress, Jest, and more.

Project description

QA Kit

AI-assisted QA automation toolkit for Playwright, Cypress, Jest, Vitest, Selenium, GitHub Actions, and Jenkins.

QA Kit is a CLI toolkit purpose-built for QA automation engineers. It gives your AI coding assistant (Claude Code, GitHub Copilot, Gemini CLI, Cursor, Windsurf, and 25+ more) a complete set of slash commands for the full QA lifecycle — from strategy through release gate decisions.

Think of it as Spec Kit for QA: same architecture, same install method, but every command is tailored to testing workflows rather than feature specification.

Architecture details: ARCHITECTURE.md


Install

uv tool install qa-kit-cli

Or with pipx:

pipx install qa-kit-cli

Or with pip:

pip install qa-kit-cli

Quick Start

# Initialize QA Kit in your project (auto-detects your AI agent)
qakit init

# Or initialize with specific options
qakit init --integration codex --integration-options="--skills"
qakit init --preset playwright --integration claude
qakit init my-project --force --script ps

# In your AI agent, run the QA lifecycle commands
/qakit.policy
/qakit.strategy
/qakit.testplan
/qakit.traceability
/qakit.write.playwright
/qakit.ci.github-actions
/qakit.release-gate

Slash Commands

QA Kit installs 37 slash commands into your AI agent's command directory (v0.4.0).

QA Strategy & Planning

Command Description
/qakit.policy Create or update the project's test policy (governance, coverage thresholds, frameworks)
/qakit.strategy Generate a QA strategy for a feature — risk areas, priorities, toolchain
/qakit.testplan Produce a structured test plan: scope, entry/exit criteria, environments
/qakit.coverage Analyze existing tests and report gaps against requirements
/qakit.gaps Cross-reference requirements with the test plan and flag untested scenarios
/qakit.clarify Resolve ambiguities in a QA strategy or test plan
/qakit.pyramid Analyze test pyramid balance and recommend adjustments

QA Lifecycle

Command Description
/qakit.tasks Generate a prioritized QA implementation task list from strategy and test plan
/qakit.tasks.issues Convert QA task list to GitHub Issues or Jira tickets with labels, milestones, and traceability updates
/qakit.checklist Generate a QA readiness checklist for a feature or release
/qakit.traceability Map requirements → test cases → test files → CI jobs in a traceability matrix
/qakit.regression Build or update the regression suite with P0/P1/P2 tiers and quarantine tracking
/qakit.defects Summarize defects, escaped bugs, root causes, and risk trends
/qakit.release-gate Make a ship/no-ship decision from coverage, test results, and defects
/qakit.env Define test environments, browser/device matrix, data rules, and service virtualization

Test Writing

Command Description
/qakit.write.playwright Write Playwright TypeScript tests with best-practice conventions
/qakit.write.cypress Write Cypress TypeScript e2e/component tests
/qakit.write.selenium Write Selenium WebDriver tests (Python or Java)
/qakit.write.jest Write Jest unit/integration tests
/qakit.write.vitest Write Vitest unit tests for Vite-based projects
/qakit.write.pom Generate Page Object Model classes
/qakit.write.fixtures Generate test fixtures, factories, and seed data
/qakit.write.a11y Write automated accessibility tests (axe-core / Playwright)
/qakit.write.visual Set up visual regression tests (Playwright screenshots / Percy)
/qakit.write.api Write API contract tests (REST/GraphQL)

CI/CD Pipeline

Command Description
/qakit.ci.github-actions Generate GitHub Actions workflow with matrix strategy
/qakit.ci.jenkins Generate a declarative Jenkinsfile for test execution
/qakit.ci.matrix Design cross-browser/platform test matrix
/qakit.ci.badges Add test coverage and quality badges to README
/qakit.ci.report Configure Allure / JUnit XML / HTML reporting in CI

Test Maintenance

Command Description
/qakit.maintain.flaky Diagnose and fix flaky tests
/qakit.maintain.refactor Refactor tests to current framework conventions
/qakit.maintain.data Audit and clean up test data and fixtures
/qakit.maintain.upgrade Upgrade tests to a new framework version

QA Review

Command Description
/qakit.review.pr Review a PR from a QA perspective
/qakit.review.bugreport Generate a structured, Jira-ready bug report
/qakit.review.accessibility Audit a page/component for WCAG 2.1 AA compliance

Presets

Presets tailor commands to your framework stack. Three are bundled:

qakit preset add playwright   # TypeScript + Playwright conventions
qakit preset add cypress      # Cypress Component Testing + E2E
qakit preset add lean-qa      # Minimal workflow for small teams

Suites

Suites scope QA artifacts per feature or sprint under .qakit/suites/<NNN>-<name>/:

qakit suite create login-flow        # Create a suite directory
qakit suite list                     # List all suites
qakit suite switch 001-login-flow    # Set active suite
qakit suite info                     # Show active suite details

You can also create a suite at init time:

qakit init --suite login-flow --here

Or set the active suite via environment variable:

QAKIT_SUITE=login-flow qakit init --here

Extensions

Extensions add integrations with external tools:

qakit extension add allure        # Allure report generation
qakit extension add testrail      # TestRail sync
qakit extension add jira          # Jira defect tracking
qakit extension add browserstack  # Cross-browser cloud testing

Supported AI Agents

QA Kit works with 32 AI coding agents including:

Claude Code · GitHub Copilot · Gemini CLI · Cursor · Windsurf · Amp · OpenCode · Forge · Roo · Kiro CLI · Junie · Devin · Tabnine · and more.


Bundled Workflows

Workflow ID Steps
full-qa-cycle policystrategytestplantaskswrite.playwrightci.github-actions
playwright-e2e strategywrite.playwrightwrite.pomci.github-actions
release-gate coveragetraceabilityregressiondefectsrelease-gate
regression-refresh regressionmaintain.flakymaintain.dataci.github-actions

CLI Reference

qakit init [PROJECT_NAME]
  --here                              Initialize in current directory
  --force                             Skip confirmation in non-empty directories
  --integration, -i TEXT              AI agent to configure
  --integration-options TEXT          Pass-through options (e.g. "--skills")
  --ignore-agent-tools                Skip CLI tool version checks
  --script [sh|ps]                    Script type (default: platform-aware)
  --no-git                            Skip git initialization
  --branch-numbering [sequential|timestamp]
  --preset TEXT                       Install preset at init (repeatable)
  --suite TEXT                        Create a named suite at init (or set QAKIT_SUITE)

qakit integration install|add <key>       Install an AI agent integration
qakit integration uninstall|remove <key>  Uninstall an AI agent integration
qakit integration switch <key>            Switch to a different integration
qakit integration use <key>               Set active integration without reinstalling
qakit integration upgrade [key]           Reinstall with updated templates
qakit integration list [--catalog]        List integrations

qakit extension install|add <id>          Install an extension
  --priority N                            Set priority (default: 10)
  --dev <path>                            Install from local path
  --from <url>                            Install from URL
qakit extension uninstall|remove <id>
  --keep-config                           Back up config files instead of deleting
  --force                                 Remove immediately
qakit extension update <id>               Update to latest version
qakit extension list [--available] [--all]
qakit extension search [query]            Search catalog
qakit extension info <id>                 Show extension details
qakit extension enable/disable <id>
qakit extension resolve <template>        Show 4-layer resolution stack

qakit preset install <id> [--priority N]
qakit preset add <id>                     Alias for install (with deprecation tip)
qakit preset uninstall <id>
qakit preset remove <id>                  Alias for uninstall (with deprecation tip)
qakit preset list
qakit preset search [query]
qakit preset info <id>
qakit preset priority <id> <n>
qakit preset enable/disable <id>
qakit preset resolve <template> [--verbose]

qakit suite create <name>
qakit suite list
qakit suite switch <id>
qakit suite info [<id>]

qakit workflow run <id> [-i key=value]
qakit workflow list
qakit workflow resume
qakit workflow status

qakit version [--features] [--json]
qakit check
qakit self-check [--json]
qakit self update
qakit self check

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qa_kit_cli-0.4.1.tar.gz (243.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qa_kit_cli-0.4.1-py3-none-any.whl (195.6 kB view details)

Uploaded Python 3

File details

Details for the file qa_kit_cli-0.4.1.tar.gz.

File metadata

  • Download URL: qa_kit_cli-0.4.1.tar.gz
  • Upload date:
  • Size: 243.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qa_kit_cli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 a59e88a4cb47d778f0cc08db88fd23f2a7c5edba3ad7b0583879f4694f0504af
MD5 3b7848cb6d96945b11276a0fd7e281ca
BLAKE2b-256 55b0900174fd61b980b828e97967491ca0e038f79b3f5c36b53ca03723ba5dbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for qa_kit_cli-0.4.1.tar.gz:

Publisher: release.yml on qa-kit-cli/qa-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qa_kit_cli-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: qa_kit_cli-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 195.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qa_kit_cli-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1adbca35029a5d92289fd223226f62e183a68966214b2c35278c4329252db228
MD5 2cff2cc468f622a381c8922c3a8cb42f
BLAKE2b-256 616dd28821a81cfccbbe8367a3e1c386adb6af9a787287bf6a45f07b496bd54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qa_kit_cli-0.4.1-py3-none-any.whl:

Publisher: release.yml on qa-kit-cli/qa-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page