@reposell/storefront-studio
v0.2.2
Published
Visual /sell storefront builder — serves the reposell Studio against any repository's storefront document
Downloads
72
Maintainers
Readme
@reposell/storefront-studio
Visual /sell storefront builder for reposell — serves the Studio against any repository's storefront document from your terminal:
npx @reposell/storefront-studioThe builder: GrapesJS
The editing surface is GrapesJS — the product
page-builder chosen for this project (see TRACKING.md: "Dev-only Studio
(GrapesJS, localhost API)" and reposell/.acc-memory.md §Storefront Studio).
It is installed as a runtime dependency of this package (grapesjs@^0.21) and
configured in src/builder/grapes.ts:
| Setting | Value | Why |
| --- | --- | --- |
| storageManager | false | Persistence goes through the localhost document API (.reposell/storefront.json), never browser storage |
| panels.defaults | [] | The Studio's own panels replace the stock toolbar |
| styleManager.appendTo | .style-host | Style controls dock into the right sidebar |
| deviceManager | Desktop / 768px / 390px | Responsive preview set |
| canvas.styles | Syne · Outfit · JetBrains Mono | Canvas typography matches the rendered /sell page |
| required stylesheet | grapesjs/dist/css/grapes.min.css | Imported in src/main.ts — without it the editor chrome renders unstyled |
Round-trip contract (protected purchase primitive):
- Load:
.reposell/storefront.jsonis rendered by@reposell/storefront-coreand injected into the canvas. - Edit: content edits are extracted from
data-rs-*markers; style edits are diffed intocustomCss; the releases section is locked — destinations are resolved from verified release context at build time and can never be altered from the canvas.
Conventions — zero configuration
Run it anywhere inside your repository. No flags, no environment variables:
| What | Where |
| --- | --- |
| Document (source of truth) | <cwd>/.reposell/storefront.json |
| Rendered output (index.html, styles.css, scripts.js) | <cwd>/sell/ |
| Port | 5199 (fixed) |
reposell init launches this automatically at the end and opens the browser
for you.
API (localhost only)
| Endpoint | Method | Purpose |
| --- | --- | --- |
| /api/document | GET | Load { document, context } |
| /api/document | PUT | Validate + save the document |
| /api/publish | POST | Save + render index.html/styles.css/scripts.js into sell/ |
| /api/ai | POST | AI designer operations (keys transit localhost only) |
License
MIT
