Skip to content

feat: update qa tools#200

Open
Morgy93 wants to merge 4 commits into
mainfrom
update-qa
Open

feat: update qa tools#200
Morgy93 wants to merge 4 commits into
mainfrom
update-qa

Conversation

@Morgy93

@Morgy93 Morgy93 commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces several improvements to developer tooling, CI workflows, and project consistency. The main focus is on simplifying and standardizing PHP code quality tools, improving automation, and enforcing consistent formatting across the codebase. Additionally, there are minor updates for formatting, configuration, and documentation.

Developer Tooling and Automation:

  • Refactored .ddev/commands/web/phpcs, .ddev/commands/web/phpcbf, and .ddev/commands/web/mago to use the module's own vendor/bin executables for PHP linting, formatting, and code standards, ensuring consistent local and CI behavior and simplifying dependency management. These scripts now auto-install dev dependencies if missing and use the project ruleset. ([[1]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-083a19736f077c260db6df372eaf368bd4de04d947b924f1a222379e66b5a5beL3-R19), [[2]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-eab535c49d32661d08e9c37dd5d8886719be8c2d3816024e8100be19197dedc8L3-R19), [[3]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-c9c3058f72da615364e4ad5fd09cbadb08dcbcf7058c032bbeae58062fc57386L3-R19))
  • Updated .ddev/commands/web/phpstan to default to analyzing the module source via the Composer path repository, streamlining the target path logic. ([.ddev/commands/web/phpstanL28-R35](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-5ad29139442714d924b649b678a51b25f152332fa7e42e02f0f541a859e67a99L28-R35))

Continuous Integration Improvements:

  • Added a new .github/workflows/lint.yml workflow to run Mago (PHP lint/format check) and Trunk (YAML, markdown, shell, actions, etc.) checks on PRs and pushes to main. ([.github/workflows/lint.ymlR1-R54](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-107e910e9f2ebfb9a741fa10b2aa7100cc1fc4f5f3aca2dfe78b905cbd73c0d2R1-R54))
  • Updated .github/workflows/phpcs.yml to use the module's own coding standard dependencies and configuration, aligning CI with local development. Composer caching was also introduced for faster builds. ([.github/workflows/phpcs.ymlL25-R39](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-f621c7ec73ae73c758a64d5f030f2062fc73f50676d953035650636c052aac3fL25-R39))
  • Made minor consistency improvements to workflow YAML files (e.g., quoting, permissions, matrix values) for better readability and reliability. ([[1]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-7b831cbf8f27dd7daf6ac7b252f87382fc9d2342099845a08c0fc95a33670357L59-R59), [[2]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-10c0cd6a4f95e78dd4975968a27901c644f6e36a8a75147e3fb86d08e1c1831bR11-L13), [[3]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-e4d2e5901ca4112dba62fc88b0d80176fe856ba318e15b75a55b13cb6ae9a9ccL21-R29))

Formatting and Configuration Consistency:

  • Added a project-wide .editorconfig to enforce consistent indentation, line endings, and charset across all files, with overrides for scripts and Prettier-formatted files. ([.editorconfigR1-R24](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-0947e2727d6bad8cd0ac4122f5314bb5b04e337393075bc4b5ef143b17fcbd5bR1-R24))
  • Updated .gitattributes to exclude config and dev files (like .editorconfig, phpcs.xml.dist) from export. ([.gitattributesR9-R10](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-618cd5b83d62060ba3d027e314a21ceaf75d36067ff820db126642944145393eR9-R10))
  • Added a Prettier-friendly markdownlint config to .trunk/configs/.markdownlint.yaml and enabled Checkov for .ddev in .trunk/trunk.yaml. ([[1]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-c368d6cfd53c8b155ff2fbd4dec9dfd521cb1226ebd4266731fb0ac4c7908dc6R3-R6), [[2]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-45a5a35dd7ad9a52d0fd3540f6c0d16a763575de51cc9a0a6c6f6a9f1da62ecdR24-R28))

Minor Documentation and Template Updates:

  • Improved formatting and consistency in GitHub issue templates, labeler config, and Copilot instructions. ([[1]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-185833cb26d7ac66a4d39042fd576a820c2c2c6d05ad18973bb9c7dce77267c5L4-R14), [[2]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-185833cb26d7ac66a4d39042fd576a820c2c2c6d05ad18973bb9c7dce77267c5R25), [[3]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-148870715557a13127284f8aeaa28002ed6b034268af13c5d030ab59fd078220L4-R6), [[4]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-227c2c26cb2ee0ce0f46a320fc48fbcbdf21801a57f59161b1d0861e8aad55f5L5-R5), [[5]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-227c2c26cb2ee0ce0f46a320fc48fbcbdf21801a57f59161b1d0861e8aad55f5L108-R108), [[6]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-227c2c26cb2ee0ce0f46a320fc48fbcbdf21801a57f59161b1d0861e8aad55f5L139-R139), [[7]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-a22c263686553013feaeb0677d26eeb0b8778a756c4311c1fce13384258026aaL3-R27))
  • Minor changelog and script quoting fixes. ([[1]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edL11-R11), [[2]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-c519b65dce7786530663b2dd61eef086c0b48eaef0d9c7b30b81dbbf7e70eefeL48-L52), [[3]](https://github.com/OpenForgeProject/mageforge/pull/200/files#diff-c519b65dce7786530663b2dd61eef086c0b48eaef0d9c7b30b81dbbf7e70eefeL130-R131))

These changes collectively improve developer experience, ensure consistency between local and CI environments, and enhance the maintainability of the codebase.

@github-actions github-actions Bot added documentation Improvements or additions to documentation Frontend Command Theme-Builder labels Jun 12, 2026
@Morgy93 Morgy93 marked this pull request as ready for review June 13, 2026 13:47
Copilot AI review requested due to automatic review settings June 13, 2026 13:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates MageForge’s QA/tooling setup (Mago + PHPCS + Trunk/GitHub Actions) and applies broad formatting/consistency changes across frontend JS/CSS, PHP, docs, and local DDEV workflows.

Changes:

  • Add/standardise PHP QA tooling via Composer dev dependencies (Mago + Magento coding standard), plus new PHPCS ruleset and CI workflows.
  • Rework local dev installation to mount the repository read-only into Magento and install MageForge via Composer path repository (removing the legacy “install module deps” helper).
  • Apply Prettier/Mago-style formatting and small refactors across toolbar/inspector JS and various PHP services/commands.

Reviewed changes

Copilot reviewed 75 out of 80 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/view/frontend/web/js/toolbar/audits/unsafe-blank-target.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/tab-order.js Formatting + readability updates to tab-order overlay audit
src/view/frontend/web/js/toolbar/audits/small-touch-targets.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/multiple-h1.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/low-contrast-text.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/inputs-without-label.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/index.js Formatting + consistent quoting for audit registry
src/view/frontend/web/js/toolbar/audits/images-without-lazy-load.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/images-without-dimensions.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/images-without-alt.js Formatting + minor readability improvements
src/view/frontend/web/js/toolbar/audits/highlight.js Formatting + minor refactor of shared overlay logic
src/view/frontend/web/js/toolbar/audits/empty-interactive.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits/duplicate-ids.js Formatting + consistent quoting
src/view/frontend/web/js/toolbar/audits/buttons-without-type.js Formatting/quoting standardisation for audit implementation
src/view/frontend/web/js/toolbar/audits.js Formatting + minor audit dispatcher refactor readability
src/view/frontend/web/js/toolbar.js Formatting + consistent Alpine registration style
src/view/frontend/web/js/inspector/vitals.js Formatting for vitals observers + cache timings logic
src/view/frontend/web/js/inspector/tabs.js Formatting + readability improvements in tab rendering
src/view/frontend/web/js/inspector/picker.js Formatting + readability improvements in picker lifecycle
src/view/frontend/web/js/inspector/draggable.js Formatting + readability improvements in draggable logic
src/view/frontend/web/js/inspector/dom.js Formatting + readability improvements in DOM helpers
src/view/frontend/web/js/inspector/accessibility.js Formatting + readability improvements in a11y analysis
src/view/frontend/web/js/inspector.js Formatting + consistent module import/registration style
src/view/frontend/web/css/audits/tab-order.css Formatting-only changes for audit CSS
src/view/frontend/templates/inspector.phtml Add strict_types + formatting in Alpine bootstrap snippet
src/view/adminhtml/web/css/styles.css Formatting-only CSS updates
src/Service/ThemeBuilder/TailwindCSS/Builder.php Minor formatting + static closure for Process output
src/Service/ThemeBuilder/HyvaThemes/Builder.php Minor formatting + static closure for Process output
src/Service/SymlinkCleaner.php Use explicit octal literal notation for symlink mode mask
src/Service/Inspector/Cache/BlockCacheCollector.php Union type order normalisation
src/Service/Hyva/ModuleScanner.php Minor formatting in conditionals
src/Model/ThemePath.php Return statement formatting
src/Model/ThemeList.php Minor whitespace/formatting
src/Model/TemplateEngine/Plugin/InspectorHints.php Trailing comma formatting in method call
src/Model/TemplateEngine/Decorator/InspectorHintsFactory.php Minor whitespace/formatting
src/Model/TemplateEngine/Decorator/InspectorHints.php Static callback + string helper modernisation (starts_with/contains)
src/Model/Config/Source/ToolbarPosition.php Array formatting alignment
src/Console/Command/Theme/WatchCommand.php Use static closures; format prompt filtering
src/Console/Command/Theme/TokensCommand.php Use static closures + octal perms literal update
src/Console/Command/Theme/CleanCommand.php Use static closures; format prompt filtering
src/Console/Command/Theme/BuildCommand.php Use static closures; format prompt filtering
src/Console/Command/System/CheckCommand.php Formatting + strict in_array + arithmetic readability
src/Console/Command/Dev/InspectorCommand.php Trailing comma formatting
src/Console/Command/AbstractCommand.php Use static closure in filter callback
src/Block/Inspector.php Formatting + one-line getValue call
README.md Table/heading formatting + inspector section formatting
phpcs.xml.dist New PHPCS ruleset (Magento2 base + exclusions)
mago.toml Configure PHP version + linter rule toggles + source paths
docs/development.md Update dev workflow docs for new mount + Composer install approach
docs/custom_theme_builders.md Markdown code-fence language/spacing formatting
docs/commands_reference.md Markdown formatting + escaping for Magento_*
CONTRIBUTING.md Markdown formatting + add explicit lint/format commands
composer.json Add dev QA tools + scripts + repository/config setup
.trunk/trunk.yaml Add checkov scope for .ddev + comments
.trunk/configs/.markdownlint.yaml Allow repeated sibling headings (MD024 config)
.gitignore Ignore vendor/ and composer.lock for dev tooling
.github/workflows/phpcs.yml Switch to Composer-installed dev deps + caching
.github/workflows/magento-compatibility.yml YAML formatting/quoting adjustments in matrix
.github/workflows/lint.yml New CI workflow for Mago + Trunk checks
.github/workflows/label.yml Permissions + YAML indentation/formatting fixes
.github/workflows/functional-tests.yml YAML quoting normalisation
.github/labeler.yml YAML formatting changes for labeler rules
.github/ISSUE_TEMPLATE/feature_request.md YAML quoting/empty fields formatting
.github/ISSUE_TEMPLATE/bug_report.md YAML quoting + markdown list spacing
.github/copilot-instructions.md Markdown code-fence language/formatting
.gitattributes Export-ignore updates for new tooling files
.editorconfig New EditorConfig aligning indent with Prettier + shell tabs
.ddev/docker-compose.mageforge-source.yaml Switch to read-only repo mount + anonymous volume shadowing
.ddev/config.yaml Update mount pre-start hook; remove legacy module-deps hook
.ddev/commands/web/phpstan Adjust target path assumptions for Composer-installed module
.ddev/commands/web/phpcs Simplify to module-root composer tools + ruleset
.ddev/commands/web/phpcbf Simplify to module-root composer tools + ruleset
.ddev/commands/web/mago Run Mago from vendor/bin with composer install fallback
.ddev/commands/web/install-magento Install module via Composer path repo; avoid recursing into mounted source
.ddev/commands/web/install-module-deps Removed legacy dependency installer script

Comment thread .github/labeler.yml Outdated
Comment thread .ddev/commands/web/phpstan
Copilot AI review requested due to automatic review settings June 13, 2026 14:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 75 out of 80 changed files in this pull request and generated 1 comment.

Comment thread src/view/frontend/web/css/audits/tab-order.css
@Morgy93 Morgy93 requested a review from dermatz June 13, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Command documentation Improvements or additions to documentation Frontend Theme-Builder

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants