ADR: pivot libreshop/shop from runtime image to reference template #10
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ADR — Pivot libreshop/shop from runtime image to reference template
Status
Proposed (2026-05-04). Awaiting acceptance + supersedes prior epic #2.
Context
libreshop/shoporiginated as the white-label Nuxt 3 frontend behindmuellerprints-paperwork.comand was planned as a runtime-extendable base image for adapters (withmpbeing the first adapter). The plan was:extends:mechanism), DockerFROM libreshop/shop:vXA feasibility analysis (ref: notebook in
mp/dummy/planning, 2026-05-04) revealed:ProductCover.binding,ProductPages,ProductRuling,ProductPatterntypes and their Strapi backing tables assume a notebook product. Generalising to a generic "ProductAttribute" requires substantial refactor.usePageContent.ts(287 lines) contains literal MP legal/contact text that all 11 page files import directly.useProductContent.ts(369 lines) hardcodes notebook feature narratives ("Klassische Fadenheftung", "VIVUS 89 Papier", "FSC® C018175") that would need to move to per-adapter composables..envpre-bakingThe mp adapter wants full freedom to add a Druckerei section, an Über uns area, and brand-specific content depth without negotiating upstream.
Decision
Pivot libreshop/shop from "runtime base image" to reference template / starter:
libretech/mp) forks the source into its own tree (mp/shop/) and owns it from that point forward.degit libreshop/shop my-shop, then customize freely.What libreshop/shop becomes:
@libreshop/types,@libreshop/composables) — only if multiple consumers emerge and ask for it. Default: no.What libreshop/shop stops being:
compose.ymlConsequences
Pros:
Cons:
git.librete.ch/libreshop/shop:v0.1.0image becomes orphaned (already pinned by mp). Acceptable — mp's own image takes over, libreshop registry image deleted at end of grace period.Sub-issues to action
@libreshop/typesnpm package (only if asked)Predecessor
Supersedes #2 epic and its sub-issues #3–#9 (close those after this ADR is accepted).