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>
This commit is contained in:
1 parent
fb6bdf6e8d
commit
be549d4a51
21 files changed
+997
-48
No files matched your search
@@ -0,0 +1,40 @@
|
||||
# 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`).
|
||||
Reference in new issue
Block a user