@omniharmonic/openspace-cli 0.0.0-stage → 0.1.1

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 (205) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +74 -2
  3. package/dist/agents-md-2DTXWUZQ.js +8 -0
  4. package/dist/agents-md-2DTXWUZQ.js.map +1 -0
  5. package/dist/bin.d.ts +1 -0
  6. package/dist/bin.js +11 -0
  7. package/dist/bin.js.map +1 -0
  8. package/dist/chunk-3F6TAUAT.js +41167 -0
  9. package/dist/chunk-3F6TAUAT.js.map +1 -0
  10. package/dist/chunk-LTJEM3DN.js +17161 -0
  11. package/dist/chunk-LTJEM3DN.js.map +1 -0
  12. package/dist/index.d.ts +83 -0
  13. package/dist/index.js +23 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/starter/site/.github/workflows/publish.yml +38 -0
  16. package/dist/starter/site/AGENTS.md +392 -0
  17. package/dist/starter/site/astro.config.mjs +8 -0
  18. package/dist/starter/site/package.json +21 -0
  19. package/dist/starter/site/public/.gitkeep +0 -0
  20. package/dist/starter/site/src/pages/[...slug].astro +10 -0
  21. package/dist/starter/site/tsconfig.json +5 -0
  22. package/dist/starter/variants/cloudflare/.github/openspace/gated-sync.mjs +121 -0
  23. package/dist/starter/variants/cloudflare/.github/workflows/publish.yml +70 -0
  24. package/dist/starter/variants/cloudflare/astro.config.mjs +11 -0
  25. package/dist/starter/variants/cloudflare/package.json +23 -0
  26. package/dist/starter/variants/cloudflare/wrangler.jsonc +13 -0
  27. package/dist/templates/atelier/content/collections/projects/_collection.json +13 -0
  28. package/dist/templates/atelier/content/collections/projects/cordillera.mdoc +32 -0
  29. package/dist/templates/atelier/content/collections/projects/field-studies.mdoc +32 -0
  30. package/dist/templates/atelier/content/collections/projects/salt-and-glass.mdoc +32 -0
  31. package/dist/templates/atelier/content/collections/projects/white-city.mdoc +32 -0
  32. package/dist/templates/atelier/content/pages/about.json +180 -0
  33. package/dist/templates/atelier/content/pages/commissions.json +307 -0
  34. package/dist/templates/atelier/content/pages/contact.json +117 -0
  35. package/dist/templates/atelier/content/pages/home.json +524 -0
  36. package/dist/templates/atelier/content/pages/work.json +332 -0
  37. package/dist/templates/atelier/content/site.json +190 -0
  38. package/dist/templates/atelier/content/styles.json +25 -0
  39. package/dist/templates/atelier/media/LICENSES.json +218 -0
  40. package/dist/templates/atelier/openspace.json +21 -0
  41. package/dist/templates/atelier/template.json +115 -0
  42. package/dist/templates/commons/content/collections/gatherings/_collection.json +13 -0
  43. package/dist/templates/commons/content/collections/gatherings/grant-writing-workshop.mdoc +17 -0
  44. package/dist/templates/commons/content/collections/gatherings/seed-swap.mdoc +16 -0
  45. package/dist/templates/commons/content/collections/gatherings/winter-general-assembly.mdoc +17 -0
  46. package/dist/templates/commons/content/pages/about.json +227 -0
  47. package/dist/templates/commons/content/pages/home.json +540 -0
  48. package/dist/templates/commons/content/pages/join.json +304 -0
  49. package/dist/templates/commons/content/pages/members.json +499 -0
  50. package/dist/templates/commons/content/site.json +306 -0
  51. package/dist/templates/commons/content/styles.json +27 -0
  52. package/dist/templates/commons/media/LICENSES.json +108 -0
  53. package/dist/templates/commons/openspace.json +21 -0
  54. package/dist/templates/commons/template.json +113 -0
  55. package/dist/templates/encore/content/collections/sessions/_collection.json +19 -0
  56. package/dist/templates/encore/content/collections/sessions/session-10-headphones-on.mdoc +16 -0
  57. package/dist/templates/encore/content/collections/sessions/session-11-neon-tide.mdoc +16 -0
  58. package/dist/templates/encore/content/collections/sessions/session-12-slow-static.mdoc +16 -0
  59. package/dist/templates/encore/content/collections/tour/_collection.json +13 -0
  60. package/dist/templates/encore/content/collections/tour/brooklyn-elsewhere.mdoc +18 -0
  61. package/dist/templates/encore/content/collections/tour/chicago-thalia-hall.mdoc +18 -0
  62. package/dist/templates/encore/content/collections/tour/london-electric-ballroom.mdoc +18 -0
  63. package/dist/templates/encore/content/collections/tour/minneapolis-first-avenue.mdoc +18 -0
  64. package/dist/templates/encore/content/collections/tour/toronto-danforth.mdoc +18 -0
  65. package/dist/templates/encore/content/pages/about.json +251 -0
  66. package/dist/templates/encore/content/pages/contact.json +122 -0
  67. package/dist/templates/encore/content/pages/home.json +363 -0
  68. package/dist/templates/encore/content/pages/music.json +297 -0
  69. package/dist/templates/encore/content/site.json +293 -0
  70. package/dist/templates/encore/content/styles.json +17 -0
  71. package/dist/templates/encore/media/LICENSES.json +97 -0
  72. package/dist/templates/encore/openspace.json +21 -0
  73. package/dist/templates/encore/template.json +103 -0
  74. package/dist/templates/field-notes/content/collections/essays/_collection.json +31 -0
  75. package/dist/templates/field-notes/content/collections/essays/a-year-of-apples.mdoc +25 -0
  76. package/dist/templates/field-notes/content/collections/essays/learning-a-field.mdoc +32 -0
  77. package/dist/templates/field-notes/content/collections/essays/small-weather.mdoc +25 -0
  78. package/dist/templates/field-notes/content/collections/essays/the-wall-builders.mdoc +29 -0
  79. package/dist/templates/field-notes/content/pages/about.json +236 -0
  80. package/dist/templates/field-notes/content/pages/contact.json +116 -0
  81. package/dist/templates/field-notes/content/pages/home.json +428 -0
  82. package/dist/templates/field-notes/content/pages/subscribe.json +273 -0
  83. package/dist/templates/field-notes/content/site.json +218 -0
  84. package/dist/templates/field-notes/content/styles.json +27 -0
  85. package/dist/templates/field-notes/media/LICENSES.json +119 -0
  86. package/dist/templates/field-notes/openspace.json +21 -0
  87. package/dist/templates/field-notes/template.json +112 -0
  88. package/dist/templates/harbor/content/collections/events/_collection.json +13 -0
  89. package/dist/templates/harbor/content/collections/events/coat-drive-sorting-day.mdoc +17 -0
  90. package/dist/templates/harbor/content/collections/events/safe-at-home-build-day.mdoc +17 -0
  91. package/dist/templates/harbor/content/collections/events/spring-community-supper.mdoc +17 -0
  92. package/dist/templates/harbor/content/collections/events/winter-coat-giveaway.mdoc +16 -0
  93. package/dist/templates/harbor/content/collections/news/2026-08-28-back-to-school-at-homework-harbor.mdoc +17 -0
  94. package/dist/templates/harbor/content/collections/news/2026-09-15-meet-the-repair-crew.mdoc +21 -0
  95. package/dist/templates/harbor/content/collections/news/2026-10-08-the-2025-annual-report.mdoc +25 -0
  96. package/dist/templates/harbor/content/collections/news/_collection.json +34 -0
  97. package/dist/templates/harbor/content/pages/about.json +366 -0
  98. package/dist/templates/harbor/content/pages/contact.json +233 -0
  99. package/dist/templates/harbor/content/pages/get-involved.json +425 -0
  100. package/dist/templates/harbor/content/pages/home.json +524 -0
  101. package/dist/templates/harbor/content/pages/programs.json +611 -0
  102. package/dist/templates/harbor/content/site.json +377 -0
  103. package/dist/templates/harbor/content/styles.json +25 -0
  104. package/dist/templates/harbor/media/LICENSES.json +141 -0
  105. package/dist/templates/harbor/openspace.json +21 -0
  106. package/dist/templates/harbor/template.json +115 -0
  107. package/dist/templates/hearth/content/pages/about.json +246 -0
  108. package/dist/templates/hearth/content/pages/home.json +937 -0
  109. package/dist/templates/hearth/content/pages/menu.json +396 -0
  110. package/dist/templates/hearth/content/pages/private-dining.json +288 -0
  111. package/dist/templates/hearth/content/pages/visit.json +257 -0
  112. package/dist/templates/hearth/content/site.json +214 -0
  113. package/dist/templates/hearth/content/styles.json +25 -0
  114. package/dist/templates/hearth/media/LICENSES.json +196 -0
  115. package/dist/templates/hearth/openspace.json +21 -0
  116. package/dist/templates/hearth/template.json +116 -0
  117. package/dist/templates/kiln/content/collections/classes/_collection.json +13 -0
  118. package/dist/templates/kiln/content/collections/classes/glaze-day-march.mdoc +17 -0
  119. package/dist/templates/kiln/content/collections/classes/hand-building-february.mdoc +17 -0
  120. package/dist/templates/kiln/content/collections/classes/spring-studio-sale.mdoc +15 -0
  121. package/dist/templates/kiln/content/collections/classes/wheel-weekend-january.mdoc +17 -0
  122. package/dist/templates/kiln/content/collections/shop/_collection.json +14 -0
  123. package/dist/templates/kiln/content/collections/shop/ash-bud-vases.mdoc +18 -0
  124. package/dist/templates/kiln/content/collections/shop/harbor-planter.mdoc +18 -0
  125. package/dist/templates/kiln/content/collections/shop/morning-cup-pair.mdoc +24 -0
  126. package/dist/templates/kiln/content/collections/shop/sea-glass-planter.mdoc +18 -0
  127. package/dist/templates/kiln/content/collections/shop/tide-vase.mdoc +23 -0
  128. package/dist/templates/kiln/content/collections/shop/walnut-step-stool.mdoc +18 -0
  129. package/dist/templates/kiln/content/pages/about.json +344 -0
  130. package/dist/templates/kiln/content/pages/contact.json +232 -0
  131. package/dist/templates/kiln/content/pages/home.json +754 -0
  132. package/dist/templates/kiln/content/pages/workshops.json +352 -0
  133. package/dist/templates/kiln/content/site.json +263 -0
  134. package/dist/templates/kiln/content/styles.json +17 -0
  135. package/dist/templates/kiln/media/LICENSES.json +119 -0
  136. package/dist/templates/kiln/openspace.json +21 -0
  137. package/dist/templates/kiln/template.json +103 -0
  138. package/dist/templates/ledger/content/collections/case-studies/_collection.json +14 -0
  139. package/dist/templates/ledger/content/collections/case-studies/fieldwork-coffee.mdoc +29 -0
  140. package/dist/templates/ledger/content/collections/case-studies/larkspur-foods.mdoc +29 -0
  141. package/dist/templates/ledger/content/collections/case-studies/ostrander-clinics.mdoc +29 -0
  142. package/dist/templates/ledger/content/collections/insights/2026-08-10-one-page-of-numbers.mdoc +12 -0
  143. package/dist/templates/ledger/content/collections/insights/2026-09-07-hiring-your-first-coo.mdoc +17 -0
  144. package/dist/templates/ledger/content/collections/insights/2026-10-05-the-decision-log.mdoc +15 -0
  145. package/dist/templates/ledger/content/collections/insights/_collection.json +21 -0
  146. package/dist/templates/ledger/content/pages/about.json +298 -0
  147. package/dist/templates/ledger/content/pages/contact.json +158 -0
  148. package/dist/templates/ledger/content/pages/home.json +621 -0
  149. package/dist/templates/ledger/content/pages/services.json +639 -0
  150. package/dist/templates/ledger/content/site.json +336 -0
  151. package/dist/templates/ledger/content/styles.json +17 -0
  152. package/dist/templates/ledger/media/LICENSES.json +86 -0
  153. package/dist/templates/ledger/openspace.json +21 -0
  154. package/dist/templates/ledger/template.json +102 -0
  155. package/dist/templates/link/content/pages/home.json +278 -0
  156. package/dist/templates/link/content/site.json +168 -0
  157. package/dist/templates/link/content/styles.json +17 -0
  158. package/dist/templates/link/media/LICENSES.json +97 -0
  159. package/dist/templates/link/openspace.json +21 -0
  160. package/dist/templates/link/template.json +87 -0
  161. package/dist/templates/meadow/content/collections/journal/2026-09-02-meet-daniel.mdoc +20 -0
  162. package/dist/templates/meadow/content/collections/journal/2026-09-28-a-practice-for-dark-mornings.mdoc +24 -0
  163. package/dist/templates/meadow/content/collections/journal/2026-10-12-why-twelve-mats.mdoc +26 -0
  164. package/dist/templates/meadow/content/collections/journal/_collection.json +34 -0
  165. package/dist/templates/meadow/content/collections/workshops/_collection.json +13 -0
  166. package/dist/templates/meadow/content/collections/workshops/breath-and-rest-workshop.mdoc +17 -0
  167. package/dist/templates/meadow/content/collections/workshops/foundations-four-weeks.mdoc +17 -0
  168. package/dist/templates/meadow/content/collections/workshops/manzanita-spring-retreat.mdoc +17 -0
  169. package/dist/templates/meadow/content/collections/workshops/winter-solstice-restorative.mdoc +17 -0
  170. package/dist/templates/meadow/content/pages/about.json +344 -0
  171. package/dist/templates/meadow/content/pages/bodywork.json +330 -0
  172. package/dist/templates/meadow/content/pages/classes.json +820 -0
  173. package/dist/templates/meadow/content/pages/contact.json +240 -0
  174. package/dist/templates/meadow/content/pages/home.json +556 -0
  175. package/dist/templates/meadow/content/site.json +290 -0
  176. package/dist/templates/meadow/content/styles.json +25 -0
  177. package/dist/templates/meadow/media/LICENSES.json +130 -0
  178. package/dist/templates/meadow/openspace.json +21 -0
  179. package/dist/templates/meadow/template.json +116 -0
  180. package/dist/templates/signal/content/collections/changelog/2026-09-08-faster-sms.mdoc +11 -0
  181. package/dist/templates/signal/content/collections/changelog/2026-09-22-postmortem-drafts.mdoc +11 -0
  182. package/dist/templates/signal/content/collections/changelog/2026-10-06-quiet-hours.mdoc +13 -0
  183. package/dist/templates/signal/content/collections/changelog/2026-10-20-status-pages-that-update-themselves.mdoc +17 -0
  184. package/dist/templates/signal/content/collections/changelog/_collection.json +39 -0
  185. package/dist/templates/signal/content/pages/about.json +258 -0
  186. package/dist/templates/signal/content/pages/contact.json +122 -0
  187. package/dist/templates/signal/content/pages/home.json +1062 -0
  188. package/dist/templates/signal/content/pages/pricing.json +460 -0
  189. package/dist/templates/signal/content/site.json +345 -0
  190. package/dist/templates/signal/content/styles.json +17 -0
  191. package/dist/templates/signal/media/LICENSES.json +119 -0
  192. package/dist/templates/signal/openspace.json +21 -0
  193. package/dist/templates/signal/template.json +103 -0
  194. package/dist/templates/vow/content/pages/about.json +314 -0
  195. package/dist/templates/vow/content/pages/home.json +400 -0
  196. package/dist/templates/vow/content/pages/registry.json +207 -0
  197. package/dist/templates/vow/content/pages/rsvp.json +145 -0
  198. package/dist/templates/vow/content/pages/schedule.json +281 -0
  199. package/dist/templates/vow/content/pages/travel.json +326 -0
  200. package/dist/templates/vow/content/site.json +200 -0
  201. package/dist/templates/vow/content/styles.json +17 -0
  202. package/dist/templates/vow/media/LICENSES.json +130 -0
  203. package/dist/templates/vow/openspace.json +21 -0
  204. package/dist/templates/vow/template.json +113 -0
  205. package/package.json +71 -3
@@ -0,0 +1,1062 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_36n915vc00",
4
+ "title": "Home",
5
+ "slug": "",
6
+ "seo": {
7
+ "description": "Tidewire routes alerts, runs on-call schedules and writes the postmortem for you. Incident response for small engineering teams."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_bbdwdsmsk4",
12
+ "preset": "hero/marquee-launch@1",
13
+ "label": "Launch with ticker",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 12
19
+ ]
20
+ },
21
+ "width": "wide",
22
+ "gap": "xl"
23
+ },
24
+ "style": {
25
+ "colorTheme": "dark",
26
+ "padding": {
27
+ "d": "xl",
28
+ "m": "lg"
29
+ }
30
+ },
31
+ "blocks": [
32
+ {
33
+ "id": "blk_zgq58fnexf",
34
+ "type": "heading",
35
+ "v": 1,
36
+ "fields": {
37
+ "text": "Incident response for small engineering teams",
38
+ "level": "h1",
39
+ "size": "display",
40
+ "eyebrow": "New · Status pages that update themselves",
41
+ "subheading": "Tidewire routes alerts to the right person, runs your on-call rota and drafts the postmortem while you fix the problem. Set up in an afternoon, not a quarter."
42
+ },
43
+ "variant": "plain",
44
+ "style": {
45
+ "align": {
46
+ "d": "center"
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "id": "blk_hhtsnxj2mm",
52
+ "type": "button",
53
+ "v": 1,
54
+ "fields": {
55
+ "label": "Start free",
56
+ "link": {
57
+ "type": "url",
58
+ "url": "https://app.tidewire.example/signup"
59
+ },
60
+ "role": "primary",
61
+ "secondaryLabel": "See pricing",
62
+ "secondaryLink": {
63
+ "type": "page",
64
+ "page": "pg_m6t2wx7vce"
65
+ }
66
+ },
67
+ "variant": "large",
68
+ "style": {
69
+ "align": {
70
+ "d": "center"
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "id": "blk_mgrygc8ask",
76
+ "type": "marquee",
77
+ "v": 1,
78
+ "fields": {
79
+ "items": [
80
+ {
81
+ "text": "Alerts in under 3 seconds"
82
+ },
83
+ {
84
+ "text": "Slack-native incidents"
85
+ },
86
+ {
87
+ "text": "99.99% uptime SLA"
88
+ },
89
+ {
90
+ "text": "SOC 2 Type II"
91
+ },
92
+ {
93
+ "text": "Free for 5 responders"
94
+ }
95
+ ],
96
+ "separator": "star",
97
+ "size": "h3",
98
+ "speed": "slow"
99
+ },
100
+ "variant": "text"
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ "id": "sec_hbrq38cr8r",
106
+ "preset": "logos/row@1",
107
+ "label": "Logo row",
108
+ "layout": {
109
+ "mode": "stack",
110
+ "columns": {
111
+ "d": [
112
+ 12
113
+ ]
114
+ }
115
+ },
116
+ "style": {
117
+ "colorTheme": "dark",
118
+ "padding": {
119
+ "d": "md",
120
+ "m": "md"
121
+ }
122
+ },
123
+ "blocks": [
124
+ {
125
+ "id": "blk_rt3e9ym8xh",
126
+ "type": "logo-strip",
127
+ "v": 1,
128
+ "fields": {
129
+ "label": "On call with Tidewire",
130
+ "logos": [
131
+ {
132
+ "name": "Parcelly"
133
+ },
134
+ {
135
+ "name": "Northwind Health"
136
+ },
137
+ {
138
+ "name": "Kitebase"
139
+ },
140
+ {
141
+ "name": "Orchard Pay"
142
+ },
143
+ {
144
+ "name": "Ludo Labs"
145
+ }
146
+ ],
147
+ "monochrome": true
148
+ },
149
+ "variant": "row"
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ "id": "sec_akj7n56j2x",
155
+ "preset": "features/bento@1",
156
+ "label": "Bento grid",
157
+ "layout": {
158
+ "mode": "grid",
159
+ "rows": {
160
+ "d": 20,
161
+ "m": 41
162
+ },
163
+ "items": {
164
+ "blk_7086c6vhap": {
165
+ "d": {
166
+ "x": 1,
167
+ "y": 1,
168
+ "w": 10,
169
+ "h": 6
170
+ },
171
+ "m": {
172
+ "x": 1,
173
+ "y": 1,
174
+ "w": 8,
175
+ "h": 5
176
+ }
177
+ },
178
+ "blk_9nrek6sdce": {
179
+ "d": {
180
+ "x": 1,
181
+ "y": 9,
182
+ "w": 10,
183
+ "h": 12
184
+ },
185
+ "m": {
186
+ "x": 1,
187
+ "y": 7,
188
+ "w": 8,
189
+ "h": 9
190
+ }
191
+ },
192
+ "blk_62eqp5x2qp": {
193
+ "d": {
194
+ "x": 12,
195
+ "y": 1,
196
+ "w": 13,
197
+ "h": 11
198
+ },
199
+ "m": {
200
+ "x": 1,
201
+ "y": 17,
202
+ "w": 8,
203
+ "h": 9
204
+ }
205
+ },
206
+ "blk_63zy3xq5ze": {
207
+ "d": {
208
+ "x": 12,
209
+ "y": 13,
210
+ "w": 6,
211
+ "h": 8
212
+ },
213
+ "m": {
214
+ "x": 1,
215
+ "y": 27,
216
+ "w": 8,
217
+ "h": 7
218
+ }
219
+ },
220
+ "blk_1y25eqt0qg": {
221
+ "d": {
222
+ "x": 19,
223
+ "y": 13,
224
+ "w": 6,
225
+ "h": 8
226
+ },
227
+ "m": {
228
+ "x": 1,
229
+ "y": 35,
230
+ "w": 8,
231
+ "h": 7
232
+ }
233
+ }
234
+ }
235
+ },
236
+ "style": {
237
+ "colorTheme": "dark-accent"
238
+ },
239
+ "blocks": [
240
+ {
241
+ "id": "blk_7086c6vhap",
242
+ "type": "heading",
243
+ "v": 1,
244
+ "fields": {
245
+ "text": "Everything between the alert and the fix",
246
+ "level": "h2",
247
+ "size": "h2",
248
+ "eyebrow": "Product"
249
+ },
250
+ "variant": "plain"
251
+ },
252
+ {
253
+ "id": "blk_9nrek6sdce",
254
+ "type": "card",
255
+ "v": 1,
256
+ "fields": {
257
+ "aspect": "4:5",
258
+ "heading": "Alerts that find the right person",
259
+ "body": {
260
+ "type": "doc",
261
+ "content": [
262
+ {
263
+ "type": "paragraph",
264
+ "content": [
265
+ {
266
+ "type": "text",
267
+ "text": "Route by service, severity and time of day. Escalate automatically if nobody acknowledges in five minutes."
268
+ }
269
+ ]
270
+ }
271
+ ]
272
+ },
273
+ "icon": "zap"
274
+ },
275
+ "column": 0,
276
+ "variant": "minimal",
277
+ "style": {
278
+ "colorTheme": "brand"
279
+ }
280
+ },
281
+ {
282
+ "id": "blk_62eqp5x2qp",
283
+ "type": "image",
284
+ "v": 1,
285
+ "fields": {
286
+ "image": {
287
+ "src": "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1280&q=80",
288
+ "alt": "A dashboard of service health charts on a monitor",
289
+ "width": 1280,
290
+ "height": 853
291
+ },
292
+ "aspect": "original",
293
+ "lightbox": false
294
+ },
295
+ "variant": "default"
296
+ },
297
+ {
298
+ "id": "blk_63zy3xq5ze",
299
+ "type": "card",
300
+ "v": 1,
301
+ "fields": {
302
+ "aspect": "4:5",
303
+ "heading": "On-call that's fair",
304
+ "body": {
305
+ "type": "doc",
306
+ "content": [
307
+ {
308
+ "type": "paragraph",
309
+ "content": [
310
+ {
311
+ "type": "text",
312
+ "text": "Rotas, overrides and swaps in two clicks, with a weekly report on who got woken up."
313
+ }
314
+ ]
315
+ }
316
+ ]
317
+ },
318
+ "icon": "calendar"
319
+ },
320
+ "column": 0,
321
+ "variant": "minimal",
322
+ "style": {
323
+ "colorTheme": "dark"
324
+ }
325
+ },
326
+ {
327
+ "id": "blk_1y25eqt0qg",
328
+ "type": "card",
329
+ "v": 1,
330
+ "fields": {
331
+ "aspect": "4:5",
332
+ "heading": "Postmortems drafted for you",
333
+ "body": {
334
+ "type": "doc",
335
+ "content": [
336
+ {
337
+ "type": "paragraph",
338
+ "content": [
339
+ {
340
+ "type": "text",
341
+ "text": "Tidewire turns the incident timeline into a first draft you can edit and share."
342
+ }
343
+ ]
344
+ }
345
+ ]
346
+ },
347
+ "icon": "book-open"
348
+ },
349
+ "column": 0,
350
+ "variant": "minimal",
351
+ "style": {
352
+ "colorTheme": "dark"
353
+ }
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ "id": "sec_ptdyspbqgg",
359
+ "preset": "features/screenshot-callout@1",
360
+ "label": "Photo with floating stats",
361
+ "layout": {
362
+ "mode": "grid",
363
+ "rows": {
364
+ "d": 20,
365
+ "m": 30
366
+ },
367
+ "items": {
368
+ "blk_684z8ss8pa": {
369
+ "d": {
370
+ "x": 1,
371
+ "y": 1,
372
+ "w": 14,
373
+ "h": 20
374
+ },
375
+ "m": {
376
+ "x": 1,
377
+ "y": 1,
378
+ "w": 8,
379
+ "h": 11
380
+ }
381
+ },
382
+ "blk_j565dz7mmq": {
383
+ "d": {
384
+ "x": 7,
385
+ "y": 15,
386
+ "w": 9,
387
+ "h": 6,
388
+ "z": 2
389
+ },
390
+ "m": {
391
+ "x": 2,
392
+ "y": 9,
393
+ "w": 7,
394
+ "h": 5,
395
+ "z": 2
396
+ }
397
+ },
398
+ "blk_k0e96bk473": {
399
+ "d": {
400
+ "x": 17,
401
+ "y": 3,
402
+ "w": 8,
403
+ "h": 6
404
+ },
405
+ "m": {
406
+ "x": 1,
407
+ "y": 15,
408
+ "w": 8,
409
+ "h": 6
410
+ }
411
+ },
412
+ "blk_djj5esp59a": {
413
+ "d": {
414
+ "x": 17,
415
+ "y": 9,
416
+ "w": 8,
417
+ "h": 7
418
+ },
419
+ "m": {
420
+ "x": 1,
421
+ "y": 21,
422
+ "w": 8,
423
+ "h": 7
424
+ }
425
+ },
426
+ "blk_6v688wbcaf": {
427
+ "d": {
428
+ "x": 17,
429
+ "y": 16,
430
+ "w": 8,
431
+ "h": 3
432
+ },
433
+ "m": {
434
+ "x": 1,
435
+ "y": 28,
436
+ "w": 8,
437
+ "h": 3
438
+ }
439
+ }
440
+ }
441
+ },
442
+ "style": {
443
+ "colorTheme": "dark"
444
+ },
445
+ "blocks": [
446
+ {
447
+ "id": "blk_684z8ss8pa",
448
+ "type": "image",
449
+ "v": 1,
450
+ "fields": {
451
+ "image": {
452
+ "src": "https://images.unsplash.com/photo-1497215728101-856f4ea42174?w=1400&q=80",
453
+ "alt": "Standing desks by tall windows where the team works",
454
+ "width": 1400,
455
+ "height": 933
456
+ },
457
+ "aspect": "original",
458
+ "lightbox": false
459
+ },
460
+ "variant": "default"
461
+ },
462
+ {
463
+ "id": "blk_j565dz7mmq",
464
+ "type": "stats",
465
+ "v": 1,
466
+ "fields": {
467
+ "items": [
468
+ {
469
+ "value": "3 s",
470
+ "label": "Median alert delivery"
471
+ },
472
+ {
473
+ "value": "41%",
474
+ "label": "Faster resolution"
475
+ }
476
+ ]
477
+ },
478
+ "variant": "row",
479
+ "style": {
480
+ "colorTheme": "brand",
481
+ "padding": {
482
+ "d": "md",
483
+ "m": "sm"
484
+ }
485
+ }
486
+ },
487
+ {
488
+ "id": "blk_k0e96bk473",
489
+ "type": "heading",
490
+ "v": 1,
491
+ "fields": {
492
+ "text": "Know which services wake you up",
493
+ "level": "h2",
494
+ "size": "auto",
495
+ "eyebrow": "Insights"
496
+ },
497
+ "variant": "plain"
498
+ },
499
+ {
500
+ "id": "blk_djj5esp59a",
501
+ "type": "text",
502
+ "v": 1,
503
+ "fields": {
504
+ "content": {
505
+ "type": "doc",
506
+ "content": [
507
+ {
508
+ "type": "paragraph",
509
+ "content": [
510
+ {
511
+ "type": "text",
512
+ "text": "Weekly reports show noisy alerts, slow acknowledgements and the services behind most incidents, so you can fix the causes instead of the symptoms."
513
+ }
514
+ ]
515
+ }
516
+ ]
517
+ }
518
+ },
519
+ "variant": "default"
520
+ },
521
+ {
522
+ "id": "blk_6v688wbcaf",
523
+ "type": "button",
524
+ "v": 1,
525
+ "fields": {
526
+ "label": "Book a demo",
527
+ "link": {
528
+ "type": "page",
529
+ "page": "pg_khh7x3t3zt"
530
+ },
531
+ "role": "secondary"
532
+ },
533
+ "variant": "default"
534
+ }
535
+ ]
536
+ },
537
+ {
538
+ "id": "sec_xeje4840b7",
539
+ "preset": "testimonials/three-cards@1",
540
+ "label": "Three testimonial cards",
541
+ "layout": {
542
+ "mode": "grid",
543
+ "rows": {
544
+ "d": 15,
545
+ "m": 41
546
+ },
547
+ "items": {
548
+ "blk_dw0wzpccpp": {
549
+ "d": {
550
+ "x": 5,
551
+ "y": 1,
552
+ "w": 16,
553
+ "h": 5
554
+ },
555
+ "m": {
556
+ "x": 1,
557
+ "y": 1,
558
+ "w": 8,
559
+ "h": 5
560
+ }
561
+ },
562
+ "blk_8e0ysm8e9j": {
563
+ "d": {
564
+ "x": 1,
565
+ "y": 7,
566
+ "w": 8,
567
+ "h": 9
568
+ },
569
+ "m": {
570
+ "x": 1,
571
+ "y": 7,
572
+ "w": 8,
573
+ "h": 11
574
+ }
575
+ },
576
+ "blk_psemyyxvbs": {
577
+ "d": {
578
+ "x": 9,
579
+ "y": 7,
580
+ "w": 8,
581
+ "h": 9
582
+ },
583
+ "m": {
584
+ "x": 1,
585
+ "y": 19,
586
+ "w": 8,
587
+ "h": 11
588
+ }
589
+ },
590
+ "blk_7v0wh9nhge": {
591
+ "d": {
592
+ "x": 17,
593
+ "y": 7,
594
+ "w": 8,
595
+ "h": 9
596
+ },
597
+ "m": {
598
+ "x": 1,
599
+ "y": 31,
600
+ "w": 8,
601
+ "h": 11
602
+ }
603
+ }
604
+ }
605
+ },
606
+ "style": {
607
+ "colorTheme": "dark"
608
+ },
609
+ "blocks": [
610
+ {
611
+ "id": "blk_dw0wzpccpp",
612
+ "type": "heading",
613
+ "v": 1,
614
+ "fields": {
615
+ "text": "Quieter nights, faster fixes",
616
+ "level": "h2",
617
+ "size": "auto",
618
+ "eyebrow": "Customers"
619
+ },
620
+ "variant": "plain",
621
+ "style": {
622
+ "align": {
623
+ "d": "center"
624
+ }
625
+ }
626
+ },
627
+ {
628
+ "id": "blk_8e0ysm8e9j",
629
+ "type": "testimonial",
630
+ "v": 1,
631
+ "fields": {
632
+ "quote": {
633
+ "type": "doc",
634
+ "content": [
635
+ {
636
+ "type": "paragraph",
637
+ "content": [
638
+ {
639
+ "type": "text",
640
+ "text": "We replaced three tools and a spreadsheet. Our median time to acknowledge dropped from nine minutes to under two."
641
+ }
642
+ ]
643
+ }
644
+ ]
645
+ },
646
+ "name": "Maya Okonkwo",
647
+ "role": "Head of platform, Parcelly",
648
+ "photo": {
649
+ "src": "https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=320&q=80",
650
+ "alt": "Portrait of Maya Okonkwo",
651
+ "width": 320,
652
+ "height": 400
653
+ },
654
+ "rating": 5
655
+ },
656
+ "variant": "card"
657
+ },
658
+ {
659
+ "id": "blk_psemyyxvbs",
660
+ "type": "testimonial",
661
+ "v": 1,
662
+ "fields": {
663
+ "quote": {
664
+ "type": "doc",
665
+ "content": [
666
+ {
667
+ "type": "paragraph",
668
+ "content": [
669
+ {
670
+ "type": "text",
671
+ "text": "The postmortem drafts are uncanny. Our incident reviews now take twenty minutes instead of an afternoon."
672
+ }
673
+ ]
674
+ }
675
+ ]
676
+ },
677
+ "name": "Felix Andersson",
678
+ "role": "CTO, Kitebase",
679
+ "photo": {
680
+ "src": "https://images.unsplash.com/photo-1539571696357-5a69c17a67c6?w=320&q=80",
681
+ "alt": "Portrait of Felix Andersson",
682
+ "width": 320,
683
+ "height": 480
684
+ },
685
+ "rating": 5
686
+ },
687
+ "variant": "card"
688
+ },
689
+ {
690
+ "id": "blk_7v0wh9nhge",
691
+ "type": "testimonial",
692
+ "v": 1,
693
+ "fields": {
694
+ "quote": {
695
+ "type": "doc",
696
+ "content": [
697
+ {
698
+ "type": "paragraph",
699
+ "content": [
700
+ {
701
+ "type": "text",
702
+ "text": "Set up on a Friday afternoon, paged us correctly on Saturday night. That's the whole review."
703
+ }
704
+ ]
705
+ }
706
+ ]
707
+ },
708
+ "name": "Rosa Lindgren",
709
+ "role": "Staff engineer, Orchard Pay",
710
+ "photo": {
711
+ "src": "https://images.unsplash.com/photo-1544005313-94ddf0286df2?w=320&q=80",
712
+ "alt": "Portrait of Rosa Lindgren",
713
+ "width": 320,
714
+ "height": 479
715
+ },
716
+ "rating": 5
717
+ },
718
+ "variant": "card"
719
+ }
720
+ ]
721
+ },
722
+ {
723
+ "id": "sec_1jwjrdtzcd",
724
+ "preset": "pricing/three-plans@1",
725
+ "label": "Three plans",
726
+ "layout": {
727
+ "mode": "stack",
728
+ "columns": {
729
+ "d": [
730
+ 12
731
+ ]
732
+ },
733
+ "gap": "xl"
734
+ },
735
+ "style": {
736
+ "colorTheme": "dark-accent"
737
+ },
738
+ "blocks": [
739
+ {
740
+ "id": "blk_2dv1xdjjgk",
741
+ "type": "heading",
742
+ "v": 1,
743
+ "fields": {
744
+ "text": "Pay per responder, not per alert",
745
+ "level": "h2",
746
+ "size": "auto",
747
+ "eyebrow": "Pricing",
748
+ "subheading": "Free for small teams. Every paid plan starts with a 14-day trial, no card needed."
749
+ },
750
+ "variant": "plain",
751
+ "style": {
752
+ "align": {
753
+ "d": "center"
754
+ }
755
+ }
756
+ },
757
+ {
758
+ "id": "blk_12bw1drtm4",
759
+ "type": "pricing",
760
+ "v": 1,
761
+ "fields": {
762
+ "plans": [
763
+ {
764
+ "name": "Starter",
765
+ "price": "$0",
766
+ "period": "up to 5 responders",
767
+ "description": "For side projects and the first on-call rota.",
768
+ "features": [
769
+ {
770
+ "text": "Alerts by push, SMS and Slack"
771
+ },
772
+ {
773
+ "text": "One on-call schedule"
774
+ },
775
+ {
776
+ "text": "Public status page"
777
+ }
778
+ ],
779
+ "buttonLabel": "Start free",
780
+ "link": {
781
+ "type": "url",
782
+ "url": "https://app.tidewire.example/signup"
783
+ },
784
+ "featured": false
785
+ },
786
+ {
787
+ "name": "Team",
788
+ "price": "$19",
789
+ "period": "per responder / month",
790
+ "description": "For engineering teams who share the pager every week.",
791
+ "features": [
792
+ {
793
+ "text": "Unlimited schedules and escalations"
794
+ },
795
+ {
796
+ "text": "Incident timelines and postmortems"
797
+ },
798
+ {
799
+ "text": "Phone-call alerts in 40 countries"
800
+ }
801
+ ],
802
+ "buttonLabel": "Try Team free for 14 days",
803
+ "link": {
804
+ "type": "url",
805
+ "url": "https://app.tidewire.example/signup"
806
+ },
807
+ "featured": true,
808
+ "badge": "Most teams"
809
+ },
810
+ {
811
+ "name": "Scale",
812
+ "price": "$39",
813
+ "period": "per responder / month",
814
+ "description": "For companies with several teams and audit needs.",
815
+ "features": [
816
+ {
817
+ "text": "SSO and SCIM provisioning"
818
+ },
819
+ {
820
+ "text": "Audit log and data residency"
821
+ },
822
+ {
823
+ "text": "A named support engineer"
824
+ }
825
+ ],
826
+ "buttonLabel": "Talk to us",
827
+ "link": {
828
+ "type": "url",
829
+ "url": "/contact/"
830
+ },
831
+ "featured": false
832
+ }
833
+ ],
834
+ "note": "Prices in USD, billed monthly. Save two months with annual billing."
835
+ },
836
+ "variant": "cards"
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "id": "sec_rsmnmarj56",
842
+ "preset": "faq/split@1",
843
+ "label": "Questions beside heading",
844
+ "layout": {
845
+ "mode": "stack",
846
+ "columns": {
847
+ "d": [
848
+ 4,
849
+ 8
850
+ ],
851
+ "m": [
852
+ 12
853
+ ]
854
+ },
855
+ "gap": "2xl"
856
+ },
857
+ "style": {
858
+ "colorTheme": "dark"
859
+ },
860
+ "blocks": [
861
+ {
862
+ "id": "blk_d326gnyqz5",
863
+ "type": "heading",
864
+ "v": 1,
865
+ "fields": {
866
+ "text": "Questions engineers ask",
867
+ "level": "h2",
868
+ "size": "auto",
869
+ "eyebrow": "FAQ"
870
+ },
871
+ "column": 0,
872
+ "variant": "plain"
873
+ },
874
+ {
875
+ "id": "blk_y3a30wg0ve",
876
+ "type": "text",
877
+ "v": 1,
878
+ "fields": {
879
+ "content": {
880
+ "type": "doc",
881
+ "content": [
882
+ {
883
+ "type": "paragraph",
884
+ "content": [
885
+ {
886
+ "type": "text",
887
+ "text": "Can't find your answer? Our engineers answer support, not a script."
888
+ }
889
+ ]
890
+ }
891
+ ]
892
+ }
893
+ },
894
+ "column": 0,
895
+ "variant": "default"
896
+ },
897
+ {
898
+ "id": "blk_tcb65h6y04",
899
+ "type": "button",
900
+ "v": 1,
901
+ "fields": {
902
+ "label": "Contact support",
903
+ "link": {
904
+ "type": "page",
905
+ "page": "pg_khh7x3t3zt"
906
+ },
907
+ "role": "secondary"
908
+ },
909
+ "column": 0,
910
+ "variant": "default"
911
+ },
912
+ {
913
+ "id": "blk_s1n0hv0gyh",
914
+ "type": "accordion",
915
+ "v": 1,
916
+ "fields": {
917
+ "items": [
918
+ {
919
+ "question": "Which monitoring tools does Tidewire connect to?",
920
+ "answer": {
921
+ "type": "doc",
922
+ "content": [
923
+ {
924
+ "type": "paragraph",
925
+ "content": [
926
+ {
927
+ "type": "text",
928
+ "text": "Over 60, including Datadog, Grafana, Prometheus, Sentry, CloudWatch and any tool that can send a webhook."
929
+ }
930
+ ]
931
+ }
932
+ ]
933
+ }
934
+ },
935
+ {
936
+ "question": "Can we migrate our existing schedules?",
937
+ "answer": {
938
+ "type": "doc",
939
+ "content": [
940
+ {
941
+ "type": "paragraph",
942
+ "content": [
943
+ {
944
+ "type": "text",
945
+ "text": "Yes. Import rotas from a CSV or from most on-call tools in a few minutes, overrides included."
946
+ }
947
+ ]
948
+ }
949
+ ]
950
+ }
951
+ },
952
+ {
953
+ "question": "Where is our data stored?",
954
+ "answer": {
955
+ "type": "doc",
956
+ "content": [
957
+ {
958
+ "type": "paragraph",
959
+ "content": [
960
+ {
961
+ "type": "text",
962
+ "text": "In the US by default, or in the EU on the Scale plan. Everything is encrypted at rest and in transit."
963
+ }
964
+ ]
965
+ }
966
+ ]
967
+ }
968
+ },
969
+ {
970
+ "question": "What happens if Tidewire itself goes down?",
971
+ "answer": {
972
+ "type": "doc",
973
+ "content": [
974
+ {
975
+ "type": "paragraph",
976
+ "content": [
977
+ {
978
+ "type": "text",
979
+ "text": "Alerting runs in three regions with automatic failover. Our own status page is hosted independently."
980
+ }
981
+ ]
982
+ }
983
+ ]
984
+ }
985
+ }
986
+ ],
987
+ "exclusive": false,
988
+ "openFirst": true,
989
+ "faqSchema": true
990
+ },
991
+ "column": 1,
992
+ "variant": "lines"
993
+ }
994
+ ]
995
+ },
996
+ {
997
+ "id": "sec_7vn8482gxm",
998
+ "preset": "cta/banner@1",
999
+ "label": "Centred banner",
1000
+ "layout": {
1001
+ "mode": "stack",
1002
+ "columns": {
1003
+ "d": [
1004
+ 12
1005
+ ]
1006
+ },
1007
+ "width": "narrow",
1008
+ "gap": "lg"
1009
+ },
1010
+ "style": {
1011
+ "colorTheme": "brand",
1012
+ "padding": {
1013
+ "d": "xl",
1014
+ "m": "lg"
1015
+ }
1016
+ },
1017
+ "blocks": [
1018
+ {
1019
+ "id": "blk_qkrhp6jwd8",
1020
+ "type": "heading",
1021
+ "v": 1,
1022
+ "fields": {
1023
+ "text": "Sleep through the night again",
1024
+ "level": "h2",
1025
+ "size": "auto",
1026
+ "subheading": "Free for up to five responders. Connect your first alert source in under ten minutes."
1027
+ },
1028
+ "variant": "plain",
1029
+ "style": {
1030
+ "align": {
1031
+ "d": "center"
1032
+ }
1033
+ }
1034
+ },
1035
+ {
1036
+ "id": "blk_t50xa9zhwj",
1037
+ "type": "button",
1038
+ "v": 1,
1039
+ "fields": {
1040
+ "label": "Start free",
1041
+ "link": {
1042
+ "type": "url",
1043
+ "url": "https://app.tidewire.example/signup"
1044
+ },
1045
+ "role": "primary",
1046
+ "secondaryLabel": "Book a demo",
1047
+ "secondaryLink": {
1048
+ "type": "page",
1049
+ "page": "pg_khh7x3t3zt"
1050
+ }
1051
+ },
1052
+ "variant": "large",
1053
+ "style": {
1054
+ "align": {
1055
+ "d": "center"
1056
+ }
1057
+ }
1058
+ }
1059
+ ]
1060
+ }
1061
+ ]
1062
+ }