This repository provides shared tooling to standardize AI-assisted development (Cursor, Windsurf, Copilot, etc.) in Shopware 6 projects.
It solves the core local-agent problem: the AI agent runs on the host (Windows/macOS/Linux), while your code runs inside Docker containers.
- Zero host dependencies: Requires Docker only. No local PHP, Make, Node, or npm needed.
- Version-aware guidelines: Detects the Shopware version from the running container and fetches matching coding guidelines from GitHub.
- Docker bridge: Generates agent instructions that use
docker execwith the correct container ID. - Cross-platform: Works on Windows (PowerShell/CMD), macOS, Linux, and Git Bash.
- Rich context bundle: Loads official guideline documents (architecture, DAL, tests, static analysis, migrations, and more).
Run from your plugin root.
irm https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.ps1 | iexcurl -fsSL https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.sh | shOptional: use a custom container name pattern.
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.ps1))) -ContainerName my-project-webcurl -fsSL https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.sh | sh -s -- my-project-webRecommended .gitignore entry in your plugin:
AGENT_INSTRUCTIONS.mdAfter running the one-liner, the tool generates AGENT_INSTRUCTIONS.md in your plugin root.
Make sure your Shopware container is running (for example via Dockware).
Remote execution:
irm https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.ps1 | iexcurl -fsSL https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.sh | shLocal checkout execution (if you have this repo under .devtools):
.\.devtools\bin\ai-setup.bat./.devtools/bin/ai-setup.shAGENT_INSTRUCTIONS.md will contain container-aware execution rules and Shopware coding context for your AI assistant.
By default, the script searches for a running container with shopware in its name.
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.ps1))) -ContainerName my-project-web.\.devtools\bin\ai-setup.bat my-project-webcurl -fsSL https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.sh | sh -s -- my-project-web./.devtools/bin/ai-setup.sh my-project-webCreate PLUGIN_CONTEXT.md in your plugin root to inject project-specific notes into the generated instructions.
To avoid typing commands repeatedly, add this task to your plugin's .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "🤖 AI: Update Instructions",
"type": "shell",
"command": "curl -fsSL https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.sh | sh",
"windows": {
"command": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"irm https://raw.githubusercontent.com/aggrosoft/shopware-plugin-dev-tools/main/bin/ai-setup.ps1 | iex\""
},
"presentation": {
"reveal": "silent",
"panel": "shared"
},
"problemMatcher": []
}
]
}Then run Run Task -> 🤖 AI: Update Instructions.
ai-setupstarts a lightweight temporary container (docker:cli).- The container gets access to the host Docker socket.
src/generate.shfinds the running Shopware container.- It reads the Shopware version from
composer.lockinside that container. - It fetches relevant
AGENTS.mdand coding guideline files from GitHub (version match, fallback totrunk). - It combines everything with infrastructure execution rules (
src/infrastructure.md) and writesAGENT_INSTRUCTIONS.mdto your host project.