@omniharmonic/openspace-cli 0.1.4 → 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.
- package/README.md +14 -9
- package/dist/{agents-md-3W4PIY4N.js → agents-md-PVK5NBFF.js} +3 -2
- package/dist/bin.js +4 -2
- package/dist/bin.js.map +1 -1
- package/dist/chunk-26AZCID5.js +44 -0
- package/dist/chunk-26AZCID5.js.map +1 -0
- package/dist/{chunk-6NIIOHOX.js → chunk-RG7S2MUH.js} +13773 -22784
- package/dist/chunk-RG7S2MUH.js.map +1 -0
- package/dist/{chunk-7I6IJI6Z.js → chunk-UQXJVMUV.js} +9 -40
- package/dist/chunk-UQXJVMUV.js.map +1 -0
- package/dist/chunk-WE4QCL3R.js +12836 -0
- package/dist/chunk-WE4QCL3R.js.map +1 -0
- package/dist/crawl-5ZZ5W7B6.js +9 -0
- package/dist/crawl-5ZZ5W7B6.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/starter/site/AGENTS.md +2 -2
- package/dist/templates/atelier/content/pages/about.json +1 -1
- package/dist/templates/atelier/content/pages/commissions.json +1 -1
- package/dist/templates/atelier/content/pages/contact.json +1 -1
- package/dist/templates/atelier/content/pages/home.json +1 -1
- package/dist/templates/atelier/content/pages/work.json +1 -1
- package/dist/templates/atelier/content/site.json +1 -1
- package/dist/templates/atelier/content/styles.json +1 -1
- package/dist/templates/atelier/openspace.json +2 -2
- package/dist/templates/atelier/template.json +1 -1
- package/dist/templates/beacon/content/pages/about.json +1 -1
- package/dist/templates/beacon/content/pages/contact.json +1 -1
- package/dist/templates/beacon/content/pages/donate.json +1 -1
- package/dist/templates/beacon/content/pages/get-involved.json +1 -1
- package/dist/templates/beacon/content/pages/home.json +1 -1
- package/dist/templates/beacon/content/pages/our-work.json +1 -1
- package/dist/templates/beacon/content/site.json +1 -1
- package/dist/templates/beacon/content/styles.json +1 -1
- package/dist/templates/beacon/openspace.json +2 -2
- package/dist/templates/beacon/template.json +1 -1
- package/dist/templates/commons/content/pages/about.json +1 -1
- package/dist/templates/commons/content/pages/directory.json +1 -1
- package/dist/templates/commons/content/pages/home.json +1 -1
- package/dist/templates/commons/content/pages/join.json +1 -1
- package/dist/templates/commons/content/site.json +1 -1
- package/dist/templates/commons/content/styles.json +1 -1
- package/dist/templates/commons/openspace.json +2 -2
- package/dist/templates/commons/template.json +1 -1
- package/dist/templates/darkroom/content/pages/about.json +1 -1
- package/dist/templates/darkroom/content/pages/contact.json +1 -1
- package/dist/templates/darkroom/content/pages/home.json +1 -1
- package/dist/templates/darkroom/content/pages/services.json +1 -1
- package/dist/templates/darkroom/content/site.json +1 -1
- package/dist/templates/darkroom/content/styles.json +1 -1
- package/dist/templates/darkroom/openspace.json +2 -2
- package/dist/templates/darkroom/template.json +1 -1
- package/dist/templates/encore/content/pages/about.json +1 -1
- package/dist/templates/encore/content/pages/contact.json +1 -1
- package/dist/templates/encore/content/pages/home.json +1 -1
- package/dist/templates/encore/content/pages/music.json +1 -1
- package/dist/templates/encore/content/site.json +1 -1
- package/dist/templates/encore/content/styles.json +1 -1
- package/dist/templates/encore/openspace.json +2 -2
- package/dist/templates/encore/template.json +1 -1
- package/dist/templates/field-notes/content/pages/about.json +1 -1
- package/dist/templates/field-notes/content/pages/contact.json +1 -1
- package/dist/templates/field-notes/content/pages/home.json +1 -1
- package/dist/templates/field-notes/content/pages/subscribe.json +1 -1
- package/dist/templates/field-notes/content/site.json +1 -1
- package/dist/templates/field-notes/content/styles.json +1 -1
- package/dist/templates/field-notes/openspace.json +2 -2
- package/dist/templates/field-notes/template.json +1 -1
- package/dist/templates/fixwell/content/pages/about.json +1 -1
- package/dist/templates/fixwell/content/pages/contact.json +1 -1
- package/dist/templates/fixwell/content/pages/home.json +1 -1
- package/dist/templates/fixwell/content/pages/pricing.json +1 -1
- package/dist/templates/fixwell/content/pages/services.json +1 -1
- package/dist/templates/fixwell/content/site.json +1 -1
- package/dist/templates/fixwell/content/styles.json +1 -1
- package/dist/templates/fixwell/openspace.json +2 -2
- package/dist/templates/fixwell/template.json +1 -1
- package/dist/templates/folio/content/pages/about.json +1 -1
- package/dist/templates/folio/content/pages/contact.json +1 -1
- package/dist/templates/folio/content/pages/experience.json +1 -1
- package/dist/templates/folio/content/pages/home.json +1 -1
- package/dist/templates/folio/content/site.json +1 -1
- package/dist/templates/folio/content/styles.json +1 -1
- package/dist/templates/folio/openspace.json +2 -2
- package/dist/templates/folio/template.json +1 -1
- package/dist/templates/gather/content/pages/about.json +1 -1
- package/dist/templates/gather/content/pages/contact.json +1 -1
- package/dist/templates/gather/content/pages/home.json +1 -1
- package/dist/templates/gather/content/pages/programme.json +1 -1
- package/dist/templates/gather/content/pages/speakers.json +1 -1
- package/dist/templates/gather/content/pages/tickets.json +1 -1
- package/dist/templates/gather/content/pages/venue.json +1 -1
- package/dist/templates/gather/content/site.json +1 -1
- package/dist/templates/gather/content/styles.json +1 -1
- package/dist/templates/gather/openspace.json +2 -2
- package/dist/templates/gather/template.json +1 -1
- package/dist/templates/harbor/content/pages/about.json +1 -1
- package/dist/templates/harbor/content/pages/contact.json +1 -1
- package/dist/templates/harbor/content/pages/get-involved.json +1 -1
- package/dist/templates/harbor/content/pages/home.json +1 -1
- package/dist/templates/harbor/content/pages/programs.json +1 -1
- package/dist/templates/harbor/content/site.json +1 -1
- package/dist/templates/harbor/content/styles.json +1 -1
- package/dist/templates/harbor/openspace.json +2 -2
- package/dist/templates/harbor/template.json +1 -1
- package/dist/templates/hearth/content/pages/about.json +1 -1
- package/dist/templates/hearth/content/pages/home.json +1 -1
- package/dist/templates/hearth/content/pages/menu.json +1 -1
- package/dist/templates/hearth/content/pages/private-dining.json +1 -1
- package/dist/templates/hearth/content/pages/visit.json +1 -1
- package/dist/templates/hearth/content/site.json +1 -1
- package/dist/templates/hearth/content/styles.json +1 -1
- package/dist/templates/hearth/openspace.json +2 -2
- package/dist/templates/hearth/template.json +1 -1
- package/dist/templates/inkwell/content/pages/about.json +1 -1
- package/dist/templates/inkwell/content/pages/books.json +1 -1
- package/dist/templates/inkwell/content/pages/contact.json +1 -1
- package/dist/templates/inkwell/content/pages/home.json +1 -1
- package/dist/templates/inkwell/content/pages/speaking.json +1 -1
- package/dist/templates/inkwell/content/site.json +1 -1
- package/dist/templates/inkwell/content/styles.json +1 -1
- package/dist/templates/inkwell/openspace.json +2 -2
- package/dist/templates/inkwell/template.json +1 -1
- package/dist/templates/keystone/content/pages/about.json +1 -1
- package/dist/templates/keystone/content/pages/contact.json +1 -1
- package/dist/templates/keystone/content/pages/home.json +1 -1
- package/dist/templates/keystone/content/pages/results.json +1 -1
- package/dist/templates/keystone/content/pages/work-with-me.json +1 -1
- package/dist/templates/keystone/content/site.json +1 -1
- package/dist/templates/keystone/content/styles.json +1 -1
- package/dist/templates/keystone/openspace.json +2 -2
- package/dist/templates/keystone/template.json +1 -1
- package/dist/templates/kiln/content/pages/about.json +1 -1
- package/dist/templates/kiln/content/pages/contact.json +1 -1
- package/dist/templates/kiln/content/pages/home.json +1 -1
- package/dist/templates/kiln/content/pages/workshops.json +1 -1
- package/dist/templates/kiln/content/site.json +1 -1
- package/dist/templates/kiln/content/styles.json +1 -1
- package/dist/templates/kiln/openspace.json +2 -2
- package/dist/templates/kiln/template.json +1 -1
- package/dist/templates/ledger/content/pages/about.json +1 -1
- package/dist/templates/ledger/content/pages/contact.json +1 -1
- package/dist/templates/ledger/content/pages/home.json +1 -1
- package/dist/templates/ledger/content/pages/services.json +1 -1
- package/dist/templates/ledger/content/site.json +1 -1
- package/dist/templates/ledger/content/styles.json +1 -1
- package/dist/templates/ledger/openspace.json +2 -2
- package/dist/templates/ledger/template.json +1 -1
- package/dist/templates/link/content/pages/home.json +1 -1
- package/dist/templates/link/content/site.json +1 -1
- package/dist/templates/link/content/styles.json +1 -1
- package/dist/templates/link/openspace.json +2 -2
- package/dist/templates/link/template.json +1 -1
- package/dist/templates/meadow/content/pages/about.json +1 -1
- package/dist/templates/meadow/content/pages/bodywork.json +1 -1
- package/dist/templates/meadow/content/pages/classes.json +1 -1
- package/dist/templates/meadow/content/pages/contact.json +1 -1
- package/dist/templates/meadow/content/pages/home.json +1 -1
- package/dist/templates/meadow/content/site.json +1 -1
- package/dist/templates/meadow/content/styles.json +1 -1
- package/dist/templates/meadow/openspace.json +2 -2
- package/dist/templates/meadow/template.json +1 -1
- package/dist/templates/orbit/content/pages/about.json +1 -1
- package/dist/templates/orbit/content/pages/contact.json +1 -1
- package/dist/templates/orbit/content/pages/features.json +1 -1
- package/dist/templates/orbit/content/pages/home.json +1 -1
- package/dist/templates/orbit/content/pages/pricing.json +1 -1
- package/dist/templates/orbit/content/site.json +1 -1
- package/dist/templates/orbit/content/styles.json +1 -1
- package/dist/templates/orbit/openspace.json +2 -2
- package/dist/templates/orbit/template.json +1 -1
- package/dist/templates/signal/content/pages/about.json +1 -1
- package/dist/templates/signal/content/pages/contact.json +1 -1
- package/dist/templates/signal/content/pages/home.json +1 -1
- package/dist/templates/signal/content/pages/pricing.json +1 -1
- package/dist/templates/signal/content/site.json +1 -1
- package/dist/templates/signal/content/styles.json +1 -1
- package/dist/templates/signal/openspace.json +2 -2
- package/dist/templates/signal/template.json +1 -1
- package/dist/templates/vow/content/pages/about.json +1 -1
- package/dist/templates/vow/content/pages/home.json +1 -1
- package/dist/templates/vow/content/pages/registry.json +1 -1
- package/dist/templates/vow/content/pages/rsvp.json +1 -1
- package/dist/templates/vow/content/pages/schedule.json +1 -1
- package/dist/templates/vow/content/pages/travel.json +1 -1
- package/dist/templates/vow/content/site.json +1 -1
- package/dist/templates/vow/content/styles.json +1 -1
- package/dist/templates/vow/openspace.json +2 -2
- package/dist/templates/vow/template.json +1 -1
- package/package.json +7 -7
- package/dist/chunk-6NIIOHOX.js.map +0 -1
- package/dist/chunk-7I6IJI6Z.js.map +0 -1
- /package/dist/{agents-md-3W4PIY4N.js.map → agents-md-PVK5NBFF.js.map} +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __osCreateRequire } from "node:module"; const require = __osCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
crawlGeneric
|
|
4
|
+
} from "./chunk-WE4QCL3R.js";
|
|
5
|
+
import "./chunk-26AZCID5.js";
|
|
6
|
+
export {
|
|
7
|
+
crawlGeneric
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=crawl-5ZZ5W7B6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -6,8 +6,10 @@ import {
|
|
|
6
6
|
formatReport,
|
|
7
7
|
run,
|
|
8
8
|
runCheck
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-RG7S2MUH.js";
|
|
10
|
+
import "./chunk-WE4QCL3R.js";
|
|
11
|
+
import "./chunk-UQXJVMUV.js";
|
|
12
|
+
import "./chunk-26AZCID5.js";
|
|
11
13
|
|
|
12
14
|
// src/index.ts
|
|
13
15
|
var name = "@omniharmonic/openspace-cli";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export const name = \"@omniharmonic/openspace-cli\";\n\nexport {\n type Budgets,\n type CheckOptions,\n type CheckReport,\n DEFAULT_BUDGETS,\n type Finding,\n formatReport,\n runCheck,\n} from \"./check\";\nexport { createProgram, run, VERSION } from \"./program\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export const name = \"@omniharmonic/openspace-cli\";\n\nexport {\n type Budgets,\n type CheckOptions,\n type CheckReport,\n DEFAULT_BUDGETS,\n type Finding,\n formatReport,\n runCheck,\n} from \"./check\";\nexport { createProgram, run, VERSION } from \"./program\";\n"],"mappings":";;;;;;;;;;;;;;AAAO,IAAM,OAAO;","names":[]}
|
|
@@ -13,7 +13,7 @@ changes land on `main` (`.github/workflows/publish.yml`).
|
|
|
13
13
|
and form (`frm_`) has a stable id. Keep ids when editing; new ids are the prefix plus 10
|
|
14
14
|
lowercase Crockford base32 characters (no i, l, o, u).
|
|
15
15
|
3. **Only valid block types and fields** (listed below; full JSON Schema at
|
|
16
|
-
https://schema.openspace.
|
|
16
|
+
https://schema.openspace.host/v1/). Unknown fields fail the build.
|
|
17
17
|
4. **Styles change through tokens** in `content/styles.json` (palette, type pairing, density,
|
|
18
18
|
shape…), never inline CSS. Sections pick one of five color themes.
|
|
19
19
|
5. **Never put secrets in content** (API keys, tokens, passwords). `openspace check` fails on them.
|
|
@@ -28,7 +28,7 @@ changes land on `main` (`.github/workflows/publish.yml`).
|
|
|
28
28
|
## Layout
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
openspace.json site id, Hub URL, deploy target, features (https://schema.openspace.
|
|
31
|
+
openspace.json site id, Hub URL, deploy target, features (https://schema.openspace.host/v1/site-config.json)
|
|
32
32
|
content/site.json title, navigation, header, footer, SEO defaults, redirects
|
|
33
33
|
content/styles.json design tokens and Site Styles choices
|
|
34
34
|
content/media.json metadata for files in media/ (alt text, size, focal point, credit)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_840xf2yefq",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "atelier",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/atelier",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "atelier",
|
|
4
4
|
"name": "Atelier",
|
|
5
5
|
"description": "A gallery-first portfolio for photographers and visual artists: a full-bleed slideshow, a project index and lightboxes, with chrome that stays out of the way.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_epeysb233n",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "beacon",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/beacon",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "beacon",
|
|
4
4
|
"name": "Beacon",
|
|
5
5
|
"description": "A mission-first site for nonprofits and campaigns, with donate buttons throughout, monthly giving, a campaign goal, impact numbers and volunteer days.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_kz22x8aed2",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "commons",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/commons",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "commons",
|
|
4
4
|
"name": "Commons",
|
|
5
5
|
"description": "A grounded, collective site for coalitions, cooperatives and movements, with a member directory, a map, gatherings and a join form.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_j70fsabma3",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "darkroom",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/darkroom",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "darkroom",
|
|
4
4
|
"name": "Darkroom",
|
|
5
5
|
"description": "An editorial, image-first portfolio for photographers and visual artists, with project pages, session packages and an enquiry form.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_y549fya436",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "encore",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/encore",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "encore",
|
|
4
4
|
"name": "Encore",
|
|
5
5
|
"description": "An expressive, nocturnal site for musicians, performers and podcasters, with an audio player, tour dates, a press kit and an episode list.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_f9ahxp6q84",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "field-notes",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/field-notes",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "field-notes",
|
|
4
4
|
"name": "Field Notes",
|
|
5
5
|
"description": "A reading-first site for writers, newsletters and blogs: a newsletter-first home, long essays with footnotes and reading times, and a supporter page.",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_j5xzhz36w0",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "fixwell",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/fixwell",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "fixwell",
|
|
4
4
|
"name": "Fixwell",
|
|
5
5
|
"description": "A phone-first site for local trades and services, with a call button on every page, trust points, published rates, a service-area map and a quote form.",
|