skills/friendsofshopware/agent-skills/shopware-admin-crud-module

shopware-admin-crud-module

SKILL.md

Shopware Administration CRUD Module

When to Apply

  • Creating a new admin module for a Shopware DAL entity
  • Adding list, detail, and create pages for an entity in the administration
  • Setting up ACL privileges for an admin module
  • Adding search, filters, and inline editing for entity listings
  • Scaffolding administration i18n snippets for a new module

Rule Categories by Priority

Priority Category Prefix Description
CRITICAL Module Setup module- Module registration, file structure, naming conventions
CRITICAL Pages page- List page and detail/create page patterns
HIGH ACL & Search acl- ACL privilege mapping and search configuration
MEDIUM Snippets & Filters snippet- i18n snippet structure and filter setup

How to Use

When the user invokes this skill, ask them for:

  1. The entity name (DAL entity, e.g. webhook) -- if not provided as argument
  2. Which fields to show in the list and detail (or read from the EntityDefinition PHP class automatically)
  3. The module prefix to use (default: frosh-tools-<entity>)

Then read the relevant reference files from the references/ directory and generate all files following the patterns described there. The admin source root is src/Resources/app/administration/src/.

Naming Conventions

  • Module name: frosh-tools-<entity> (hyphenated)
  • Route prefix: frosh.tools.<entity> (dotted) -- derived from module name by replacing hyphens with dots
  • ACL key: frosh_tools_<entity> (underscored)

File Structure

module/<module-name>/
  index.js                          # Module registration + search type + lazy component loading
  default-search-configuration.js   # Search ranking config
  acl/
    index.js                        # ACL privilege mapping
  snippet/
    en-GB.json
    de-DE.json
  page/
    <module-name>-list/
      index.js
      template.html.twig
    <module-name>-detail/
      index.js
      template.html.twig

Also add import './module/<module-name>'; to main.js.

External References

Weekly Installs
5
GitHub Stars
4
First Seen
6 days ago
Installed on
opencode5
gemini-cli5
github-copilot5
codex5
kimi-cli5
cursor5