@bettercms-ai/mcp 0.73.2 → 0.74.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/dist/index.js +154 -19
- package/dist/index.js.map +1 -1
- package/dist/kit-catalog.json +1362 -0
- package/dist/skills/bettercms/SKILL.md +4 -1
- package/dist/skills/bettercms/references/content-modeling.md +5 -0
- package/dist/skills/bettercms/references/detection.md +15 -0
- package/dist/skills/bettercms/references/kit-catalog.md +3259 -0
- package/dist/skills/bettercms/references/kit-scenarios.md +712 -0
- package/dist/skills/bettercms/references/worked-examples.md +146 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ that only show up in code. Read doctrine from the MCP, never from memory:
|
|
|
15
15
|
|
|
16
16
|
- Schema, sections, variants, publish order: resource `bettercms://playbook/schema` (§1–§14).
|
|
17
17
|
- Content sidebar organisation: resource `bettercms://playbook/structure`.
|
|
18
|
+
- Section patterns (149 worked kit entries by category and edge tag): resource `bettercms://kit`.
|
|
18
19
|
- Guided flows: the `studio` prompt routes to the rest (`convert_site` prompt,
|
|
19
20
|
`build_site` prompt, `componentize_site` prompt, `propose_schema` prompt, `new_page` prompt,
|
|
20
21
|
`new_component` prompt, `new_form` prompt, `seo_optimize` prompt, `import-site` prompt,
|
|
@@ -127,8 +128,10 @@ resources: `bettercms://skill/bettercms` for this file, and each reference under
|
|
|
127
128
|
| What the server does and does not check on a write | [write-limits.md](references/write-limits.md) | before relying on a limit; reading a refused write; a bulk load or re-run | validation, maxLength, unique, 400, refused write, dry run, externalKey, upsert, re-run |
|
|
128
129
|
| Plan a site by business type | [site-blueprints.md](references/site-blueprints.md) | the IA of a known site type, with its collections, forms and structured data | new site, IA, portfolio, agency, corporate, SaaS, ecommerce, directory, blog, docs, restaurant, events, course, jobs, real estate, nonprofit, multi-brand |
|
|
129
130
|
| Components, props, variants, component publish codes | [components.md](references/components.md) | creating, swapping, publishing or validating a component | component, prop, variant, sectionType, publish component |
|
|
130
|
-
|
|
|
131
|
+
| Which kit pattern fits a section, and its shape and pitfalls, by category and edge tag | [kit-scenarios.md](references/kit-scenarios.md) | before designing any section's fields or props; a band detection.md classified | kit, pattern, scenario, edge tag, events, locations, calculator, map, chart, docs, team, bento, slots, personalization, localized |
|
|
132
|
+
| One section, source HTML to bound template: hero, feature grid, pricing table, testimonials, FAQ, bento | [worked-examples.md](references/worked-examples.md) | you want the whole path for one section in production shapes | example, hero, pricing, FAQ, testimonial, source to schema |
|
|
131
133
|
| The same for an article entry, navigation in the Global Layout, tabs holding columns | [worked-examples-advanced.md](references/worked-examples-advanced.md) | a collection entry with a body, site chrome, or nested blocks | example, blog post, document body, mega menu, tabs, columns |
|
|
134
|
+
| The modelled section closest to the one you are building: schema, HTML signals, mcp steps, pitfalls | [kit-catalog.md](references/kit-catalog.md) | before designing a section or its props; matching source HTML to a known pattern | kit, catalogue, edge tag, section pattern, bento, localized, personalization, a11y, responsive |
|
|
132
135
|
| Componentize a derived site | [componentize.md](references/componentize.md) | `get_site_composition` shows pages made of fields only | componentize, sections, fields-only, get_componentize_plan, BcmsSections, --sections |
|
|
133
136
|
| Click-to-edit attributes, addresses, declared mode | [bindings.md](references/bindings.md) | `grep -rl "data-bcms-" src` finds files; a value the editor cannot select | data-bcms-field, click to edit, binding report, stega, declared |
|
|
134
137
|
| Animated sites: GSAP, ScrollTrigger, split text, Motion, Lenis, Locomotive, three.js and WebGL, marquees, carousels, Lottie, hydrated islands, and what must stand down in the editor's canvas (`inEditor()`) | [animation.md](references/animation.md) | `package.json` lists `gsap`, `lenis`, `locomotive-scroll`, `framer-motion` or `motion`, `three`, `swiper` or a text splitter; a publish refused with `SPLIT_PATTERN_UNKNOWN` or `ISLAND_PROPS_UNMATCHED`; a `client-only-island` gate exception | animation, GSAP, ScrollTrigger, SplitText, Lenis, Framer Motion, marquee, Swiper, Lottie, island, client:only, data-bcms-split |
|
|
@@ -108,6 +108,11 @@ sitemap), RSS (dated by `publishedAt`), `llms.txt` (one link per published item)
|
|
|
108
108
|
|
|
109
109
|
## 4. Field decisions
|
|
110
110
|
|
|
111
|
+
Before designing a section's fields, find the closest component-kit entry: the chooser by
|
|
112
|
+
category and edge tag is [kit-scenarios.md](kit-scenarios.md), the full list is the
|
|
113
|
+
`bettercms://kit` resource and [kit-catalog.md](kit-catalog.md). The entry's notes are the
|
|
114
|
+
field mapping and its pitfalls the review list; the rules below still decide the storage.
|
|
115
|
+
|
|
111
116
|
- **Model each visual band as a `group` field (or a repeater), or a component instance.** The
|
|
112
117
|
schema's shape decides whether the site can ever be componentized. The componentize lane finds
|
|
113
118
|
a section in a `group`, a repeater, or two or more top-level keys sharing a prefix before `-` or
|
|
@@ -177,6 +177,11 @@ For each band, find the row whose strong signals all match. One match: classify.
|
|
|
177
177
|
None: §9. The class picks the component family (`sectionType`) and the fields; it is never a
|
|
178
178
|
field itself.
|
|
179
179
|
|
|
180
|
+
Every group below is a category of the component kit. Once a band is classified, open the
|
|
181
|
+
closest kit entry (the chooser in [kit-scenarios.md](kit-scenarios.md), the full list in the
|
|
182
|
+
`bettercms://kit` resource or [kit-catalog.md](kit-catalog.md)), map it by that entry's notes and
|
|
183
|
+
check its pitfalls before you write.
|
|
184
|
+
|
|
180
185
|
| Confidence | Evidence | Action |
|
|
181
186
|
|---|---|---|
|
|
182
187
|
| High | A unique structural or vendor signal: `<form action="/cart/add">`, `role="tablist"`, JSON-LD of the right type | Model it |
|
|
@@ -229,7 +234,17 @@ field itself.
|
|
|
229
234
|
| Long-form | Blog post | `<article>` with one `h1`, a byline, a hero image, a rich body |
|
|
230
235
|
| Long-form | Docs page | Left nav tree, article, right "On this page" anchors, prev and next |
|
|
231
236
|
| Long-form | Recipe, job, event detail | JSON-LD of that type, or the matching plugin classes |
|
|
237
|
+
| Long-form | Help article | "Was this article helpful?" at the end, a Help Center breadcrumb, numbered steps with screenshots |
|
|
238
|
+
| Long-form | Glossary or curriculum | An A–Z letter bar over `<dl>` terms; or "Module 1" accordions of lesson rows with durations |
|
|
232
239
|
| Company | Team or leadership | Headshots with name and role; leadership adds C-level titles, bio modals, Board headings |
|
|
240
|
+
| Company | Careers or job | Job rows under department headings linking to a hiring board; or "What you'll do", a salary range, JobPosting JSON-LD |
|
|
241
|
+
| Company | Values or press kit | Three to eight headed value blocks and a perks grid; or logo tiles with SVG and PNG downloads |
|
|
242
|
+
| Events | Events list | Rows led by a big day and short month (12 NOV), Upcoming and Past tabs, "Get tickets" per row |
|
|
243
|
+
| Events | Webinar | A date with a time zone, a registration form beside speakers, "Watch on demand" |
|
|
244
|
+
| Places | Locations or location page | A map beside an address list, hours rows per day, `data-lat`; or one address with `tel:` and Restaurant JSON-LD |
|
|
245
|
+
| Places | Menu | Section headings with dish and price per line, dietary letter codes and a key, "MP" |
|
|
246
|
+
| Data | Calculator or configurator | Range and number inputs with listeners and an `<output>`, no submit; or "Step 1 of 3" option cards with "+$60" |
|
|
247
|
+
| Data | Countdown or poll | Digits as dd:hh:mm:ss with `data-end`; or one question with radio inputs and a Vote button |
|
|
233
248
|
| Data | Table | `<table>` with `<th scope="col">`, more than two rows, a `<caption>` |
|
|
234
249
|
| Data | Chart or map | An `<svg>` with axis ticks or a chart library global; a Leaflet, Mapbox or Google container |
|
|
235
250
|
| Data | Embed or code | A third-party `<iframe>` or script widget; `<pre><code class="language-*">` |
|