woocommerce-dev-cycle

Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow.

SKILL.md

GitHub

WooCommerce Development Cycle

This skill provides guidance for the WooCommerce development workflow, including running tests, code quality checks, and troubleshooting.

Instructions

Follow these guidelines for WooCommerce development workflow:

  1. Running tests: See running-tests.md for PHP and JavaScript test commands, test environment setup, and troubleshooting
  2. Code quality: See code-quality.md for linting, code style fixes, and the lockfile procedure for dependency changes
  3. PHP linting patterns: See php-linting-patterns.md for common PHP linting issues and fixes
  4. JS/TS i18n patterns: See js-i18n-patterns.md for translatable string patterns and placeholder usage
  5. Markdown linting: See markdown-linting.md for markdown file linting and formatting

Development Workflow

The standard development workflow:

  1. Make code changes
  2. Run relevant tests: pnpm run test:php:env -- --filter YourTestClass
  3. Run linting: pnpm --filter=@woocommerce/plugin-woocommerce lint:changes:branch (PHP and JS, the command CI's Lint job runs; git add new files first, since untracked files are skipped; for a PR that does not target trunk, append its fetched base, such as origin/release/X.Y)
  4. Fix any issues: PHP with pnpm --filter=@woocommerce/plugin-woocommerce lint:php:fix; there is no branch fixer for JS, so fix JS by hand (see code-quality.md)
  5. Commit changes only after tests pass

Key Principles

  • Always run tests after making changes to verify functionality
  • Use specific test filters to run relevant tests during development
  • Fix linting errors solely for code in your current branch
  • Test failures provide detailed output showing expected vs actual values
  • The test environment handles WordPress/WooCommerce setup automatically