Skip to content
Skills Library
Programming · Automation

dev

/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.

Licence
MIT
Last repository change
27.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
2
Deprecation

No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

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.

Original author description

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.

How it works

  1. Quick Reference
  2. Comprehensive Documentation
  3. Pre-commit Hooks
  4. Common Development Workflows
  5. Key Files
Original SKILL.md headings · 138 lines, 588 words
SKILL.md preview
---
name: dev
description: 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.
---

# ActivityPub Development Cycle

Quick reference for common development workflows in the WordPress ActivityPub plugin.

## Quick Reference

### Environment Management
```bash
npm run env-start    # Start WordPress at http://localhost:8888.
npm run env-stop     # Stop WordPress environment.
```

### Testing Commands
```bash
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
```bash
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
```bash
npm run build         # Build for production (formatted and minified).
npm run dev           # Start development watch mode.
```

### Code Coverage
```bash
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
```bash
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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
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.

Versions

RepositoryScoreLicence
This page · automattic/wordpress-activitypub100MIT
yonatangross/orchestkit100MIT
yonatangross/orchestkit100MIT
slopus/happy100MIT
lucastamoios/skills100MIT
gpshead/cpython-skills100CC0-1.0
microsoft/Copilot-Managed-Runtime95MIT
microsoft/managed-apps95MIT
heliohq/ship95MIT

Database snapshot: 13.11.2026 · package version b7a88771e6e8 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100code-style
    PHP coding standards and WordPress patterns for ActivityPub plugin. Use when writing PHP code, creating classes, implementing WordPress hooks, or structuring plugin files.
  • 100wordpress-wp-env
    Use when setting up, configuring, or troubleshooting local WordPress development environments with @wordpress/env (wp-env). Triggers on mentions of wp-env, local WordPress development, Docker-based WordPress, or requests to start/stop/configure a local WordPress instance.
  • 90woocommerce-dev-cycle
    Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow.
  • 90woocommerce-dev-cycle
    Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow in WooCommerce projects.
  • 100wordpress
    WordPress framework guardrails, patterns, and best practices for AI-assisted development. Use when working with WordPress projects, or when the user mentions WordPress. Provides theme development, plugin architecture, REST API, blocks, and security guidelines.
  • 100leanspec-development
    Development workflows, commands, publishing, CI/CD, changelog management, and contribution guidelines for LeanSpec. Use when contributing code, fixing bugs, setting up dev environment, running tests or linting, working with the monorepo structure, looking up…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.