create-bridgething 0.15.1 → 0.15.2

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/dist/index.mjs CHANGED
@@ -354,6 +354,7 @@ function scaffoldApp(root, spec) {
354
354
  source: spec.repoUrl,
355
355
  icon: null,
356
356
  screenshots: [],
357
+ categories: [],
357
358
  min_libbridgething_version: SDK_VERSIONS.libbridgething
358
359
  });
359
360
  const manifest = readJson(join(dir, "public", "manifest.json"));
@@ -522,8 +523,8 @@ async function addApp(root, args) {
522
523
  console.log(`
523
524
  Next:
524
525
 
525
- fill in the description in apps/${slug}/public/manifest.json, and check the author
526
- and repo url in apps/${slug}/catalog.json
526
+ fill in the description in apps/${slug}/public/manifest.json, then check the author
527
+ and repo url and pick one or two categories in apps/${slug}/catalog.json
527
528
 
528
529
  bun run dev ${slug} develop against a connected Car Thing
529
530
  bun run check ensure your app and source are valid
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-bridgething",
3
- "version": "0.15.1",
3
+ "version": "0.15.2",
4
4
  "type": "module",
5
5
  "description": "Scaffold a bridgething app source: webapps for the Spotify Car Thing, published as a catalog.v1 on GitHub Pages.",
6
6
  "license": "MIT",
@@ -33,6 +33,12 @@ Raise `version` in `public/manifest.json` before you share an update. Keep `id`.
33
33
 
34
34
  ## Publish to the store
35
35
 
36
+ Before the first publish, set `categories` in `apps/<slug>/catalog.json` to one
37
+ or two of `music`, `clocks-weather`, `dashboards`, `home-control`,
38
+ `productivity`, `ambient`, `games`, `travel`, `tools`, most fitting first. The
39
+ store files apps by it, and `bun run check` warns when it is missing. Take at
40
+ least one screenshot with `bun run shot <slug>`: only apps with one get featured.
41
+
36
42
  From the repo root, `bun run bump <slug> <major | minor | patch>` moves the
37
43
  version, then a push to main runs the publish workflow. It builds every new
38
44
  version into `catalog.v1.json` on the `gh-pages` branch. GitHub Pages has to
@@ -69,7 +69,7 @@ Running and driving the app: `.claude/skills/bridgething/reference/develop.md`.
69
69
  - `settings` names the page built from `settings/`, capped at 1 MiB. It talks to the companion app through `@bridgething/client/settings` and embeds `<ConfigForm/>` for the declared fields. A button on it that acts on those fields awaits the form's `flush()` first. The companion keeps the page loaded between visits, so it rereads device state in `settings.onRefresh`. It is also where a user picks a file for the app (`settings.pick` + `settings.blob.put`), which the webapp then shows through `client.blob`.
70
70
  - `extension` declares the desktop-side Deno process and the host permissions it gets.
71
71
 
72
- **`apps/<slug>/catalog.json`** is the store listing and nothing else: `author`, `homepage`, `source`, an `icon` override, `screenshots`, and `min_libbridgething_version` (the oldest daemon the app works against). Never restate anything the manifest already says. An app that ships an extension must carry its `github.com` repo url in `source`, because the store shows that link next to the host permissions it is asking for.
72
+ **`apps/<slug>/catalog.json`** is the store listing and nothing else: `author`, `homepage`, `source`, an `icon` override, `screenshots`, `categories`, and `min_libbridgething_version` (the oldest daemon the app works against). `categories` is one or two of `music`, `clocks-weather`, `dashboards`, `home-control`, `productivity`, `ambient`, `games`, `travel`, `tools`, most fitting first; always set it, because an app without one is left off every category shelf in the store. A launcher or overlay may leave it empty, since those get their own shelves. Never restate anything the manifest already says. An app that ships an extension must carry its `github.com` repo url in `source`, because the store shows that link next to the host permissions it is asking for.
73
73
 
74
74
  **`apps/<slug>/CHANGELOG.md`** carries a `## <version>` section per release, which becomes that version's changelog in the catalog.
75
75
 
@@ -84,7 +84,7 @@ bun run check
84
84
 
85
85
  `new` scaffolds into `apps/<slug>`. Never add an app by hand: the scaffold generates the uuid, writes the store listing, wires the dev server to a connected device, and lands the tsconfig and scripts CI expects.
86
86
 
87
- `shot` captures the kiosk over CDP into `apps/<slug>/screenshots/`. The image fronts chromium's debugging port on `bridgething.local:9222`, so it needs nothing but the device plugged in. Up to six, filename order, first is the store card.
87
+ `shot` captures the kiosk over CDP into `apps/<slug>/screenshots/`. The image fronts chromium's debugging port on `bridgething.local:9222`, so it needs nothing but the device plugged in. Up to six, filename order, first is the store card. Only an app with a screenshot can be featured at the top of the store, so take at least one.
88
88
 
89
89
  `bump` writes `public/manifest.json` and `package.json` together and opens the changelog section. Editing one without the other fails the build.
90
90
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@bridgething/client": "^0.15.1",
3
3
  "@bridgething/extension": "^0.15.1",
4
- "@bridgething/source": "^0.15.1",
4
+ "@bridgething/source": "^0.15.2",
5
5
  "libbridgething": "0.15.1"
6
6
  }