spree-extensions
Installation
SKILL.md
Spree Extensions
Commands use the
spreeCLI form (Rails app inserver/). On a classic Rails app usebundle …/bin/rails …from the app root — seespree-project.
A Spree 6 extension has two halves:
| Half | What it is | Holds |
|---|---|---|
| Gem (Rails engine) | spree_<name> Ruby gem |
Models, migrations, Store/Admin API endpoints, serializers, permission scopes, workflow hooks, subscribers, provider classes, integrations |
| Dashboard plugin (optional) | npm package using defineDashboardPlugin |
Admin screens, nav entries, product-page widgets — talking to the gem's Admin API endpoints |
There are no views to add: Spree 6 has no Rails admin and no Rails storefront. Storefront pages live in your storefront app via @spree/sdk.
Is a gem the right shape? Only when the customization is shared across apps or published. For one app, put the same code in server/app/ and register it in server/config/initializers/spree.rb — see spree-customization.