Files
AeonShopwareTools/CLAUDE.md
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

41 lines
1.9 KiB
Markdown

# 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.
```bash
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`).