Files
AeonShopwareTools/CLAUDE.md
T
haylanandClaude Bot be549d4a51 feat: plugin skeleton for Shopware 6.6 and 6.7 with CI and release pipeline
- composer.json (MIT, shopware/core ~6.6.0 || ~6.7.0, PHP ^8.2), plugin class, placeholder icon
- PR checks and release workflow taken over from AeonDumpManager; phpunit runs as a 6.6/6.7 matrix
- CHANGELOG, LICENSE, README, CLAUDE.md, smoke test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:01:24 +01:00

1.9 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What this is

AeonShopwareTools is a public Shopware 6 plugin (shopware-platform-plugin, MIT) that bundles scripting and developer tooling. It supports Shopware 6.6 and 6.7 from one codebase (shopware/core ~6.6.0 || ~6.7.0, PHP ^8.2): only use APIs that exist in both, and test against both.

  • Plugin bootstrap class: src/AeonShopwareTools.php (wired via composer.json → extra.shopware-plugin-class).
  • Services, commands and scheduled tasks are registered explicitly in src/Resources/config/services.yaml (create it with the first service; no autowiring), each with its tag (console.command, shopware.scheduled.task, ...).

Running the plugin

There is no standalone runtime. docker-compose.yml mounts the repo into a dockware/shopware container at custom/plugins/AeonShopwareTools; install with bin/console plugin:refresh and bin/console plugin:install --activate AeonShopwareTools inside the container.

Tests

PHPUnit through Shopware's TestBootstrapper (tests/TestBootstrap.php), so tests need a real Shopware installation and database.

vendor/bin/phpunit -c custom/plugins/AeonShopwareTools/phpunit.xml

CI / release pipeline

Same Gitea pipeline as AeonDumpManager, plugin-agnostic (name/version come from composer.json):

  • workflows/plugin-checks.yml (PRs into main): version-changelog (version greater than the latest release, matching ## [x.y.z] heading in CHANGELOG.md), package (shopware-cli package + validate, scripts/ci/assert-built-assets.sh) and phpunit, a matrix over the latest 6.6 and 6.7. Keep the matrix in sync with require.shopware/core.
  • workflows/release.yml (push to main): Gitea Release with the zip, Composer registry publish. Uses RELEASE_TOKEN.
  • Required checks on main are set with scripts/protect-main.sh (tea api).