dev

작성자: automattic

WordPress ActivityPub 플러그인의 개발 워크플로우로, wp-env 설정, 테스트 명령어, 린팅, 빌드 프로세스를 포함합니다. 개발 환경을 설정할 때 사용하세요.

npx skills add https://github.com/automattic/wordpress-activitypub --skill dev

ActivityPub 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 docs/development-environment.md for detailed setup instructions.

See tests/README.md for comprehensive testing guidance.

See docs/code-linting.md for linting configuration and standards.

Pre-commit Hooks

The repository uses automated pre-commit hooks (.githooks/pre-commit) that run automatically on git commit:

  1. Sort PHP imports - Automatically organizes use statements.
  2. Check unused imports - Prevents unused use statements.
  3. Validate test patterns - Blocks remove_all_filters('pre_http_request').
  4. Run PHPCS auto-fix - Applies coding standards automatically.
  5. 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.

When the admin app imports from a @wordpress/* package that the build externalizes to a wp.* global, check the export against what the plugin's minimum WordPress version ships (wp-includes/js/dist/<package>.js, or typeof wp.<package>.<name> in the browser), not against node_modules. Newer npm versions export names the shipped global does not have.

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

  • package.json - npm scripts and dependencies.
  • composer.json - PHP dependencies and lint scripts.
  • .wp-env.json - wp-env configuration.
  • phpcs.xml - PHP coding standards (custom WordPress rules).
  • .githooks/pre-commit - Pre-commit automation.

automattic의 다른 스킬

testing-js
automattic
자바스크립트 파일의 구문 오류를 확인하기 위한 지침
setup
automattic
dn CLI가 설치 및 구성되었는지 확인합니다. 사용자가 domain-names 플러그인을 처음 설치할 때나 dn 명령어가 CLI 때문에 실패할 때 사용합니다.
studio-cli
automattic
Studio CLI를 사용하여 로컬 WordPress 사이트, 인증 및 미리보기 사이트를 관리하세요. Studio CLI 명령을 실행하거나 관리해야 할 때 이 스킬을 호출하세요.
dn-info
automattic
등록된 도메인의 상세 정보를 dn CLI를 사용하여 조회합니다. 사용자가 만료일, 네임서버, 연락처 등의 도메인 세부 정보를 확인하려 할 때 사용하세요.
qa
automattic
추출된 WXR 콘텐츠를 원본 소스 사이트와 페이지별로 비교합니다. 누락된 텍스트, 제목, 이미지, 링크를 찾아냅니다. WXR을 패치하거나… 수정하여 해결합니다.
add-skill
automattic
a8c-design 플러그인에 새 스킬을 추가합니다. Claude Code 스킬을 구축했으며 이를 공유 Automattic a8c-design 플러그인에 기여하려는 경우 사용합니다 —…
design-foundations
automattic
해방된 사이트에서 일관된 디자인 기반 JSON을 구축합니다 — 근거 추적과 함께 의미론적 색상/타이포그래피/간격 역할을 포함합니다. 부분 스캐폴드를 사용합니다…
wp-phpstan
automattic
WordPress 프로젝트(플러그인/테마/사이트)에서 PHPStan 정적 분석을 설정, 실행 또는 수정할 때 사용: phpstan.neon 설정, 기준선,…