| file_type | instructions | |||||||
|---|---|---|---|---|---|---|---|---|
| title | Pull Request Creation Instructions | |||||||
| description | Canonical instructions for creating, labeling, and submitting Pull Requests in LightSpeedWP projects. Reference for templates, automation, and labeling strategy. | |||||||
| scope | organization-wide | |||||||
| version | 1.3 | |||||||
| last_updated | 2026-06-03 | |||||||
| owners |
|
|||||||
| tags |
|
You are a pull request quality partner. Follow our PR templates, branching, and labelling standards to open review-ready pull requests. Avoid YAML PR forms, missing required labels, or branches that break naming rules.
Applies to all PR templates and submissions. Covers frontmatter, branching, templates, labelling, automation, and lifecycle expectations. Excludes issue creation (see issues.instructions.md).
- Use Markdown PR templates with required frontmatter; avoid YAML forms.
- Follow branch naming patterns and ensure one-hot label families (
status:*,priority:*,release:*,type:*). - Complete all template fields, checklists, and changelog sections.
- Keep PRs automation-ready; monitor CI and respond to reviews promptly.
- Maximise metadata completeness on every PR update. Populate all applicable metadata fields: labels, PR type, project fields, milestone, assignees, projects, linked issues, and dependency relationships.
- Follow the numbered sections below for templates, frontmatter, branch naming, opening steps, labelling, and review lifecycle.
- Align with labeler rules and release automation guidance.
- Good:
feat/feature-namebranch using Feature template with required labels, linked issues, and completed checklist. - Avoid: PRs from improperly named branches, missing labels, or empty template sections.
- Ensure PR uses correct template with complete frontmatter.
- Verify labels meet required families and branch naming matches patterns.
- Confirm CI (lint/test/build) passes and checklists are completed.
This document defines the standards, steps, and requirements for opening, labeling, and maintaining Pull Requests (PRs) in LightSpeedWP repositories. All contributors, bots, and maintainers must follow these instructions to ensure automation, traceability, and high-quality code review.
- All PR templates are Markdown (
.md) files with a YAML frontmatter block, stored in:.github/PULL_REQUEST_TEMPLATE.md(general/default).github/PULL_REQUEST_TEMPLATE/*.md(specific templates: feature, bugfix, chore, docs, release, etc.)
- Do NOT use YAML form PR templates. All automation and labeling requires Markdown-based templates.
See PR Creation Process for specifications.
Each PR template must begin with a YAML frontmatter block, for example:
---
name: "Feature PR"
about: "New features or enhancements"
title: "feat: {short summary}"
labels: ["type:feature", "status:needs-review", "area:feature"]
---Required fields:
name: Short label for the template selector.about: Short description of template purpose.title: Default PR title (use{short summary}or similar).labels: Array of default labels for new PRs.
Optional fields:
assignees: Default assignees.projects: Default project boards.
See frontmatter instructions and frontmatter schema for validation.
- Follow the canonical branch naming pattern:
{type}/{scope}-{short-title}- Examples:
feat/block-editor-colors,fix/theme-json-colors,docs/readme-update
- Examples:
- Allowed prefixes map directly to PR type and automation:
feat/,fix/,hotfix/,release/,refactor/,chore/,docs/,test/,perf/,ci/,build/,deps/,design/,a11y/,ux/,i18n/,ops/, and more (see BRANCHING_STRATEGY.md).
- PRs from incorrectly named branches may be blocked by CI.
See BRANCHING_STRATEGY.md for full details and enforcement regex.
-
Update your branch (rebase/merge latest main or develop).
-
Choose the correct PR template when opening your PR. Templates are:
- Bugfix, Feature, Chore, Docs, Build/CI, Refactor, Hotfix, Release, General, etc.
- For template details, see
.github/PULL_REQUEST_TEMPLATE/*.mdand PR Creation Process.
-
Fill out all required fields in the template:
- Linked issues: Use
Closes #123or similar. - Description: Clearly state what changed and why.
- Changelog section: [Required for release automation.]
- Checklist: Complete all items, including explicit accessibility and security checks.
- Linked issues: Use
-
Write a clear title Format:
[Type] Area/Component: Brief summary (Closes #issue)Example:[Feature] Block Patterns: Add new testimonial pattern (Closes #201) -
Review and confirm labels
- Labels are auto-applied via frontmatter and
.github/labeler.ymlbased on branch prefix and file paths. - Minimum required labels:
- One
status:*(e.g.status:needs-review) - One
type:*(e.g.type:feature,type:bug, etc.) - One
priority:*(e.g.priority:normal) - At least one
area:*orcomp:*if possible - One
release:*(e.g.release:patch,release:minor,release:major)
- One
- Labels are auto-applied via frontmatter and
-
Assign milestones/projects if applicable.
-
Open the PR and monitor CI, review, and status checks.
-
Labeler automation:
.github/labeler.ymlmaps branch prefixes and file globs to labels.- Branch prefix sets
type:*andstatus:needs-review. - File paths set
area:*,comp:*,lang:*, etc.
-
Workflows enforce:
- Only one
status:*, onepriority:*, onerelease:*at a time - Changelog label (
meta:needs-changelog) is added if missing - PRs missing required labels cannot be merged; see missing-labels.md
- Only one
-
Release automation:
- PRs grouped and versioned based on
release:*label (release-label-guidance.md) - Changelog section in PR description required (changelog-required.md)
- Release workflow (labeling.yml) automates changelog, labeling, and review steps.
- PRs grouped and versioned based on
- Treat metadata completeness as mandatory, not optional, during PR triage and updates.
- Always set or verify one-hot label families (
status:*,priority:*,type:*,release:*) and relevantarea:*orcomp:*labels. - Always set or verify milestone when the PR targets a release train or milestone bucket.
- Always set or verify project fields (for example
Status,Priority,Type) when the PR is on a project board. - Always set or verify relationships where applicable:
- Linked issues using closing keywords (
Closes #123) when true - Dependencies (
blocked by,depends on) in PR body or linked issue graph - Parent feature or epic issue references
- Linked issues using closing keywords (
- If a metadata value cannot be inferred safely, leave it unchanged and record a short follow-up note describing what is missing.
- Checklist must be completed (tests, docs, linked issues, CI, and explicit accessibility/security checks).
- Accessibility baseline: Confirm semantic structure, keyboard/focus behaviour, and contrast/non-colour cues against WCAG 2.1 AA or higher.
- Security baseline: Confirm validation/sanitisation, context-specific escaping, nonce/capability checks where relevant, and OWASP risk review.
- CI and all status checks must pass.
- Respond promptly to reviewer feedback; see awaiting-author.md
- Ready for review: Mark as ready and ping reviewers; see ready-for-review.md
- Draft PRs: Use draft status for early feedback; see draft-pr.md
- Merge discipline: Use squash & merge, delete branch, resolve all conversations; see merge-discipline.md
- Templates:
- Labeling:
- Branching:
- Saved Replies:
- Frontmatter:
- Link all related issues with closing keywords.
- Add screenshots or recordings for UI/visual changes.
- Keep PRs focused and small; split large changes.
- Use clear, actionable commit messages.
- Update documentation when behavior changes.
- Use the correct template for your change type.
- Double-check all checklists before marking ready for review.
- Always follow org-wide Coding Standards.
For maintainers and reviewers, reference these Saved Replies for standard feedback:
- Code Review
- Testing
- Changelog Required
- Release Label Guidance
- Missing Labels
- Branch Naming
- Merge Discipline
- Ready for Review
- Needs QA
- Performance
- Security
- Area Routing
- AI Assist
- Closing Inactive PRs
- ...and more.
- issues.instructions.md — Companion guide for issue creation and labeling; mirrors PR workflow patterns
- labeling.instructions.md — Detailed label naming conventions and one-hot rules
- coding-standards.instructions.md — Code quality standards referenced in PR templates