@omniharmonic/openspace-cli 0.1.3 → 0.1.5

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.
Files changed (241) hide show
  1. package/README.md +14 -9
  2. package/dist/{agents-md-7DESZGEN.js → agents-md-PVK5NBFF.js} +3 -2
  3. package/dist/bin.js +4 -2
  4. package/dist/bin.js.map +1 -1
  5. package/dist/chunk-26AZCID5.js +44 -0
  6. package/dist/chunk-26AZCID5.js.map +1 -0
  7. package/dist/{chunk-TQZ5F7VG.js → chunk-RG7S2MUH.js} +13857 -22780
  8. package/dist/chunk-RG7S2MUH.js.map +1 -0
  9. package/dist/{chunk-AAMRGTSI.js → chunk-UQXJVMUV.js} +9116 -855
  10. package/dist/chunk-UQXJVMUV.js.map +1 -0
  11. package/dist/chunk-WE4QCL3R.js +12836 -0
  12. package/dist/chunk-WE4QCL3R.js.map +1 -0
  13. package/dist/crawl-5ZZ5W7B6.js +9 -0
  14. package/dist/crawl-5ZZ5W7B6.js.map +1 -0
  15. package/dist/index.js +4 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/starter/site/AGENTS.md +13 -6
  18. package/dist/templates/atelier/content/pages/about.json +1 -1
  19. package/dist/templates/atelier/content/pages/commissions.json +1 -1
  20. package/dist/templates/atelier/content/pages/contact.json +1 -1
  21. package/dist/templates/atelier/content/pages/home.json +1 -1
  22. package/dist/templates/atelier/content/pages/work.json +1 -1
  23. package/dist/templates/atelier/content/site.json +1 -1
  24. package/dist/templates/atelier/content/styles.json +1 -1
  25. package/dist/templates/atelier/openspace.json +2 -2
  26. package/dist/templates/atelier/template.json +1 -1
  27. package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
  28. package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
  29. package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
  30. package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
  31. package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
  32. package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
  33. package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
  34. package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
  35. package/dist/templates/beacon/content/pages/about.json +572 -0
  36. package/dist/templates/beacon/content/pages/contact.json +260 -0
  37. package/dist/templates/beacon/content/pages/donate.json +406 -0
  38. package/dist/templates/beacon/content/pages/get-involved.json +412 -0
  39. package/dist/templates/beacon/content/pages/home.json +701 -0
  40. package/dist/templates/beacon/content/pages/our-work.json +855 -0
  41. package/dist/templates/beacon/content/site.json +363 -0
  42. package/dist/templates/beacon/content/styles.json +17 -0
  43. package/dist/templates/beacon/media/LICENSES.json +163 -0
  44. package/dist/templates/beacon/openspace.json +21 -0
  45. package/dist/templates/beacon/template.json +113 -0
  46. package/dist/templates/commons/content/pages/about.json +1 -1
  47. package/dist/templates/commons/content/pages/{members.json → directory.json} +16 -16
  48. package/dist/templates/commons/content/pages/home.json +2 -2
  49. package/dist/templates/commons/content/pages/join.json +1 -1
  50. package/dist/templates/commons/content/site.json +3 -3
  51. package/dist/templates/commons/content/styles.json +1 -1
  52. package/dist/templates/commons/openspace.json +2 -2
  53. package/dist/templates/commons/template.json +3 -3
  54. package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
  55. package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
  56. package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
  57. package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
  58. package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
  59. package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
  60. package/dist/templates/darkroom/content/pages/about.json +449 -0
  61. package/dist/templates/darkroom/content/pages/contact.json +185 -0
  62. package/dist/templates/darkroom/content/pages/home.json +636 -0
  63. package/dist/templates/darkroom/content/pages/services.json +636 -0
  64. package/dist/templates/darkroom/content/site.json +264 -0
  65. package/dist/templates/darkroom/content/styles.json +17 -0
  66. package/dist/templates/darkroom/media/LICENSES.json +284 -0
  67. package/dist/templates/darkroom/openspace.json +21 -0
  68. package/dist/templates/darkroom/template.json +103 -0
  69. package/dist/templates/encore/content/pages/about.json +1 -1
  70. package/dist/templates/encore/content/pages/contact.json +1 -1
  71. package/dist/templates/encore/content/pages/home.json +87 -1
  72. package/dist/templates/encore/content/pages/music.json +1 -1
  73. package/dist/templates/encore/content/site.json +1 -1
  74. package/dist/templates/encore/content/styles.json +1 -1
  75. package/dist/templates/encore/media/LICENSES.json +22 -0
  76. package/dist/templates/encore/openspace.json +2 -2
  77. package/dist/templates/encore/template.json +1 -1
  78. package/dist/templates/field-notes/content/pages/about.json +1 -1
  79. package/dist/templates/field-notes/content/pages/contact.json +1 -1
  80. package/dist/templates/field-notes/content/pages/home.json +95 -1
  81. package/dist/templates/field-notes/content/pages/subscribe.json +1 -1
  82. package/dist/templates/field-notes/content/site.json +1 -1
  83. package/dist/templates/field-notes/content/styles.json +1 -1
  84. package/dist/templates/field-notes/openspace.json +2 -2
  85. package/dist/templates/field-notes/template.json +1 -1
  86. package/dist/templates/fixwell/content/pages/about.json +508 -0
  87. package/dist/templates/fixwell/content/pages/contact.json +321 -0
  88. package/dist/templates/fixwell/content/pages/home.json +888 -0
  89. package/dist/templates/fixwell/content/pages/pricing.json +467 -0
  90. package/dist/templates/fixwell/content/pages/services.json +648 -0
  91. package/dist/templates/fixwell/content/site.json +293 -0
  92. package/dist/templates/fixwell/content/styles.json +17 -0
  93. package/dist/templates/fixwell/media/LICENSES.json +119 -0
  94. package/dist/templates/fixwell/openspace.json +21 -0
  95. package/dist/templates/fixwell/template.json +108 -0
  96. package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
  97. package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
  98. package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
  99. package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
  100. package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
  101. package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
  102. package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
  103. package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
  104. package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
  105. package/dist/templates/folio/content/pages/about.json +366 -0
  106. package/dist/templates/folio/content/pages/contact.json +218 -0
  107. package/dist/templates/folio/content/pages/experience.json +552 -0
  108. package/dist/templates/folio/content/pages/home.json +410 -0
  109. package/dist/templates/folio/content/site.json +186 -0
  110. package/dist/templates/folio/content/styles.json +17 -0
  111. package/dist/templates/folio/media/LICENSES.json +229 -0
  112. package/dist/templates/folio/openspace.json +21 -0
  113. package/dist/templates/folio/template.json +103 -0
  114. package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
  115. package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
  116. package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
  117. package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
  118. package/dist/templates/gather/content/pages/about.json +435 -0
  119. package/dist/templates/gather/content/pages/contact.json +196 -0
  120. package/dist/templates/gather/content/pages/home.json +527 -0
  121. package/dist/templates/gather/content/pages/programme.json +449 -0
  122. package/dist/templates/gather/content/pages/speakers.json +225 -0
  123. package/dist/templates/gather/content/pages/tickets.json +495 -0
  124. package/dist/templates/gather/content/pages/venue.json +382 -0
  125. package/dist/templates/gather/content/site.json +222 -0
  126. package/dist/templates/gather/content/styles.json +17 -0
  127. package/dist/templates/gather/media/LICENSES.json +185 -0
  128. package/dist/templates/gather/openspace.json +21 -0
  129. package/dist/templates/gather/template.json +118 -0
  130. package/dist/templates/harbor/content/pages/about.json +1 -1
  131. package/dist/templates/harbor/content/pages/contact.json +1 -1
  132. package/dist/templates/harbor/content/pages/get-involved.json +1 -1
  133. package/dist/templates/harbor/content/pages/home.json +1 -1
  134. package/dist/templates/harbor/content/pages/programs.json +1 -1
  135. package/dist/templates/harbor/content/site.json +1 -1
  136. package/dist/templates/harbor/content/styles.json +1 -1
  137. package/dist/templates/harbor/openspace.json +2 -2
  138. package/dist/templates/harbor/template.json +1 -1
  139. package/dist/templates/hearth/content/pages/about.json +1 -1
  140. package/dist/templates/hearth/content/pages/home.json +1 -1
  141. package/dist/templates/hearth/content/pages/menu.json +1 -1
  142. package/dist/templates/hearth/content/pages/private-dining.json +1 -1
  143. package/dist/templates/hearth/content/pages/visit.json +1 -1
  144. package/dist/templates/hearth/content/site.json +1 -1
  145. package/dist/templates/hearth/content/styles.json +1 -1
  146. package/dist/templates/hearth/openspace.json +2 -2
  147. package/dist/templates/hearth/template.json +1 -1
  148. package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
  149. package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
  150. package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
  151. package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
  152. package/dist/templates/inkwell/content/pages/about.json +281 -0
  153. package/dist/templates/inkwell/content/pages/books.json +459 -0
  154. package/dist/templates/inkwell/content/pages/contact.json +201 -0
  155. package/dist/templates/inkwell/content/pages/home.json +457 -0
  156. package/dist/templates/inkwell/content/pages/speaking.json +522 -0
  157. package/dist/templates/inkwell/content/site.json +222 -0
  158. package/dist/templates/inkwell/content/styles.json +17 -0
  159. package/dist/templates/inkwell/media/LICENSES.json +119 -0
  160. package/dist/templates/inkwell/openspace.json +21 -0
  161. package/dist/templates/inkwell/template.json +108 -0
  162. package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
  163. package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
  164. package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
  165. package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
  166. package/dist/templates/keystone/content/pages/about.json +371 -0
  167. package/dist/templates/keystone/content/pages/contact.json +207 -0
  168. package/dist/templates/keystone/content/pages/home.json +815 -0
  169. package/dist/templates/keystone/content/pages/results.json +396 -0
  170. package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
  171. package/dist/templates/keystone/content/site.json +224 -0
  172. package/dist/templates/keystone/content/styles.json +17 -0
  173. package/dist/templates/keystone/media/LICENSES.json +75 -0
  174. package/dist/templates/keystone/openspace.json +21 -0
  175. package/dist/templates/keystone/template.json +108 -0
  176. package/dist/templates/kiln/content/pages/about.json +1 -1
  177. package/dist/templates/kiln/content/pages/contact.json +1 -1
  178. package/dist/templates/kiln/content/pages/home.json +1 -1
  179. package/dist/templates/kiln/content/pages/workshops.json +1 -1
  180. package/dist/templates/kiln/content/site.json +1 -1
  181. package/dist/templates/kiln/content/styles.json +1 -1
  182. package/dist/templates/kiln/openspace.json +2 -2
  183. package/dist/templates/kiln/template.json +1 -1
  184. package/dist/templates/ledger/content/pages/about.json +1 -1
  185. package/dist/templates/ledger/content/pages/contact.json +1 -1
  186. package/dist/templates/ledger/content/pages/home.json +63 -1
  187. package/dist/templates/ledger/content/pages/services.json +1 -1
  188. package/dist/templates/ledger/content/site.json +1 -1
  189. package/dist/templates/ledger/content/styles.json +1 -1
  190. package/dist/templates/ledger/openspace.json +2 -2
  191. package/dist/templates/ledger/template.json +1 -1
  192. package/dist/templates/link/content/pages/home.json +1 -1
  193. package/dist/templates/link/content/site.json +1 -1
  194. package/dist/templates/link/content/styles.json +1 -1
  195. package/dist/templates/link/openspace.json +2 -2
  196. package/dist/templates/link/template.json +1 -1
  197. package/dist/templates/meadow/content/pages/about.json +1 -1
  198. package/dist/templates/meadow/content/pages/bodywork.json +1 -1
  199. package/dist/templates/meadow/content/pages/classes.json +1 -1
  200. package/dist/templates/meadow/content/pages/contact.json +1 -1
  201. package/dist/templates/meadow/content/pages/home.json +1 -1
  202. package/dist/templates/meadow/content/site.json +1 -1
  203. package/dist/templates/meadow/content/styles.json +1 -1
  204. package/dist/templates/meadow/openspace.json +2 -2
  205. package/dist/templates/meadow/template.json +1 -1
  206. package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
  207. package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
  208. package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
  209. package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
  210. package/dist/templates/orbit/content/pages/about.json +396 -0
  211. package/dist/templates/orbit/content/pages/contact.json +195 -0
  212. package/dist/templates/orbit/content/pages/features.json +603 -0
  213. package/dist/templates/orbit/content/pages/home.json +1273 -0
  214. package/dist/templates/orbit/content/pages/pricing.json +608 -0
  215. package/dist/templates/orbit/content/site.json +368 -0
  216. package/dist/templates/orbit/content/styles.json +17 -0
  217. package/dist/templates/orbit/media/LICENSES.json +141 -0
  218. package/dist/templates/orbit/openspace.json +21 -0
  219. package/dist/templates/orbit/template.json +108 -0
  220. package/dist/templates/signal/content/pages/about.json +1 -1
  221. package/dist/templates/signal/content/pages/contact.json +1 -1
  222. package/dist/templates/signal/content/pages/home.json +1 -1
  223. package/dist/templates/signal/content/pages/pricing.json +1 -1
  224. package/dist/templates/signal/content/site.json +1 -1
  225. package/dist/templates/signal/content/styles.json +1 -1
  226. package/dist/templates/signal/openspace.json +2 -2
  227. package/dist/templates/signal/template.json +1 -1
  228. package/dist/templates/vow/content/pages/about.json +1 -1
  229. package/dist/templates/vow/content/pages/home.json +1 -1
  230. package/dist/templates/vow/content/pages/registry.json +1 -1
  231. package/dist/templates/vow/content/pages/rsvp.json +1 -1
  232. package/dist/templates/vow/content/pages/schedule.json +1 -1
  233. package/dist/templates/vow/content/pages/travel.json +1 -1
  234. package/dist/templates/vow/content/site.json +1 -1
  235. package/dist/templates/vow/content/styles.json +1 -1
  236. package/dist/templates/vow/openspace.json +2 -2
  237. package/dist/templates/vow/template.json +1 -1
  238. package/package.json +7 -7
  239. package/dist/chunk-AAMRGTSI.js.map +0 -1
  240. package/dist/chunk-TQZ5F7VG.js.map +0 -1
  241. /package/dist/{agents-md-7DESZGEN.js.map → agents-md-PVK5NBFF.js.map} +0 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://schema.openspace.host/v1/styles.json",
3
+ "choices": {
4
+ "palette": {
5
+ "brand": "oklch(0.45 0.08 200)",
6
+ "neutral": "warm",
7
+ "contrast": "standard",
8
+ "source": "curated"
9
+ },
10
+ "pairing": "lora-inter",
11
+ "density": "airy",
12
+ "shape": "soft",
13
+ "buttons": "solid",
14
+ "motion": "subtle",
15
+ "imageTreatment": "rounded"
16
+ }
17
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "$comment": "Licenses for the demo media in the Keystone template. Replace the demo photos with your own; this file can be deleted once none of them are used.",
3
+ "design": {
4
+ "license": "CC-BY-4.0",
5
+ "licenseUrl": "https://creativecommons.org/licenses/by/4.0/"
6
+ },
7
+ "media": [
8
+ {
9
+ "kind": "image",
10
+ "src": "https://images.unsplash.com/photo-1522529599102-193c0d76b5b6",
11
+ "title": "A smiling man in a grey t-shirt outdoors",
12
+ "author": "Elizeu Dias",
13
+ "authorUrl": "https://unsplash.com/@elishavision",
14
+ "source": "Unsplash",
15
+ "sourceUrl": "https://unsplash.com/photos/selective-focus-of-man-smiling-during-daytime-2EGNqazbAMk",
16
+ "license": "Unsplash License",
17
+ "licenseUrl": "https://unsplash.com/license"
18
+ },
19
+ {
20
+ "kind": "image",
21
+ "src": "https://images.unsplash.com/photo-1544005313-94ddf0286df2",
22
+ "title": "Portrait of a woman with long brown hair in a striped shirt",
23
+ "author": "Štefan Štefančík",
24
+ "authorUrl": "https://unsplash.com/@cikstefan",
25
+ "source": "Unsplash",
26
+ "sourceUrl": "https://unsplash.com/photos/smiling-woman-wearing-white-and-black-pinstriped-collared-top-QXevDflbl8A",
27
+ "license": "Unsplash License",
28
+ "licenseUrl": "https://unsplash.com/license"
29
+ },
30
+ {
31
+ "kind": "image",
32
+ "src": "https://images.unsplash.com/photo-1573497620053-ea5300f94f21",
33
+ "title": "Two women talking across a small round table",
34
+ "author": "Christina @ wocintechchat.com M",
35
+ "authorUrl": "https://unsplash.com/@wocintechchat",
36
+ "source": "Unsplash",
37
+ "sourceUrl": "https://unsplash.com/photos/two-women-sitting-on-chair-eF7HN40WbAQ",
38
+ "license": "Unsplash License",
39
+ "licenseUrl": "https://unsplash.com/license"
40
+ },
41
+ {
42
+ "kind": "image",
43
+ "src": "https://images.unsplash.com/photo-1580489944761-15a19d654956",
44
+ "title": "Portrait of a woman with dark hair pinned up, smiling",
45
+ "author": "Jake Nackos",
46
+ "authorUrl": "https://unsplash.com/@jakenackos",
47
+ "source": "Unsplash",
48
+ "sourceUrl": "https://unsplash.com/photos/woman-in-white-crew-neck-shirt-smiling-IF9TK5Uy-KI",
49
+ "license": "Unsplash License",
50
+ "licenseUrl": "https://unsplash.com/license"
51
+ },
52
+ {
53
+ "kind": "image",
54
+ "src": "https://images.unsplash.com/photo-1581065178047-8ee15951ede6",
55
+ "title": "A woman in a dark blazer resting her chin on her hand",
56
+ "author": "Annika Palmari",
57
+ "authorUrl": "https://unsplash.com/@palmariannika",
58
+ "source": "Unsplash",
59
+ "sourceUrl": "https://unsplash.com/photos/woman-in-black-blazer-smiling-RIt88XBR3G0",
60
+ "license": "Unsplash License",
61
+ "licenseUrl": "https://unsplash.com/license"
62
+ },
63
+ {
64
+ "kind": "image",
65
+ "src": "https://images.unsplash.com/photo-1780387477222-730504564368",
66
+ "title": "Portrait of a smiling grey-haired woman in a beige jumpsuit",
67
+ "author": "Centre for Ageing Better",
68
+ "authorUrl": "https://unsplash.com/@ageing_better",
69
+ "source": "Unsplash",
70
+ "sourceUrl": "https://unsplash.com/photos/woman-in-beige-jumpsuit-smiling-sitting-on-a-stool-IxacjtwPdGM",
71
+ "license": "Unsplash License",
72
+ "licenseUrl": "https://unsplash.com/license"
73
+ }
74
+ ]
75
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://schema.openspace.host/v1/site-config.json",
3
+ "siteId": "st_thfdtjgh7v",
4
+ "schemaVersion": 1,
5
+ "template": {
6
+ "id": "keystone",
7
+ "version": "1.0.0"
8
+ },
9
+ "hub": "https://hub.openspace.host",
10
+ "deploy": {
11
+ "target": "github-pages",
12
+ "url": "https://example.github.io/keystone",
13
+ "customDomain": null
14
+ },
15
+ "features": {
16
+ "forms": true,
17
+ "newsletter": true,
18
+ "analytics": true,
19
+ "search": false
20
+ }
21
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "$schema": "https://schema.openspace.host/v1/template.json",
3
+ "id": "keystone",
4
+ "name": "Keystone",
5
+ "description": "A calm, type-led site for consultants and coaches, with ways to work together and prices, client results, short essays and a discovery-call form.",
6
+ "persona": "Consultants & coaches",
7
+ "mood": "Calm, candid, assured",
8
+ "version": "1.0.0",
9
+ "tags": [
10
+ "coach",
11
+ "consultant",
12
+ "personal-brand",
13
+ "services",
14
+ "case-studies",
15
+ "booking"
16
+ ],
17
+ "sample": {
18
+ "name": "Nadia Brooks",
19
+ "tagline": "Leadership coaching for first-time founders."
20
+ },
21
+ "thumbnailPage": "pg_ryz88vw8tt",
22
+ "looks": [
23
+ {
24
+ "id": "slate",
25
+ "name": "Slate",
26
+ "description": "Warm paper, a deep teal accent and Lora headings.",
27
+ "choices": {
28
+ "palette": {
29
+ "brand": "oklch(0.45 0.08 200)",
30
+ "neutral": "warm",
31
+ "contrast": "standard",
32
+ "source": "curated"
33
+ },
34
+ "pairing": "lora-inter",
35
+ "density": "airy",
36
+ "shape": "soft",
37
+ "buttons": "solid",
38
+ "motion": "subtle",
39
+ "imageTreatment": "rounded"
40
+ }
41
+ },
42
+ {
43
+ "id": "clay",
44
+ "name": "Clay",
45
+ "description": "A terracotta accent, Crimson Pro headings and round pill buttons.",
46
+ "choices": {
47
+ "palette": {
48
+ "brand": "oklch(0.58 0.12 40)",
49
+ "neutral": "warm",
50
+ "contrast": "standard",
51
+ "source": "curated"
52
+ },
53
+ "pairing": "crimson-figtree",
54
+ "density": "comfortable",
55
+ "shape": "round",
56
+ "buttons": "pill-solid",
57
+ "motion": "subtle",
58
+ "imageTreatment": "circle"
59
+ }
60
+ },
61
+ {
62
+ "id": "boardroom",
63
+ "name": "Boardroom",
64
+ "description": "Ink blue, Manrope throughout and crisp square corners.",
65
+ "choices": {
66
+ "palette": {
67
+ "brand": "oklch(0.4 0.1 260)",
68
+ "neutral": "cool",
69
+ "contrast": "standard",
70
+ "source": "brand"
71
+ },
72
+ "pairing": "manrope",
73
+ "density": "comfortable",
74
+ "shape": "sharp",
75
+ "buttons": "outline",
76
+ "motion": "none",
77
+ "imageTreatment": "none"
78
+ }
79
+ }
80
+ ],
81
+ "pages": [
82
+ {
83
+ "id": "pg_ryz88vw8tt",
84
+ "title": "Home",
85
+ "slug": ""
86
+ },
87
+ {
88
+ "id": "pg_jharvnhbcs",
89
+ "title": "Work with me",
90
+ "slug": "work-with-me"
91
+ },
92
+ {
93
+ "id": "pg_qdg648vcs6",
94
+ "title": "Results",
95
+ "slug": "results"
96
+ },
97
+ {
98
+ "id": "pg_ef4c6yegp8",
99
+ "title": "About",
100
+ "slug": "about"
101
+ },
102
+ {
103
+ "id": "pg_we99b7t8j0",
104
+ "title": "Contact",
105
+ "slug": "contact"
106
+ }
107
+ ]
108
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_me0855hfs5",
4
4
  "title": "About",
5
5
  "slug": "about",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_qpse8ffgrr",
4
4
  "title": "Contact",
5
5
  "slug": "contact",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_szfgyxn8pz",
4
4
  "title": "Home",
5
5
  "slug": "",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_rgdkzzbgjy",
4
4
  "title": "Workshops",
5
5
  "slug": "workshops",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site.json",
2
+ "$schema": "https://schema.openspace.host/v1/site.json",
3
3
  "title": "Saltmarsh Pottery",
4
4
  "tagline": "Pots for everyday rituals.",
5
5
  "nav": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/styles.json",
2
+ "$schema": "https://schema.openspace.host/v1/styles.json",
3
3
  "choices": {
4
4
  "palette": {
5
5
  "brand": "oklch(0.52 0.08 50)",
@@ -1,12 +1,12 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site-config.json",
2
+ "$schema": "https://schema.openspace.host/v1/site-config.json",
3
3
  "siteId": "st_pp2mxjq3a1",
4
4
  "schemaVersion": 1,
5
5
  "template": {
6
6
  "id": "kiln",
7
7
  "version": "1.0.0"
8
8
  },
9
- "hub": "https://hub.openspace.dev",
9
+ "hub": "https://hub.openspace.host",
10
10
  "deploy": {
11
11
  "target": "github-pages",
12
12
  "url": "https://example.github.io/kiln",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/template.json",
2
+ "$schema": "https://schema.openspace.host/v1/template.json",
3
3
  "id": "kiln",
4
4
  "name": "Kiln",
5
5
  "description": "A tactile, crafted site for makers and small shops: a product grid, the maker's story and weekend workshops, ready for checkout when commerce arrives.",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_xqtrkthjqy",
4
4
  "title": "About",
5
5
  "slug": "about",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_h1dexgwrz0",
4
4
  "title": "Contact",
5
5
  "slug": "contact",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_haqyew0wc8",
4
4
  "title": "Home",
5
5
  "slug": "",
@@ -314,6 +314,68 @@
314
314
  }
315
315
  ]
316
316
  },
317
+ {
318
+ "id": "sec_p1ms79zh57",
319
+ "preset": "process/phases-horizontal@1",
320
+ "label": "Project phases",
321
+ "layout": {
322
+ "mode": "stack",
323
+ "columns": {
324
+ "d": [
325
+ 12
326
+ ]
327
+ },
328
+ "gap": "xl"
329
+ },
330
+ "style": {
331
+ "colorTheme": "light"
332
+ },
333
+ "blocks": [
334
+ {
335
+ "id": "blk_vpq1j54tzq",
336
+ "type": "heading",
337
+ "v": 1,
338
+ "fields": {
339
+ "text": "Twelve weeks from chaos to calm",
340
+ "level": "h2",
341
+ "size": "auto",
342
+ "eyebrow": "How it works",
343
+ "subheading": "Every operations reset follows the same rhythm, so your team always knows what's coming and what I need from them."
344
+ },
345
+ "variant": "plain"
346
+ },
347
+ {
348
+ "id": "blk_mc2c8cdcwk",
349
+ "type": "timeline",
350
+ "v": 1,
351
+ "fields": {
352
+ "items": [
353
+ {
354
+ "date": "Weeks 1–2",
355
+ "title": "Listen",
356
+ "text": "Interviews with the team and a look at how work really flows."
357
+ },
358
+ {
359
+ "date": "Weeks 3–6",
360
+ "title": "Untangle",
361
+ "text": "Fix the three bottlenecks that cost the most time."
362
+ },
363
+ {
364
+ "date": "Weeks 7–10",
365
+ "title": "Install",
366
+ "text": "Weekly rituals, dashboards and clear owners."
367
+ },
368
+ {
369
+ "date": "Weeks 11–12",
370
+ "title": "Hand over",
371
+ "text": "Written playbooks and a check-in at three months."
372
+ }
373
+ ]
374
+ },
375
+ "variant": "horizontal"
376
+ }
377
+ ]
378
+ },
317
379
  {
318
380
  "id": "sec_77q7w7t028",
319
381
  "preset": "stats/cards@1",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_5xz5p00ed7",
4
4
  "title": "Services",
5
5
  "slug": "services",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site.json",
2
+ "$schema": "https://schema.openspace.host/v1/site.json",
3
3
  "title": "Calder Advisory",
4
4
  "tagline": "Calm operations for companies that grew fast.",
5
5
  "nav": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/styles.json",
2
+ "$schema": "https://schema.openspace.host/v1/styles.json",
3
3
  "choices": {
4
4
  "palette": {
5
5
  "brand": "oklch(0.42 0.08 160)",
@@ -1,12 +1,12 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site-config.json",
2
+ "$schema": "https://schema.openspace.host/v1/site-config.json",
3
3
  "siteId": "st_s16aw2bm93",
4
4
  "schemaVersion": 1,
5
5
  "template": {
6
6
  "id": "ledger",
7
7
  "version": "1.0.0"
8
8
  },
9
- "hub": "https://hub.openspace.dev",
9
+ "hub": "https://hub.openspace.host",
10
10
  "deploy": {
11
11
  "target": "github-pages",
12
12
  "url": "https://example.github.io/ledger",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/template.json",
2
+ "$schema": "https://schema.openspace.host/v1/template.json",
3
3
  "id": "ledger",
4
4
  "name": "Ledger",
5
5
  "description": "A crisp, editorial site for consultants, coaches and freelancers, with case studies, services framed by outcomes and a booking call to action.",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_m8n27v4m94",
4
4
  "title": "Home",
5
5
  "slug": "",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site.json",
2
+ "$schema": "https://schema.openspace.host/v1/site.json",
3
3
  "title": "Kai Moreno",
4
4
  "tagline": "Weeknight recipes with big flavour and few dishes.",
5
5
  "nav": [],
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/styles.json",
2
+ "$schema": "https://schema.openspace.host/v1/styles.json",
3
3
  "choices": {
4
4
  "palette": {
5
5
  "brand": "oklch(0.78 0.15 80)",
@@ -1,12 +1,12 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site-config.json",
2
+ "$schema": "https://schema.openspace.host/v1/site-config.json",
3
3
  "siteId": "st_6xg0chvez7",
4
4
  "schemaVersion": 1,
5
5
  "template": {
6
6
  "id": "link",
7
7
  "version": "1.0.0"
8
8
  },
9
- "hub": "https://hub.openspace.dev",
9
+ "hub": "https://hub.openspace.host",
10
10
  "deploy": {
11
11
  "target": "github-pages",
12
12
  "url": "https://example.github.io/link",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/template.json",
2
+ "$schema": "https://schema.openspace.host/v1/template.json",
3
3
  "id": "link",
4
4
  "name": "Link",
5
5
  "description": "A punchy, mobile-first link-in-bio page with stacked link buttons, a pinned social feed, a newsletter signup and all your profiles.",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_sat2c09jw4",
4
4
  "title": "About",
5
5
  "slug": "about",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_xmmxstbmvf",
4
4
  "title": "Bodywork",
5
5
  "slug": "bodywork",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_f7jcnz65me",
4
4
  "title": "Classes",
5
5
  "slug": "classes",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_av2p7shq0g",
4
4
  "title": "Contact",
5
5
  "slug": "contact",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/page.json",
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
3
  "id": "pg_13fyssvz8c",
4
4
  "title": "Home",
5
5
  "slug": "",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site.json",
2
+ "$schema": "https://schema.openspace.host/v1/site.json",
3
3
  "title": "Fernwood Yoga & Bodywork",
4
4
  "tagline": "Slow yoga and bodywork for real bodies.",
5
5
  "nav": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/styles.json",
2
+ "$schema": "https://schema.openspace.host/v1/styles.json",
3
3
  "choices": {
4
4
  "palette": {
5
5
  "brand": "oklch(0.62 0.07 145)",
@@ -1,12 +1,12 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/site-config.json",
2
+ "$schema": "https://schema.openspace.host/v1/site-config.json",
3
3
  "siteId": "st_90esgmvv33",
4
4
  "schemaVersion": 1,
5
5
  "template": {
6
6
  "id": "meadow",
7
7
  "version": "1.0.0"
8
8
  },
9
- "hub": "https://hub.openspace.dev",
9
+ "hub": "https://hub.openspace.host",
10
10
  "deploy": {
11
11
  "target": "github-pages",
12
12
  "url": "https://example.github.io/meadow",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://schema.openspace.dev/v1/template.json",
2
+ "$schema": "https://schema.openspace.host/v1/template.json",
3
3
  "id": "meadow",
4
4
  "name": "Meadow",
5
5
  "description": "A calm, airy site for yoga studios, therapists and bodyworkers, with a weekly class schedule, treatments and online booking.",
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ title: Faster attachments on slow connections
4
+ date: 2026-09-21
5
+ author: Rafael Costa
6
+ categories:
7
+ - fixed
8
+ excerpt: Large screenshots now upload in the background, so you can keep typing.
9
+ ---
10
+
11
+ Attachments now upload in the background while you write. On slow connections, replies send about twice as fast.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ title: Snooze until the customer replies
4
+ date: 2026-10-05
5
+ author: Maya Chen
6
+ categories:
7
+ - improved
8
+ excerpt: A new snooze option keeps waiting conversations out of your queue until there's news.
9
+ ---
10
+
11
+ Waiting on a customer? Snooze a conversation *until they reply* and it leaves your queue. If they haven't answered in a week, Relay brings it back with a gentle nudge.
@@ -0,0 +1,13 @@
1
+ ---
2
+ status: published
3
+ title: Help centre search that understands typos
4
+ date: 2026-10-19
5
+ author: Jonah Ellis
6
+ categories:
7
+ - new
8
+ excerpt: Customers now find the right article even when they misspell what they're looking for.
9
+ ---
10
+
11
+ Help centre search now tolerates typos and plurals, and shows the best paragraph from each article in the results.
12
+
13
+ It's on for every help centre — nothing to switch on.