Developer Preview
{
"siteId": "demo-client",
"siteName": "Demo Client",
"version": "0.0.1",
"status": "draft",
"publishedAt": null,
"metadata": {
"description": "A tiny fake site used to prove the Feasure CMS renderer."
},
"pages": [
{
"id": "home",
"slug": "/",
"title": "Home",
"seo": {
"title": "Demo Client | Feasure CMS",
"description": "A simple homepage rendered entirely from a JSON snapshot."
},
"sections": [
{
"id": "hero-main",
"component": "hero",
"props": {
"eyebrow": "Demo Client",
"headline": "A website loaded from JSON",
"body": "This proves the Feasure CMS rendering model: locked components, editable content, and static publish-ready snapshots.",
"primaryCtaLabel": "View the cards",
"primaryCtaHref": "#cards",
"secondaryCtaLabel": "View mappings",
"secondaryCtaHref": "/clients/demo-client/mappings"
}
},
{
"id": "cards-main",
"component": "cardGrid",
"props": {
"anchorId": "cards",
"headline": "What this proves",
"cards": [
{
"title": "Static",
"body": "The public client site can run from a published JSON snapshot."
},
{
"title": "Editable",
"body": "Feasure CMS can expose clean fields instead of raw JSON."
},
{
"title": "Safe",
"body": "Design and layout stay locked inside approved components."
}
]
}
},
{
"id": "feature-band-main",
"component": "featureBand",
"props": {
"eyebrow": "Architecture",
"headline": "Feasure CMS is middleware, not the live website dependency.",
"body": "The public site should continue working even if the CMS is unavailable."
}
},
{
"id": "cta-main",
"component": "cta",
"props": {
"headline": "Ready to publish?",
"body": "Eventually this button will publish a validated snapshot to a client website repository.",
"primaryCtaLabel": "Preview draft",
"primaryCtaHref": "/clients/demo-client/preview"
}
}
]
}
],
"assets": []
}