Imported from woocommerce/woocommerce (
.ai/skills/woocommerce-dev-cycle/SKILL.md). Install upstream withnpx skills add woocommerce/woocommerce --skill woocommerce-dev-cycle. Copyright stays with the author.
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 addnew files first, since untracked files are skipped; for a PR that does not target trunk, append its fetched base, such asorigin/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
