Build static Astro pilot for Happy Tails

This commit is contained in:
Kevin
2026-09-02 00:54:33 -04:00
parent cfe0a7d98d
commit 56a80951b7
42 changed files with 7171 additions and 134 deletions
+21
View File
@@ -0,0 +1,21 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://sloanops.com/schemas/intake.v1.schema.json",
"title": "SloanOps approved intake v1",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "submission", "client", "domain", "site"],
"properties": {
"schemaVersion": { "const": "1.0" },
"submission": { "type": "object", "additionalProperties": false, "required": ["type", "submittedAt"], "properties": { "type": { "const": "client-signup" }, "submittedAt": { "type": "string", "format": "date-time" } } },
"client": { "type": "object", "additionalProperties": false, "required": ["businessName", "contactEmail"], "properties": { "businessName": { "type": "string", "minLength": 1, "maxLength": 120 }, "contactEmail": { "type": "string", "format": "email", "maxLength": 254 } } },
"domain": { "type": "object", "additionalProperties": false, "required": ["requestedRootDomain", "management"], "properties": { "requestedRootDomain": { "type": "string", "pattern": "^(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$" }, "management": { "enum": ["client_managed", "sloanops_managed"] } } },
"site": { "type": "object", "additionalProperties": false, "required": ["title", "description", "brand", "contact", "hero", "features", "services", "team", "testimonials"], "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 120 }, "description": { "type": "string", "minLength": 1, "maxLength": 200 }, "brand": { "$ref": "#/$defs/brand" }, "contact": { "$ref": "#/$defs/contact" }, "hero": { "$ref": "#/$defs/hero" }, "features": { "$ref": "#/$defs/contentItems" }, "services": { "$ref": "#/$defs/contentItems" }, "team": { "$ref": "#/$defs/contentItems" }, "testimonials": { "$ref": "#/$defs/contentItems" } } }
},
"$defs": {
"brand": { "type": "object", "additionalProperties": false, "required": ["primaryColor", "secondaryColor", "headingFont", "bodyFont"], "properties": { "primaryColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "secondaryColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "headingFont": { "type": "string", "minLength": 1, "maxLength": 80 }, "bodyFont": { "type": "string", "minLength": 1, "maxLength": 80 } } },
"contact": { "type": "object", "additionalProperties": false, "required": ["publicEmail", "phone"], "properties": { "publicEmail": { "type": "string", "format": "email", "maxLength": 254 }, "phone": { "type": "string", "pattern": "^[+0-9(). -]{7,30}$" } } },
"hero": { "type": "object", "additionalProperties": false, "required": ["headline", "subheadline"], "properties": { "headline": { "type": "string", "minLength": 1, "maxLength": 160 }, "subheadline": { "type": "string", "minLength": 1, "maxLength": 280 } } },
"contentItems": { "type": "array", "maxItems": 24, "items": { "type": "object", "additionalProperties": true, "required": ["title", "description"], "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 120 }, "description": { "type": "string", "minLength": 1, "maxLength": 1000 } } } }
}
}