/
43 standards
General
Standards that hold regardless of platform or artifact type.
general-introduction
Introduction
Who we are, why these standards exist, and how they are organised
3 linked
general-philosophy
Philosophy
How we approach software engineering, and the values behind the rules
2 linked
general-naming
Naming
General naming principles that apply before any language or platform convention
5 linked
general-naming-projects
Naming projects
The platform-type-name convention for repositories, Composer packages and npm packages
3 linked
general-naming-files-directories
Naming files and directories
Directory and filename conventions, and where they bend to a framework's expectations
5 linked
general-naming-code
Naming code
How to name variables, keys and identifiers so related names group and grow predictably
2 linked
general-naming-global-namespaces
Naming in global namespaces
Defensive prefixing for names that land in a namespace we do not control
6 linked
general-frontend
Frontend best practices
Markup, runtime and payload expectations for anything a visitor's browser loads
4 linked
general-git
Git and branching
GitFlow, branch naming, and what CI runs at each stage
3 linked
general-releases
Releases and versioning
Release cadence, semantic versioning, and the tags each branch type may carry
5 linked
general-testing
Testing
The kinds of tests we write, who writes them, and what a good assertion looks like
3 linked
Platform
Standards for a specific technology, applying across everything we build on it.
WordPress12
wp-support-matrix
WordPress support matrix
The WordPress, PHP and browser versions our products must work on
3 linked
wp-php
WordPress PHP
PHPCS setup, namespacing, bootstrapping and the defensive habits we expect in PHP
9 linked
wp-javascript
WordPress JavaScript
How JavaScript in WordPress differs from a standard build, and how to work with it
4 linked
wp-security
WordPress security
Authentication, nonces, escaping, sanitization and safe database access
3 linked
wp-assets
WordPress assets
Registering and enqueuing scripts and styles so other codebases can override them
5 linked
wp-hooks
WordPress hooks
When to add custom actions and filters, and how to pick arguments and priorities
4 linked
wp-hooks-naming
Hook naming
The newfold/context/type/name convention for custom action and filter hooks
3 linked
wp-interfaces
WordPress interfaces
Building admin UI that coexists with core, other plugins and every color scheme
4 linked
wp-performance
WordPress performance
Query, option, cron and caching habits that matter at our install count
4 linked
wp-i18n
Internationalization
Making every user-facing string translatable, and the files that carry the translations
5 linked
wp-cli
WP-CLI
Running WP-CLI commands safely against installations we do not own
2 linkeddraft
wp-tools-services
Tools and services
Recommended development plugins and local environments, none of them required
2 linked
Artifacts
Standards for a specific kind of thing we ship.
Plugins1
Themes1
Modules3
module-structure
Module structure
The directory layout every module shares, and what ends up in the distributed zip
4 linked
module-development
Module development
What module owners are responsible for, and the flow from feature branch to plugin PR
5 linked
module-testing
Module testing
Playwright conventions that let a module's tests run from any brand plugin
3 linked
Workers1
Process
How we work together. Judgement and coordination, not lintable rules.
process-code-review
Code review and release restrictions
Who reviews what, who is allowed to release, and the bar a PR must clear to merge
6 linked
process-release-runbook
Release runbook
The step by step a release lead follows, from Jira planning to posting in Teams
3 linked
process-architectural-review
Architectural review
What an architectural review covers and what to prepare before requesting one
2 linked
process-org-teams
Organization teams
How repository access is granted through GitHub teams rather than individuals
1 linked
process-tokens
Token management
Setting up a personal access token for private packages, and why runners never get one from the repo
1 linked
process-translations-crowdin
Crowdin translation workflow
Uploading source strings to Crowdin and getting translations back as a pull request
2 linked
process-translations-ai
AI translation workflow
Automating po and json translation through Azure AI Translator and a central workflow
2 linked
Meta
How this repository itself works.
meta-frontmatter-schema
Front matter schema
Every field a standards document carries, what it means, and what CI checks
4 linked
meta-contributing
Contributing and the RFC process
How to fix a typo, propose a new standard, and resolve disagreement without stalling
4 linked
meta-lifecycle
Standard lifecycle
What draft, active, deprecated and superseded mean, and why nothing is ever deleted
4 linked
meta-versioning
Versioning this repository
What a major, minor and patch release of the standards themselves mean
4 linked
meta-rules-format
Rule definitions
The shape of the machine-readable rules that connect a standard to a check
2 linkeddraft
meta-migration-map
Migration map from how-we-work
Where every page of the old repository ended up, and what changed on the way
2 linked
meta-resources
Resources
Standards guides, WordPress handbooks and references we lean on
2 linked