- 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>
41 lines
1.9 KiB
Markdown
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`).
|