Repository navigation
v0.8.0
Minor Changes
-
23f5e49: See the shop the way a customer does, notice when orders stop, and set everything up with the least rights it needs.
checkout_simulatefills a throwaway cart through Shopware's admin proxy to the Store API, as a guest with a shipping country or logged in as a customer, and returns what Shopware calculates: prices per item next to the price the product page shows (the tier for the quantity where advanced prices exist), discounts, shipping, taxes, the total, the payment and shipping methods offered and the ones hidden with the rule behind them, and every cart error with a plain explanation. It names a country the channel does not ship to or that is inactive, and a promotion that ended, is not assigned to the channel, switched between fixed and individual codes, has no discount or reached its limit for this customer. It also names the product that is not visible or out of stock, a parent product Shopware drops silently because it needs a variant, and a customer who is inactive or bound to another channel and would only be simulated as a guest. Every refused code is explained, even when Shopware's cart names only one. The session uses the channel's own language. Nothing is ordered; the cart is deleted.storefront_searchsearches a sales channel like a customer and explains one product on request: its position, the variant that stands for it, or why it is missing (inactive, not visible, link-only, closeout without stock, not in the search index, no keyword matching the term).shop_pulsecompares today with the same hours of the same weekday in recent weeks, stepped on the shop's calendar so daylight saving changes keep the weekday, weighs the current quiet spell with a Poisson estimate and watches failed payments. The audit gainedcheckout_silent(critical) for an unusual silence: seventeen checks now.shop_auditandsales_reporttake atimeZone; the report then counts local days.shopware-mcp setuplogs in as an admin once and creates a role with exactly the privileges the tools need, measured against a real shop, plus an integration that is not an administrator. It prints the new secret before anything else can fail, verifies both with the doctor and prints or writes the host config, creating the config directory with owner-only permissions. Running it again after an upgrade updates the role and keeps the keys;--rotateissues new keys. It only changes a role it created, reports every privilege it adds or removes, and refuses plain http except to localhost. Reading the whole system config (--settings) and plugin maintenance (--plugin-updates) stay out unless asked for; the audit reports the checks that need them as not covered instead of failed. The doctor now checks every association read each tool needs and reports missing optional privileges as reduced coverage.shopware-mcp briefputs the pulse, the audit and the last seven local days on one page: Markdown, JSON, or with--htmla self-contained HTML file with charts that follows the reader's dark mode and loads nothing from anywhere.auditandreporttake--htmltoo, all three take--json-file;briefandauditpost a short summary to Slack with--slack;--tzsets the time zone for days and "today".- The repository is a GitHub Action:
uses: bnymnDev/shopware-mcp@v0.8.0runs the audit with the shopware-mcp release of that tag, writes the job summary, exposes the counts and the exit code as outputs and fails the job on the chosen severity. - Extension packs can declare the ACL privileges their plugin's routes need; the FroshTools and Merqo packs do.
order_documents_bulk_createsays plainly when there is nothing to do, and separately when explicit order ids do not exist.- New recordings of the pulse, the customer's view and setup, and a real example brief on the website.