fswp-core-contributor

Guide un contributeur WordPress Core à travers la recherche ou la création d'un ticket Trac, la configuration de l'environnement de développement wordpress-develop, la rédaction d'un patch ou d'une pull request GitHub respectant les standards de codage, la documentation en ligne, la rétrocompatibilité et les tests, ainsi que la préparation du commentaire de ticket ; il achemine également les modifications de l'éditeur de blocs vers le dépôt Gutenberg et les rapports de sécurité vers le processus privé.

Qu'est-ce que fswp-core-contributor ?

Cette compétence (skill) est conçue pour guider un développeur Full-Stack WordPress à travers l'ensemble du processus de contribution au cœur de WordPress (WordPress Core). Elle s'applique automatiquement dans le cadre du workflow `fswp-developer` pour les patches Core et répond directement aux questions sur le workflow Core. Son objectif principal est de structurer chaque étape : depuis l'identification ou la création d'un ticket Trac, la configuration de l'environnement de développement (`wordpress-develop` avec Docker et Node), jusqu'à la rédaction d'un patch ou d'une pull request respectant les standards de codage, la documentation en ligne (PHPDoc), la rétrocompatibilité et les tests PHPUnit. La compétence achemine correctement les modifications destinées à l'éditeur de blocs vers le dépôt `WordPress/gutenberg` et les rapports de sécurité vers le processus privé. Elle s'appuie sur les références de base (`lean-coding`, `coding-standards`, `fswp-security-engineer`) et rappelle les spécificités du workflow Core, notamment l'utilisation de tickets Trac, les pull requests basées sur GitHub (uniquement pour la revue, pas pour le merge), et la nécessité de tests étiquetés `@ticket`. Enfin, elle prépare un commentaire de ticket via un modèle dédié et recommande une vérification finale par `fswp-qa-engineer`.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-core-contributor

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Contributeur Core FSWP

Fondamental (toujours appliqué) : fswp-developer/references/lean-coding.md (écrire moins, réutiliser d'abord), fswp-developer/references/coding-standards.md (standards de codage, documentation, i18n, accessibilité), et fswp-security-engineer (entrée, sortie, autorisation).

Les faits de workflow ci-dessous ont été vérifiés par rapport au manuel du contributeur Core le 28/09/2026. Les processus Core évoluent ; confirmez tout élément sensible au facteur temps dans fswp-developer/references/official-docs.md avant de conseiller. Rien ici ne soumet quoi que ce soit : l'utilisateur dépose lui-même les tickets et ouvre les pull requests (l'automatisation GitHub est réservée, voir fswp-developer/references/github-foundation.md).

Acheminer d'abord la modification

La modification concerne...Va vers
Une vulnérabilitéLe processus de sécurité privé lié depuis le manuel Core. Jamais un ticket public ou une PR. Arrêtez-vous et dites-le.
PHP, écrans d'administration, API, tests, la plupart du code CoreTicket Trac plus patch ou pull request contre WordPress/wordpress-develop (cette compétence)
L'éditeur de blocs (paquets Gutenberg, interface de l'éditeur, Éditeur de site)Issues et pull requests sur WordPress/gutenberg ; Core reçoit les mises à jour depuis là. Lisez le guide de contribution de ce dépôt.
Un bug d'extension ou de thèmePas Core ; utilisez fswp-maintainer et signalez-le à ce projet
La documentationLe processus de l'équipe documentation du manuel concerné

Ticket d'abord

  1. Recherchez sur Trac (https://core.trac.wordpress.org/) le symptôme. Lisez l'historique du ticket et les éventuels patches.
  2. Si aucun ticket n'existe, rédigez-en un : titre précis, versions de WordPress/PHP, étapes de reproduction, résultat attendu vs réel, et pourquoi il s'agit d'un défaut (bug) plutôt que d'une amélioration. L'utilisateur le dépose sous le composant approprié.
  3. Notez les mots-clés de workflow sur le ticket (par exemple une demande de tests unitaires) et suivez-les.

Environnement

Utilisez le répertoire de développement, pas un site normal :

  1. Clonez WordPress/wordpress-develop (miroir Git du dépôt canonique, géré en Subversion).
  2. Docker et Node sont nécessaires pour le workflow standard. Depuis la racine du répertoire : npm install, npm run build:dev, npm run env:start, npm run env:install.
  3. Exécutez les tests PHP avec npm run test:php. Passez les arguments PHPUnit après un double tiret, par exemple -- --group formatting. Les tests étiquetés @ticket s'exécutent par numéro de ticket comme groupe. Le multisite a sa propre configuration (-c tests/phpunit/multisite.xml) ; les tests AJAX s'exécutent avec --group ajax.
  4. Des workflows sans Docker (Composer, PHAR PHPUnit) existent ; consultez la page PHPUnit du manuel.

Rédaction de la modification

  • Créez une branche à partir de trunk ; nommez la branche avec le numéro du ticket (par exemple 12345-short-description). Limitez la modification à un seul ticket.
  • Standards de codage : standards WordPress PHP, JS, CSS et HTML, y compris les conditions Yoda, les tabulations, l'espacement et les règles d'échappement/assainissement. Exécutez PHPCS sur les fichiers modifiés.
  • Documentation en ligne : PHPDoc pour les nouvelles fonctions, hooks et classes modifiés dans le style Core, avec @since défini sur la version que le jalon du ticket nomme.
  • Rétrocompatibilité : Core ne brise presque jamais le comportement public. Déprécier (_deprecated_function() et autres) plutôt que supprimer ; maintenir les filtres et actions stables ; préserver les signatures des fonctions.
  • Tests : ajoutez ou mettez à jour les tests PHPUnit qui échouent avant et réussissent après, étiquetés avec @ticket. Un patch de bug sans test se voit généralement demander d'en ajouter un.
  • Sécurité et performance : mêmes règles que tout code WordPress (fswp-security-engineer, fswp-performance-engineer), avec une exigence plus élevée.
  • Ne regroupez pas de formatage ou de refactorisation sans rapport.

Soumission (effectuée par l'utilisateur)

  • Attachez un fichier .diff au ticket Trac nommé d'après le numéro du ticket, ou ouvrez une pull request contre WordPress/wordpress-develop qui référence le ticket. Les pull requests servent à la revue ; elles ne sont pas fusionnées sur GitHub, car les commiteurs commitent via le dépôt canonique.
  • Publiez un commentaire sur le ticket : ce que fait le patch, comment vous l'avez testé, les étapes qu'un testeur peut suivre, et les éventuelles questions ouvertes. Rédigez-le pour l'utilisateur en utilisant references/ticket-comment-template.md.
  • Attendez-vous à une revue, des demandes de modifications et un cycle lent. Répondez sur le ticket, mettez à jour le patch et maintenez-le rebasé sur trunk.

Vérifier avant de passer la main

Exécutez fswp-qa-engineer avec la liste de contrôle Core : la reproduction échoue avant et réussit après, le groupe de test pertinent réussit, les standards de codage sont propres sur les lignes modifiées, la documentation est présente, et la rétrocompatibilité est intacte.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

fswp-api-developer

Domain skill for WordPress REST API and Abilities API work in Full-Stack WP Developer. Covers registering routes with schemas, argument validation and sanitization, permission callbacks, controller classes, exposing post types and meta, authentication (cookie nonce, application passwords), pagination and errors, and registering abilities with input and output schemas and safety annotations. Use for any custom endpoint or machine-readable capability in a plugin or theme.

fswp-architect

Planning stage of Full-Stack WP Developer. Classifies the work (new plugin, new theme, update to an existing plugin or theme, add-on for another product, or WordPress Core patch), triages existing code with a bundled detection script, asks one round of essential questions, does competitive research, and produces one reviewable PRD or change brief with a single approval gate. Also covers Migration mode and multi-session handoff docs. Invoked by fswp-developer before any code is written; consult directly for PRD, change-brief, or handoff-doc questions.

fswp-block-developer

Domain skill for WordPress block editor work in Full-Stack WP Developer. Covers building custom Gutenberg blocks (block.json, static and dynamic rendering, attributes, supports, InnerBlocks, variations, deprecations, block bindings), block patterns, and the Interactivity API (data-wp directives, stores, server-side state), with the @wordpress/scripts build workflow. Use for any custom block, pattern, or front-end interactivity in a plugin or theme.

fswp-devops-engineer

Domain skill for WordPress development tooling in Full-Stack WP Developer. Covers local environments (wp-env with Docker, WordPress Playground and Blueprints), command-line site operations (plugin and theme management, database export, search-replace, cron, scaffolding), coding standards and static analysis (PHPCS with WordPress standards, PHPStan with WordPress stubs), PHP and JS testing setup, and the @wordpress/scripts toolchain. Use when setting up, running, or automating a WordPress dev or test environment.

fswp-maintainer

Change stage for existing WordPress code in Full-Stack WP Developer. Updates, fixes, refactors, and upgrades existing plugins and themes without breaking them, and builds add-ons for products you do not own (WooCommerce extensions, page-builder elements, extensions of other plugins) using hooks instead of edits to third-party files. Covers reading before changing, parity lists, deprecation, host compatibility, upgrade paths, and patch delivery. Invoked by fswp-developer after an approved change brief; consult directly for safe-change or add-on questions.

fswp-qa-engineer

Verification stage of Full-Stack WP Developer. Runs the mechanical gate for plugins and themes (house-rule scripts, PHP lint, PHPCS with WordPress standards, PHP compatibility, PHPStan with WordPress stubs), the manual checklist, PRD or change-brief scenario tests, and the pre-release check. Reports PASS, FAIL, or NOT RUN and never implies a skipped check passed. Invoked by fswp-developer after a build and again before delivery; consult directly to audit any plugin or theme folder.

fswp-reviewer

Independent review stage of Full-Stack WP Developer. Reviews a finished WordPress plugin, theme, add-on, or Core patch through a security lens (WordPress-specific vulnerabilities, REST and AJAX authorization with an API risk map, AI-generated-code risks), a quality lens (error handling, data and upgrade safety, performance, i18n, accessibility, comment accuracy, test gaps, class and type design, scope), and an optional lean lens for trimming over-engineering, reporting only high-confidence findings in a fixed format. Invoked by fswp-developer after the verify gate, normally through the fswp-code-reviewer agent; consult directly to review or optimize any WordPress code.

fswp-theme-developer

Theme build stage of Full-Stack WP Developer. Builds custom WordPress themes - block themes (theme.json, templates, template parts, patterns, style variations), classic themes (template hierarchy, functions.php, theme supports), hybrids, and child themes - with accessibility, escaping, and directory readiness built in, plus a scaffold script. Invoked by fswp-developer after an approved PRD for a new theme; consult directly for a specific theme pattern. For changes to an existing theme use fswp-maintainer.

syncwin/fswp-plugin-developer

Plugin build stage of Full-Stack WP Developer. House standards and code templates for real WordPress plugins (not shortcode snippets) - folder anatomy, activation/uninstall lifecycle, custom post types and tables, admin UI tiers, front-end output on the Atomic Framework, REST and cron, i18n, distribution, and the Tier 3 React admin stack - plus a scaffold script. Also the base structure for add-ons. Invoked by fswp-developer after an approved PRD; consult directly for a specific plugin build pattern.

Skills associés