@wix/agent-skills 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +1 -1
- package/skills/wix-app/SKILL.md +49 -42
- package/skills/wix-app/references/BACKEND_EVENT.md +10 -65
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +101 -406
- package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +14 -111
- package/skills/wix-app/references/DASHBOARD_MODAL.md +56 -205
- package/skills/wix-app/references/DASHBOARD_PAGE.md +19 -98
- package/skills/wix-app/references/DASHBOARD_PLUGIN.md +6 -108
- package/skills/wix-app/references/DATA_COLLECTION.md +113 -198
- package/skills/wix-app/references/EMBEDDED_SCRIPT.md +41 -268
- package/skills/wix-app/references/EXTENSION_REGISTRATION.md +27 -76
- package/skills/wix-app/references/SERVICE_PLUGIN.md +35 -188
- package/skills/wix-app/references/SITE_PLUGIN.md +8 -92
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +0 -44
- package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +19 -330
- package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +0 -12
- package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +7 -0
- package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +0 -12
- package/skills/wix-app/references/dashboard-plugin/SLOTS.md +3 -15
- package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +2 -18
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +2 -42
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +1 -11
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +1 -11
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +2 -40
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +2 -19
- package/skills/wix-app/references/service-plugin/VALIDATIONS.md +2 -18
- package/skills/wix-app/references/site-plugin/SLOTS.md +17 -68
- package/skills/wix-headless/SKILL.md +111 -389
- package/skills/wix-headless/references/BUILD.md +307 -0
- package/skills/wix-headless/references/DESIGN_SYSTEM.md +115 -0
- package/skills/wix-headless/references/DISCOVERY.md +237 -112
- package/skills/wix-headless/references/PLAN.md +82 -0
- package/skills/wix-headless/references/SEED.md +205 -0
- package/skills/wix-headless/references/SETUP.md +140 -134
- package/skills/wix-headless/references/astro/COMPOSE.md +142 -0
- package/skills/wix-headless/references/{blog → astro/blog}/BLOG_PAGES.md +1 -1
- package/skills/wix-headless/references/{blog → astro/blog}/BLOG_SETUP.md +2 -2
- package/skills/wix-headless/references/astro/cms/CMS_FOUNDATIONS.md +214 -0
- package/skills/wix-headless/references/{cms → astro/cms}/FAQ_KNOWLEDGE_BASE.md +6 -4
- package/skills/wix-headless/references/{cms → astro/cms}/PORTFOLIO.md +5 -5
- package/skills/wix-headless/references/{cms → astro/cms}/RESOURCE_LIBRARY.md +5 -5
- package/skills/wix-headless/references/{cms → astro/cms}/TEAM_DIRECTORY.md +5 -5
- package/skills/wix-headless/references/astro/designer/INSTRUCTIONS.md +331 -0
- package/skills/wix-headless/references/{ecom → astro/ecom}/CART_PAGES.md +1 -1
- package/skills/wix-headless/references/{ecom → astro/ecom}/CART_WIRING.md +1 -1
- package/skills/wix-headless/references/{ecom → astro/ecom}/COMPONENTS_CSS.md +3 -3
- package/skills/wix-headless/references/{forms → astro/forms}/CONTACT_FORM.md +13 -13
- package/skills/wix-headless/references/{gift-cards → astro/gift-cards}/COMPONENTS.md +1 -1
- package/skills/wix-headless/references/{gift-cards → astro/gift-cards}/PAGES.md +1 -1
- package/skills/wix-headless/references/{stores → astro/stores}/BACK_IN_STOCK.md +1 -1
- package/skills/wix-headless/references/{stores → astro/stores}/CATEGORY_PAGES.md +12 -13
- package/skills/wix-headless/references/{stores → astro/stores}/COMPONENTS_CSS.md +4 -4
- package/skills/wix-headless/references/{stores → astro/stores}/HOME_AND_NAV.md +11 -9
- package/skills/wix-headless/references/{stores → astro/stores}/PRODUCT_PAGES.md +5 -3
- package/skills/wix-headless/references/{stores → astro/stores}/SHARED_WIRING.md +3 -3
- package/skills/wix-headless/references/astro/templates/Footer.astro +27 -0
- package/skills/wix-headless/references/astro/templates/Layout.astro +132 -0
- package/skills/wix-headless/references/astro/templates/Navigation.astro +38 -0
- package/skills/wix-headless/references/astro/templates/astro.config.mjs +41 -0
- package/skills/wix-headless/references/astro/templates/ecom/components-ecom.css +302 -0
- package/skills/wix-headless/references/astro/templates/global.css +286 -0
- package/skills/wix-headless/references/astro/templates/index.astro +56 -0
- package/skills/wix-headless/{templates → references/astro/templates}/stores/back-in-stock.ts +1 -1
- package/skills/wix-headless/{templates → references/astro/templates}/stores/components-stores.css +138 -33
- package/skills/wix-headless/references/blog/BLOG_CONTENT.md +10 -11
- package/skills/wix-headless/references/blog/INSTRUCTIONS.md +5 -5
- package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +31 -230
- package/skills/wix-headless/references/cms/INSTRUCTIONS.md +13 -8
- package/skills/wix-headless/references/custom/INSTRUCTIONS.md +38 -0
- package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +10 -10
- package/skills/wix-headless/references/forms/INSTRUCTIONS.md +5 -5
- package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +11 -11
- package/skills/wix-headless/references/images/INSTRUCTIONS.md +47 -50
- package/skills/wix-headless/references/seed-recipes.md +49 -0
- package/skills/wix-headless/references/shared/AUTHENTICATION.md +110 -0
- package/skills/wix-headless/references/shared/BUILD_NOISE.md +2 -2
- package/skills/wix-headless/references/shared/DOCS_SEARCH.md +41 -0
- package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +17 -17
- package/skills/wix-headless/references/shared/IMPLEMENTER.md +20 -29
- package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +1 -1
- package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +25 -16
- package/skills/wix-headless/references/shared/STYLING.md +47 -10
- package/skills/wix-headless/references/stores/INSTRUCTIONS.md +25 -25
- package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +17 -17
- package/skills/wix-headless/references/verticals/_schema.json +31 -117
- package/skills/wix-headless/references/verticals/_schema.md +60 -150
- package/skills/wix-headless/references/verticals/blog.md +5 -99
- package/skills/wix-headless/references/verticals/cms.md +9 -100
- package/skills/wix-headless/references/verticals/ecom.md +5 -76
- package/skills/wix-headless/references/verticals/forms.md +5 -85
- package/skills/wix-headless/references/verticals/gift-cards.md +6 -103
- package/skills/wix-headless/references/verticals/stores.md +10 -144
- package/skills/wix-headless/scripts/check-manifest.mjs +5 -5
- package/skills/wix-headless/scripts/emit-design-tokens.mjs +29 -23
- package/skills/wix-headless/scripts/init-site-json.mjs +59 -21
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +67 -43
- package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +3 -3
- package/skills/wix-headless/scripts/preview.sh +3 -3
- package/skills/wix-headless/scripts/release.sh +4 -4
- package/skills/wix-headless/scripts/scaffold.sh +75 -20
- package/skills/wix-headless/scripts/seed-utilities.sh +50 -12
- package/skills/wix-manage/SKILL.md +4 -8
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +2 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +4 -0
- package/skills/wix-manage/references/cms/cms-references-and-relationships.md +2 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +4 -0
- package/skills/wix-manage/references/ecommerce/api-shipping.md +443 -0
- package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +5 -6
- package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +4 -5
- package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +4 -5
- package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +1 -1
- package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +1 -2
- package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +2 -2
- package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +4 -5
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +7 -7
- package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +209 -72
- package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +9 -10
- package/skills/wix-manage/references/ecommerce/skill-graph.md +4 -4
- package/skills/wix-manage/references/forms/create-form.md +2 -0
- package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +2 -0
- package/skills/wix-manage/references/stores/create-product-from-image.md +91 -38
- package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +2 -0
- package/skills/wix-app/references/custom-element-widget/default-thumbnail.png +0 -0
- package/skills/wix-app/references/data-collection/extension-template.ts +0 -107
- package/skills/wix-headless/references/ORCHESTRATION.md +0 -269
- package/skills/wix-headless/references/commands/install-app.md +0 -42
- package/skills/wix-headless/references/commands/mcp-bootstrap.md +0 -28
- package/skills/wix-headless/references/designer/INSTRUCTIONS.md +0 -828
- package/skills/wix-headless/references/shared/MCP_PREFIX.md +0 -105
- package/skills/wix-headless/scripts/copy-utility-templates.mjs +0 -153
- package/skills/wix-headless/templates/ecom/components-ecom.css +0 -215
- package/skills/wix-manage/references/events/list-events.md +0 -203
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/CartBadge.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/CartView.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/cart.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/discounts.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/ecom/thank-you.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/GiftCardPurchase.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/_home-teaser-snippet.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/_nav-snippet.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/components-gift-cards.css +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/gift-cards.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/gift-cards/gift-cards.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/AddToCartButton.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/BackInStockForm.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/CategoryRail.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/ProductCard.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/ProductPurchase.tsx +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/SeoTags.astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/categories.ts +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/category/[slug].astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/products/[slug].astro +0 -0
- /package/skills/wix-headless/{templates → references/astro/templates}/stores/products/index.astro +0 -0
package/skills/wix-headless/{templates → references/astro/templates}/stores/components-stores.css
RENAMED
|
@@ -182,114 +182,219 @@ body[data-navigating="true"] .product-grid {
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
|
|
185
|
+
/* =========================================================================
|
|
186
|
+
Rules below use direct CSS (var(--token)) only — no `@apply`.
|
|
187
|
+
|
|
188
|
+
Tailwind v4 `@apply` in a non-entrypoint CSS file only works for utilities
|
|
189
|
+
whose theme keys the designer's `@theme` block declares. Earlier revisions
|
|
190
|
+
of this template used `@apply font-heading text-bark/70 bg-parchment …`,
|
|
191
|
+
which assumed a different token vocabulary than current designer output
|
|
192
|
+
(`paper`/`ink`/`font-display` …) and built-failed on every run that loaded
|
|
193
|
+
it. Direct `var(--color-paper)` / `var(--spacing-sm)` calls work against
|
|
194
|
+
any designer-published token set as long as the core scales exist (they
|
|
195
|
+
always do). Use fallback chains (`var(--color-paper-warm, var(--color-cream))`)
|
|
196
|
+
when a token is sometimes-published.
|
|
197
|
+
========================================================================= */
|
|
198
|
+
|
|
185
199
|
/* --- Variant / option pills (ProductPurchase.tsx) --- */
|
|
186
200
|
.option-group {
|
|
187
|
-
|
|
201
|
+
display: flex;
|
|
202
|
+
flex-direction: column;
|
|
203
|
+
gap: var(--spacing-sm);
|
|
204
|
+
margin-bottom: var(--spacing-lg);
|
|
188
205
|
}
|
|
189
206
|
.option-label {
|
|
190
|
-
|
|
207
|
+
font-family: var(--font-display);
|
|
208
|
+
font-size: 0.875rem;
|
|
209
|
+
text-transform: uppercase;
|
|
210
|
+
letter-spacing: 0.05em;
|
|
211
|
+
color: var(--color-ink-soft, var(--color-mute));
|
|
191
212
|
}
|
|
192
213
|
.option-choices {
|
|
193
|
-
|
|
214
|
+
display: flex;
|
|
215
|
+
flex-wrap: wrap;
|
|
216
|
+
gap: var(--spacing-sm);
|
|
194
217
|
}
|
|
195
218
|
.option-pill {
|
|
196
|
-
|
|
219
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
220
|
+
border: 1px solid var(--color-ink);
|
|
221
|
+
background: transparent;
|
|
222
|
+
color: var(--color-ink);
|
|
223
|
+
font-family: var(--font-body);
|
|
224
|
+
border-radius: 9999px;
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
transition: background-color 150ms ease, color 150ms ease;
|
|
197
227
|
}
|
|
198
228
|
.option-pill.selected {
|
|
199
|
-
|
|
229
|
+
background: var(--color-ink);
|
|
230
|
+
color: var(--color-paper);
|
|
200
231
|
}
|
|
201
232
|
.option-pill:disabled {
|
|
202
|
-
|
|
233
|
+
opacity: 0.4;
|
|
234
|
+
cursor: not-allowed;
|
|
203
235
|
}
|
|
204
236
|
|
|
205
237
|
/* --- Quantity stepper (ProductPurchase.tsx, CartView.tsx qty editing) --- */
|
|
206
238
|
.quantity-selector {
|
|
207
|
-
|
|
239
|
+
display: inline-flex;
|
|
240
|
+
align-items: center;
|
|
241
|
+
border: 1px solid var(--color-ink);
|
|
242
|
+
border-radius: var(--radius-md);
|
|
243
|
+
overflow: hidden;
|
|
208
244
|
}
|
|
209
245
|
.quantity-btn {
|
|
210
|
-
|
|
246
|
+
padding: 0.5rem 0.75rem;
|
|
247
|
+
background: transparent;
|
|
248
|
+
border: none;
|
|
249
|
+
cursor: pointer;
|
|
250
|
+
color: var(--color-ink);
|
|
251
|
+
font-family: var(--font-body);
|
|
211
252
|
}
|
|
212
253
|
.quantity-btn:disabled {
|
|
213
|
-
|
|
254
|
+
opacity: 0.4;
|
|
255
|
+
cursor: not-allowed;
|
|
214
256
|
}
|
|
215
257
|
.quantity-value {
|
|
216
|
-
|
|
258
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
259
|
+
font-variant-numeric: tabular-nums;
|
|
217
260
|
}
|
|
218
261
|
|
|
219
262
|
/* --- Modifier free-text input (ProductPurchase.tsx, FREE_TEXT render type) --- */
|
|
220
263
|
.modifier-text {
|
|
221
|
-
|
|
264
|
+
width: 100%;
|
|
265
|
+
padding: var(--spacing-sm);
|
|
266
|
+
font-family: var(--font-body);
|
|
267
|
+
font-size: 0.875rem;
|
|
268
|
+
border: 1px solid var(--color-rule);
|
|
269
|
+
border-radius: var(--radius-sm);
|
|
270
|
+
background: var(--color-paper-warm, var(--color-paper, var(--color-cream)));
|
|
271
|
+
color: var(--color-ink);
|
|
222
272
|
resize: vertical;
|
|
223
273
|
}
|
|
224
274
|
.modifier-text:focus {
|
|
225
|
-
|
|
275
|
+
outline: none;
|
|
276
|
+
border-color: var(--color-ink);
|
|
277
|
+
background: var(--color-paper, var(--color-cream));
|
|
226
278
|
}
|
|
227
279
|
|
|
228
280
|
/* --- Stock status (ProductPurchase.tsx) --- */
|
|
229
281
|
.stock-status {
|
|
230
|
-
|
|
282
|
+
font-size: 0.875rem;
|
|
283
|
+
color: var(--color-ink-soft, var(--color-mute));
|
|
284
|
+
font-style: italic;
|
|
231
285
|
}
|
|
232
286
|
|
|
233
287
|
/* --- Back-in-stock subscribe form (BackInStockForm.tsx) ---
|
|
234
288
|
* Rendered inside .purchase-area in three OOS branches when
|
|
235
289
|
* backInStockEnabled=true (probe in [slug].astro). */
|
|
236
290
|
.back-in-stock-form {
|
|
237
|
-
|
|
238
|
-
|
|
291
|
+
display: flex;
|
|
292
|
+
flex-direction: column;
|
|
293
|
+
gap: var(--spacing-md);
|
|
294
|
+
margin-top: var(--spacing-md);
|
|
295
|
+
padding: var(--spacing-lg);
|
|
296
|
+
border: 1px solid var(--color-rule);
|
|
297
|
+
border-radius: var(--radius-md);
|
|
298
|
+
background: var(--color-paper, var(--color-cream));
|
|
239
299
|
}
|
|
240
300
|
.back-in-stock-headline {
|
|
241
|
-
|
|
301
|
+
display: flex;
|
|
302
|
+
flex-direction: column;
|
|
303
|
+
gap: var(--spacing-sm);
|
|
242
304
|
}
|
|
243
305
|
.back-in-stock-eyebrow {
|
|
244
|
-
|
|
306
|
+
font-family: var(--font-display);
|
|
307
|
+
font-size: 0.75rem;
|
|
308
|
+
text-transform: uppercase;
|
|
309
|
+
letter-spacing: 0.05em;
|
|
310
|
+
color: var(--color-ink-soft, var(--color-mute));
|
|
245
311
|
}
|
|
246
312
|
.back-in-stock-lede {
|
|
247
|
-
|
|
313
|
+
font-family: var(--font-body);
|
|
314
|
+
font-size: 0.875rem;
|
|
315
|
+
color: var(--color-ink);
|
|
248
316
|
line-height: 1.5;
|
|
249
317
|
}
|
|
250
318
|
.back-in-stock-label {
|
|
251
|
-
|
|
319
|
+
font-family: var(--font-display);
|
|
320
|
+
font-size: 0.75rem;
|
|
321
|
+
text-transform: uppercase;
|
|
322
|
+
letter-spacing: 0.05em;
|
|
323
|
+
color: var(--color-ink-soft, var(--color-mute));
|
|
252
324
|
}
|
|
253
325
|
.back-in-stock-row {
|
|
254
|
-
|
|
326
|
+
display: flex;
|
|
327
|
+
flex-direction: row;
|
|
328
|
+
flex-wrap: wrap;
|
|
329
|
+
gap: var(--spacing-sm);
|
|
255
330
|
}
|
|
256
331
|
.back-in-stock-input {
|
|
257
|
-
|
|
332
|
+
flex: 1;
|
|
333
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
334
|
+
font-family: var(--font-body);
|
|
335
|
+
font-size: 0.875rem;
|
|
336
|
+
border: 1px solid var(--color-rule);
|
|
337
|
+
border-radius: var(--radius-sm);
|
|
338
|
+
background: var(--color-paper-warm, var(--color-paper, var(--color-cream)));
|
|
339
|
+
color: var(--color-ink);
|
|
258
340
|
min-width: 0;
|
|
259
341
|
transition: border-color 0.15s ease;
|
|
260
342
|
}
|
|
261
343
|
.back-in-stock-input:focus {
|
|
262
|
-
|
|
344
|
+
outline: none;
|
|
345
|
+
border-color: var(--color-ink);
|
|
263
346
|
}
|
|
264
347
|
.back-in-stock-submit {
|
|
265
|
-
|
|
266
|
-
|
|
348
|
+
padding: var(--spacing-sm) var(--spacing-lg);
|
|
349
|
+
font-family: var(--font-display);
|
|
350
|
+
font-size: 0.75rem;
|
|
351
|
+
text-transform: uppercase;
|
|
352
|
+
letter-spacing: 0.05em;
|
|
353
|
+
background: var(--color-ink);
|
|
354
|
+
color: var(--color-paper);
|
|
355
|
+
border: 1px solid var(--color-ink);
|
|
356
|
+
border-radius: var(--radius-sm);
|
|
357
|
+
cursor: pointer;
|
|
358
|
+
transition: background-color 150ms ease;
|
|
267
359
|
}
|
|
268
360
|
.back-in-stock-submit:hover:not(:disabled) {
|
|
269
|
-
|
|
361
|
+
background: var(--color-ink-soft, var(--color-ink));
|
|
270
362
|
}
|
|
271
363
|
.back-in-stock-submit:disabled {
|
|
272
|
-
|
|
364
|
+
opacity: 0.5;
|
|
365
|
+
cursor: not-allowed;
|
|
273
366
|
}
|
|
274
367
|
.back-in-stock-error {
|
|
275
|
-
|
|
276
|
-
|
|
368
|
+
font-family: var(--font-body);
|
|
369
|
+
font-size: 0.875rem;
|
|
370
|
+
color: var(--color-error, var(--color-accent));
|
|
277
371
|
}
|
|
278
372
|
.back-in-stock-success {
|
|
279
|
-
|
|
280
|
-
|
|
373
|
+
margin-top: var(--spacing-md);
|
|
374
|
+
padding: var(--spacing-lg);
|
|
375
|
+
border: 1px solid var(--color-rule);
|
|
376
|
+
border-radius: var(--radius-md);
|
|
377
|
+
background: var(--color-paper, var(--color-cream));
|
|
281
378
|
}
|
|
282
379
|
.back-in-stock-success-headline {
|
|
283
|
-
|
|
380
|
+
font-family: var(--font-display);
|
|
381
|
+
font-size: 1rem;
|
|
382
|
+
color: var(--color-ink);
|
|
284
383
|
margin: 0 0 0.5rem 0;
|
|
285
384
|
}
|
|
286
385
|
.back-in-stock-success-detail {
|
|
287
|
-
|
|
386
|
+
font-family: var(--font-body);
|
|
387
|
+
font-size: 0.875rem;
|
|
388
|
+
color: var(--color-ink);
|
|
288
389
|
line-height: 1.55;
|
|
289
390
|
margin: 0;
|
|
290
391
|
}
|
|
291
392
|
.stock-status.back-in-stock-alt {
|
|
292
|
-
|
|
393
|
+
margin-top: var(--spacing-sm);
|
|
394
|
+
font-family: var(--font-body);
|
|
395
|
+
font-size: 0.875rem;
|
|
396
|
+
font-style: italic;
|
|
397
|
+
color: var(--color-ink-soft, var(--color-mute));
|
|
293
398
|
}
|
|
294
399
|
|
|
295
400
|
/* Cart CSS (.cart-item-*, .qty-*) lives in components-ecom.css — not in this file. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Recipe: Seed Initial Blog Posts via
|
|
1
|
+
# Recipe: Seed Initial Blog Posts via REST
|
|
2
2
|
|
|
3
3
|
Create 3 on-brand blog posts so the blog has real content on first preview.
|
|
4
4
|
|
|
@@ -8,24 +8,24 @@ Create 3 on-brand blog posts so the blog has real content on first preview.
|
|
|
8
8
|
> 3. **Use `@wix/blog`, not `@wix/data`** — blog posts are NOT CMS collections.
|
|
9
9
|
> 4. **`RICH_CONTENT` fieldset required** — without it, `post.richContent` is undefined and rendering fails.
|
|
10
10
|
|
|
11
|
-
> **Required in the Seed phase.** When dispatched with `Scope: seed`,
|
|
11
|
+
> **Required in the Seed phase.** When dispatched with `Scope: seed`, the CLI-minted REST token and discovery context are guaranteed available. Always execute this section — do not skip. A blog with zero posts on first preview is a build failure.
|
|
12
12
|
>
|
|
13
|
-
> **Skip only for standalone invocations** where the Blog skill is invoked directly AND
|
|
13
|
+
> **Skip only for standalone invocations** where the Blog skill is invoked directly AND CLI token mint fails after recovery. In that case, the user can create posts manually in the Wix dashboard.
|
|
14
14
|
|
|
15
15
|
## Step 0: Ensure Blog App Is Installed
|
|
16
16
|
|
|
17
17
|
Before querying blog data, verify the Blog app is installed:
|
|
18
18
|
|
|
19
|
-
1. **Probe** — `
|
|
19
|
+
1. **Probe** — `REST: POST https://www.wixapis.com/blog/v3/posts/query`
|
|
20
20
|
2. **If the API returns a "REQUIRED_APP_NOT_INSTALLED" error** → install the Wix Blog app:
|
|
21
21
|
```
|
|
22
|
-
|
|
22
|
+
REST: POST https://www.wixapis.com/apps-installer-service/v1/app-instance/install
|
|
23
23
|
body: {
|
|
24
24
|
"tenant": { "tenantType": "SITE", "id": "<siteId>" },
|
|
25
25
|
"appInstance": { "appDefId": "14bcded7-0066-7c35-14d7-466cb3f09103", "enabled": true }
|
|
26
26
|
}
|
|
27
27
|
```
|
|
28
|
-
> Translate this prose-HTTP form into the full `
|
|
28
|
+
> Translate this prose-HTTP form into the full `curl` tool-call shape — pass `body` as JSON in `-d` (NOT a stringified JSON). See `../shared/AUTHENTICATION.md` for the standard REST headers.
|
|
29
29
|
|
|
30
30
|
Then retry the probe query to confirm installation succeeded.
|
|
31
31
|
3. **If the probe succeeds** → proceed to Step 1.
|
|
@@ -37,7 +37,7 @@ Before querying blog data, verify the Blog app is installed:
|
|
|
37
37
|
Blog posts require a `memberId` (the post author). Fetch the first site member:
|
|
38
38
|
|
|
39
39
|
```
|
|
40
|
-
|
|
40
|
+
REST: GET https://www.wixapis.com/members/v1/members
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Extract the first member's `_id` from the response. This will be used as the author for all posts.
|
|
@@ -70,7 +70,7 @@ For each post, call `POST /blog/v3/draft-posts` with `publish: true` to create a
|
|
|
70
70
|
> Do not include the `media` field — cover images are handled separately by the image agent after post creation.
|
|
71
71
|
|
|
72
72
|
```
|
|
73
|
-
|
|
73
|
+
REST: POST https://www.wixapis.com/blog/v3/draft-posts
|
|
74
74
|
body: {
|
|
75
75
|
"draftPost": {
|
|
76
76
|
"title": "<Post Title>",
|
|
@@ -119,7 +119,7 @@ Use these node types to build rich, varied content:
|
|
|
119
119
|
- TEXT nodes are always leaf nodes inside PARAGRAPH, HEADING, CODE_BLOCK, etc.
|
|
120
120
|
- LIST_ITEM nodes contain PARAGRAPH nodes (not TEXT directly)
|
|
121
121
|
- Mix at least 3 different node types per post for visual variety
|
|
122
|
-
- Create all 3 posts in sequence (one `
|
|
122
|
+
- Create all 3 posts in sequence (one `curl` call per post)
|
|
123
123
|
- **Best practice:** include all fields (title, content, media) in the initial creation call to avoid needing a re-publish
|
|
124
124
|
|
|
125
125
|
> **Re-publish after PATCH:** If you update a published post (e.g., adding a cover image via PATCH after creation), it becomes `hasUnpublishedChanges: true`. You must call `POST /blog/v3/draft-posts/{draftPostId}/publish` to re-publish. To avoid this, include media in the initial creation call.
|
|
@@ -129,7 +129,7 @@ Use these node types to build rich, varied content:
|
|
|
129
129
|
Query published posts to confirm all 3 exist:
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
|
|
132
|
+
REST: POST https://www.wixapis.com/blog/v3/posts/query
|
|
133
133
|
body: {
|
|
134
134
|
"query": {
|
|
135
135
|
"paging": { "limit": 10 }
|
|
@@ -149,4 +149,3 @@ Write a sidecar file at `.wix/logs/blog-data.md` (see `../../shared/LIFECYCLE_LO
|
|
|
149
149
|
- Content: {n} posts published ({post titles})
|
|
150
150
|
- Images: {generated (n/n attached) | skipped (user declined) | not attempted}
|
|
151
151
|
```
|
|
152
|
-
|
|
@@ -5,15 +5,15 @@ description: "Implements blog vertical via Wix Blog app — @wix/blog SDK, @wix/
|
|
|
5
5
|
|
|
6
6
|
# Blog Implementer
|
|
7
7
|
|
|
8
|
-
Extends `references/shared/IMPLEMENTER.md`. Read that file first for phase routing,
|
|
8
|
+
Extends `references/shared/IMPLEMENTER.md`. Read that file first for phase routing, REST auth + doc lookups, prompt-inlined inputs (no site.json reads), return contract, style conventions, and common failure modes.
|
|
9
9
|
|
|
10
10
|
## Scope routing
|
|
11
11
|
|
|
12
12
|
| Scope | Phase | Reference |
|
|
13
13
|
|-------|-------|-----------|
|
|
14
|
-
| `seed` | Seed (post seeding via
|
|
15
|
-
| `components` | Components (blog service module, RicosViewer, consts, astro.config sitemap) |
|
|
16
|
-
| `pages` | Pages (listing, detail, RSS, BlogPost layout, home contribution) |
|
|
14
|
+
| `seed` | Seed (post seeding via REST with Ricos content) | `./BLOG_CONTENT.md` |
|
|
15
|
+
| `components` | Components (blog service module, RicosViewer, consts, astro.config sitemap) | `../astro/blog/BLOG_SETUP.md` |
|
|
16
|
+
| `pages` | Pages (listing, detail, RSS, BlogPost layout, home contribution) | `../astro/blog/BLOG_PAGES.md` |
|
|
17
17
|
|
|
18
18
|
Cover images are generated by the shared image agent (`image-phase-2-entity` scope) AFTER `seed` completes — not by this agent.
|
|
19
19
|
|
|
@@ -29,4 +29,4 @@ See `<SKILL_ROOT>/references/verticals/blog.md` frontmatter.
|
|
|
29
29
|
| `<article set:html={post.content} />` | `<RicosViewer client:only="react" content={post.richContent} />` — content is Ricos format |
|
|
30
30
|
| Skip `wixMetadata` on `[...slug].astro` | Required for Wix page routing + SEO |
|
|
31
31
|
| Query posts without `RICH_CONTENT` fieldset | Always request `RICH_CONTENT` or `post.richContent` is undefined |
|
|
32
|
-
| Scoped `<style>` for RicosViewer overrides | `<style is:global>` — React islands don't inherit scoped Astro styles |
|
|
32
|
+
| Scoped `<style>` for RicosViewer overrides | `<style is:global>` — React islands don't inherit scoped Astro styles |
|