feat: optimized workflow setup (wordcamp leipzig)#39
Draft
apermo wants to merge 19 commits into
Draft
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive German and English guides for a modern WordPress development workflow, covering environment setup, linting, testing, and CI/CD. The review feedback identified several opportunities for improvement: replacing local user paths with generic home directory references, removing unused helper scripts from the documentation lists, and optimizing the lint-staged configuration to avoid inefficient globbing. Additionally, it was suggested to use relative paths in Playwright tests to leverage the configured baseURL for better maintainability.
- drop deprecated --create-docroot from `ddev config` - add `--path=.ddev/wordpress` to wp-cli verification command - ignore `.ddev/wordpress/` (WP docroot populated by orchestrate)
Use ESLint 9 flat config (eslint.config.js) instead of .eslintrc.json: @wordpress/eslint-plugin v25 ships native flat-config arrays, so no FlatCompat shim is needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR sets up a complete modern development pipeline for the plugin, recorded as a step-by-step screencast for WordCamp Leipzig. It is built up across 12 atomic commits — each with its own
step-NN-slugtag for easy checkout during the talk.The narrative arc: without tests + a pre-commit pipeline, AI ships plausible but subtly wrong code; with them, AI's mistakes are caught the moment they land.
The plan documents (reusable for your own projects)
The first commit on this branch (tag
step--00-plan) introduces a bilingual, self-contained guide. The repository ends up with the exact pipeline this guide describes — but the guide itself is the reusable artifact:docs/optimized-workflow-en.mddocs/optimized-workflow-de.mdReusing the plan in your own project: copy whichever language version into your own repo, search-and-replace
apermo-adminbar→<your-plugin-slug>, adjust the PHP/WP version targets and the<file>/paths:entries to match your source tree, then point any AI assistant (or a human pair) at the file. The guide enforces atomic commits, per-step tags, and a pause-after-each-step protocol — so you can stop, review, and resume at any point.Steps in this PR
step--00-plandocs/optimized-workflow-{en,de}.mdstep-00-bootstrapcomposer.json,package.json,.gitignore,.editorconfigstep-01-ddevorchestratecommand (inpsyde-style)step-02-phpcsstep-03-phpstanszepeviktor/phpstan-wordpressstep-04-eslint@wordpress/eslint-pluginstep-05-commitlint@commitlint/cli+ conventional configstep-06-husky-lintstagedstep-07-phpunitstep-08-playwrightstep-09-github-actionsstep-10-plugin-checkWordPress/plugin-check-actionreusable workflowEach commit is independently checkout-able (
git checkout step-04-eslint) so the audience can follow along at any point during the screencast.Decisions
Test plan
step-NN-slugand the tag is pushed to origindocs/optimized-workflow-en.mdanddocs/optimized-workflow-de.mdstay in lock-step structurally as steps landZusammenfassung (Deutsch)
Dieser PR baut eine vollständige, moderne Entwicklungs-Pipeline für das Plugin auf, dokumentiert als Schritt-für-Schritt-Screencast für das WordCamp Leipzig. Aufgeteilt in 12 atomare Commits — jeder mit eigenem
step-NN-slug-Tag, damit man im Vortrag an beliebiger Stelle einsteigen kann.Roter Faden des Vortrags: Ohne Tests und Pre-Commit-Pipeline liefert die KI plausibel aussehenden, aber subtil falschen Code; mit ihnen werden die Fehler im Moment des Auftretens gefangen.
Die Plan-Dokumente (für eigene Projekte wiederverwendbar)
Der erste Commit auf diesem Branch (Tag
step--00-plan) führt eine zweisprachige, in sich geschlossene Anleitung ein. Das Repo bekommt am Ende exakt die Pipeline, die die Anleitung beschreibt — die Anleitung selbst ist aber das eigentlich wiederverwendbare Artefakt:docs/optimized-workflow-en.mddocs/optimized-workflow-de.mdPlan im eigenen Projekt nachnutzen: Eine der beiden Sprachversionen ins eigene Repo kopieren,
apermo-adminbar→<dein-plugin-slug>global ersetzen, PHP/WP-Versionsziele und die<file>-/paths:-Einträge an den eigenen Source-Tree anpassen, dann eine KI (oder ein Pair) auf die Datei zeigen lassen. Die Anleitung erzwingt atomare Commits, Per-Step-Tags und ein Pause-nach-jedem-Schritt-Protokoll — du kannst jederzeit stoppen, prüfen und weitermachen.Schritte in diesem PR
step--00-plandocs/optimized-workflow-{en,de}.mdstep-00-bootstrapcomposer.json,package.json,.gitignore,.editorconfigstep-01-ddevorchestrate-Befehl (inpsyde-Stil)step-02-phpcsstep-03-phpstanszepeviktor/phpstan-wordpressstep-04-eslint@wordpress/eslint-pluginstep-05-commitlint@commitlint/cli+ Conventional-Configstep-06-husky-lintstagedstep-07-phpunitstep-08-playwrightstep-09-github-actionsstep-10-plugin-checkWordPress/plugin-check-actionReusable WorkflowEntscheidungen