Claude-skill-registry dev
Development workflows for WordPress ActivityPub plugin including wp-env setup, testing commands, linting, and build processes. Use when setting up development environment, running tests, checking code quality, building assets, or working with wp-env.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dev" ~/.claude/skills/majiayu000-claude-skill-registry-dev && rm -rf "$T"
skills/data/dev/SKILL.mdActivityPub Development Cycle
Quick reference for common development workflows in the WordPress ActivityPub plugin.
Quick Reference
Environment Management
npm run env-start # Start WordPress at http://localhost:8888. npm run env-stop # Stop WordPress environment.
Testing Commands
npm run env-test # Run all PHP tests. npm run env-test -- --filter=pattern # Run tests matching pattern. npm run env-test -- path/to/test.php # Run specific test file. npm run env-test -- --group=name # Run tests with @group annotation. npm run test:e2e # Run Playwright E2E tests. npm run test:e2e:debug # Debug E2E tests.
Code Quality
composer lint # Check PHP coding standards. composer lint:fix # Auto-fix PHP issues. npm run lint:js # Check JavaScript. npm run lint:css # Check CSS styles. npm run format # Format all code (wp-scripts).
Building Assets
npm run build # Build for production (formatted and minified). npm run dev # Start development watch mode.
Code Coverage
npm run env-start -- --xdebug=coverage # Start with coverage support. npm run env-test -- --coverage-text # Generate text coverage report. npm run env-test -- --coverage-html ./coverage # Generate HTML report.
Comprehensive Documentation
See Development Environment Setup for detailed setup instructions.
See Testing Reference for comprehensive testing guidance.
See Code Linting for linting configuration and standards.
Pre-commit Hooks
The repository uses automated pre-commit hooks (
.githooks/pre-commit) that run automatically on git commit:
- Sort PHP imports - Automatically organizes use statements.
- Check unused imports - Prevents unused use statements.
- Validate test patterns - Blocks
.remove_all_filters('pre_http_request') - Run PHPCS auto-fix - Applies coding standards automatically.
- Format JavaScript - Runs wp-scripts formatter.
IMPORTANT: Hooks modify staged files automatically. Always review changes before committing. If hooks make changes, you'll need to stage them and commit again.
Setup: Hooks are installed by
npm run prepare (runs automatically after npm install).
Common Development Workflows
Initial Setup
git clone git@github.com:Automattic/wordpress-activitypub.git cd wordpress-activitypub npm install # Also runs 'npm run prepare' to install hooks. composer install npm run env-start # WordPress at http://localhost:8888.
Making Changes Workflow
# 1. Make code changes. # 2. Run relevant tests. npm run env-test -- --filter=FeatureName # 3. Check code quality (optional - pre-commit hook does this). composer lint npm run lint:js # 4. Commit (pre-commit hook runs automatically). git add . git commit -m "Description" # Hook may modify files - review and stage again if needed.
Before Creating PR
# Run full test suite. npm run env-test # Build assets. npm run build # Final lint check. composer lint npm run lint:js
Debugging Failing Tests
# Run with verbose output. npm run env-test -- --verbose --filter=test_name # Run single test file to isolate issue. npm run env-test -- tests/phpunit/tests/path/to/test.php # Check test groups. npm run env-test -- --list-groups npm run env-test -- --group=specific_group
Fresh Environment
npm run env-stop npm run env-start # wp-env automatically sets up WordPress with debug mode and test users.
Key Files
- npm scripts and dependencies.package.json
- PHP dependencies and lint scripts.composer.json
- wp-env configuration..wp-env.json
- PHP coding standards (custom WordPress rules).phpcs.xml
- Pre-commit automation..githooks/pre-commit