| name | govard-magento |
| description | This skill should be used when the user asks to "clear Magento cache", "flush redis cache",
"run Magento CLI", "run bin/magento commands", "deploy static content", "setup:di:compile",
"reindex catalog", "run indexer commands", "enable/disable modules", "start frontend sync",
"run browser-sync", "set up live reload for Hyva/Luma", or "govard frontend". Provides
Magento-specific Govard shortcuts and commands. DEPENDENT on govard-toolbox for base commands.
|
| compatibility | claude, codex, opencode, copilot, dsh |
| depends | ["govard-toolbox"] |
| metadata | {"audience":"developers","workflow":"magento"} |
Govard Magento Commands
Magento-specific shortcuts and commands for Govard environments.
Related Skills
REQUIRED BACKGROUND: Load govard-toolbox first — this skill only covers Magento-specific shortcuts layered on top of Govard's base environment commands.
This skill covers only container/CLI shortcuts. For module architecture, DI, and security patterns, see magento2-dev-core and magento2-backend-dev; for code quality and performance checks, see magento2-linter, magento2-security-scan, and magento2-performance-audit.
Code Quality Audit
govard audit run --checks lint is the native, persistent lint gate for this
project — target-mode resolution, the PHP matrix, provider rules, and
caching/rerun identity are all covered in magento2-linter's
"Govard-Native Lint Audit Is the Real Gate" section; this skill doesn't
duplicate that policy. To re-check the exact same session (e.g. after a
fix) instead of starting a fresh, non-comparable run:
govard audit rerun --session SESSION_ID
To also capture a page-profile artifact in the same run (Govard v1.64.0+):
govard audit run --checks lint,profiler --url 'https://<domain>/'
The profiler CSV lands under the run's artifacts/profiler/ with its SHA-256 recorded in the
result — open it in a spreadsheet to read per-timer costs. Policy details live in
magento2-linter.
Magento CLI
govard tool magento cache:flush
govard tool magento cache:clean full_page
govard tool magento cache:enable layout block_html
govard tool magento cache:disable config
govard tool magento module:enable Vendor_Module
govard tool magento module:disable Vendor_Module
govard tool magento module:status
govard tool magento setup:di:compile
govard tool magento setup:static-content:deploy -f
govard tool magento setup:upgrade --keep-generated
govard tool magento deploy:mode:set developer
govard tool magento deploy:mode:set production
govard tool magento deploy:mode:show
Code Generation
govard tool magento generate:plugin Vendor Module
govard tool magento generate:observer Vendor Module Event
govard tool magento admin:user:create
Indexer Commands
govard tool magento indexer:status
govard tool magento indexer:reindex
govard tool magento indexer:reindex catalog_product_price
govard tool magento indexer:set-mode schedule
govard tool magento indexer:set-mode realtime
Cron Commands
govard tool magento cron:run
govard tool magento cron:run --group=default
govard tool magento cron:install
govard tool magento cron:remove
Development Tools
govard tool magento dev:template-hints:enable
govard tool magento dev:template-hints:disable
govard tool magento dev:query-log:enable
govard tool magento dev:query-log:disable
govard tool magento dev:js:enable_js_bundling
govard tool magento dev:css:minify_files
Frontend Development (BrowserSync / LiveReload)
Requires stack.features.frontend_sync: true in .govard.yml (Magento 2 / Mage-OS only). govard env up never starts this — it's a separate, explicit, on-demand lifecycle:
govard env up
govard frontend start
govard frontend logs -f
govard frontend logs watch-<theme> -f
govard frontend stop
Prerequisites (Govard never creates or edits these files):
Let govard frontend start be the discovery oracle — it validates all of the below and fails
fast with the exact reason. Only read theme files to fix a specific failure ("no owner found" /
conflicting setups); don't pre-verify by hand.
- Hyva: exactly one
scripts.browser-sync owner under app/design/frontend/<Vendor>/<Theme>/web/tailwind, with a committed package-lock.json. The theme's own browser-sync.config.js must read GOVARD_FRONTEND_SYNC_TARGET/_PORT from the environment and set changeOrigin: false, cookies.stripDomain: false, open: false, and socket.path: '/browser-sync/socket.io'.
- Luma: root
Gruntfile.js, package.json, package-lock.json (copy Magento's .sample files, then npm install). No BrowserSync config needed.
- Hyva and Luma discovery are mutually exclusive project-wide — only one setup may be valid at a time.
Switching the active Hyva theme: move the scripts.browser-sync entry (plus its browser-sync.config.js and package-lock.json) from the old theme's web/tailwind/package.json to the new theme, then run govard frontend start again — it re-discovers whichever theme is now the sole owner.
| Symptom | Fix |
|---|
frontend start reports success but the page redirects to a different host or drops the session | Theme's browser-sync.config.js has changeOrigin/cookies.stripDomain wrong — both must be false |
| Discovery fails ("no owner found" / conflicting setups) | Confirm exactly one theme owns scripts.browser-sync, and that Hyva and Luma prerequisites aren't both satisfied at once |
Database Operations
govard db connect
govard db query "SELECT * FROM core_config_data WHERE path LIKE '%template%'
# Import with streaming (fast)
govard db import --stream-db -e staging --drop
# Export from remote
govard db dump -e staging --no-noise --no-pii --local
Configuration
govard tool magento config:show system/smtp/host
govard tool magento config:set web/secure/base_url https://local.test/
govard tool magento config:set design/theme/theme_id 0
govard tool magento app:config:dump
govard tool magento app:config:import
govard tool magerun config:store:get web/secure/base_url
Diagnostics
govard tool magerun sys:check
govard tool magerun sys:info
Multi-Website / Multi-Store Setup
Register additional store domains in .govard.yml under store_domains, then let Govard wire up the vhost/DNS side:
domain: "primary.test
store_domains:
brand-b.test:
code: base
type: website
govard domain add brand-b.test
govard config auto
govard tool magento cache:flush
Store codes are also selectable via URL path (/fr/, /admin/) without a separate domain — reserve store_domains for genuinely separate hostnames/websites.
Redis Cache
govard redis flush
govard redis cli
govard redis info
Varnish (if configured)
govard varnish purge
govard tool magento cache:clean cache_tag_frontend
govard varnish status
Logging
For agents, prefer bounded tail reads (no -f follow — it never returns):
govard sh -c "tail -n 50 var/log/system.log"
govard sh -c "tail -n 50 var/log/exception.log"
govard sh -c "tail -n 50 var/log/debug.log"
govard sh -c "tail -n 50 var/log/my-module.log"
Common Issues & Solutions
| Symptom | Fix |
|---|
| "There are no commands defined" after pulling code | govard tool magento setup:di:compile" |
| Static assets not updating | govard tool magento setup:static-content:deploy -f" + cache:flush, then hard-refresh the browser |
| Database connection refused | govard ps (is the DB container up?), govard logs db, then govard down && govard up if needed |
| Container won't start | govard doctor, then govard logs |
| Xdebug not connecting | govard debug on, confirm the IDE is listening on port 9003, check the XDEBUG_SESSION cookie matches .govard.yml — see govard-toolbox for the full IDE setup |
Template-only changes don't need setup:di:compile — only setup:static-content:deploy. Recompiling DI on every template edit wastes time for no benefit.
Common Workflows
After Pulling Code
govard tool magento setup:upgrade --keep-generated
govard tool magento setup:static-content:deploy -f
govard tool magento cache:flush
After Database Sync
govard config auto
govard tool magento cache:flush
Production Deployment Prep
govard tool magento maintenance:enable
govard tool magento setup:upgrade
govard tool magento setup:di:compile
govard tool magento setup:static-content:deploy -f --theme=Vendor/Theme
govard tool magento cache:flush
govard tool magento maintenance:disable