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:
- Running tests: See running-tests.md for PHP and JavaScript test commands, test environment setup, and troubleshooting
- Code quality: See code-quality.md for linting, code style fixes, and the lockfile procedure for dependency changes
- PHP linting patterns: See php-linting-patterns.md for common PHP linting issues and fixes
- JS/TS i18n patterns: See js-i18n-patterns.md for translatable string patterns and placeholder usage
- Markdown linting: See markdown-linting.md for markdown file linting and formatting
Development Workflow
The standard development workflow:
- Make code changes
- Run relevant tests:
pnpm run test:php:env -- --filter YourTestClass
- 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)
- 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)
- 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