create-grist-widget 0.3.28 → 0.3.29

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-grist-widget",
3
- "version": "0.3.28",
3
+ "version": "0.3.29",
4
4
  "description": "Scaffold a new Grist custom widget from the grist-widget-sdk Vite template",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -66,6 +66,10 @@ mapping, and rendering all live in `src/app/App.tsx` — that's the file to edit
66
66
  opening the `dev` → `main` PR: merging without a version bump publishes nothing (the
67
67
  release build silently no-ops whenever that version's directory already exists — the PR
68
68
  merges cleanly and CI reports success either way).
69
+ 5. **Template updates arrive with `create-grist-widget`.** Dependabot opens a pull request of
70
+ its own for it. Once that is merged into `dev`, run `pnpm exec create-grist-widget upgrade`
71
+ on `dev` in a follow-up pull request, then `pnpm install`, `pnpm typecheck`, `pnpm lint` and
72
+ `pnpm test`. It rewrites only the template's files (listed above) and says what it changed.
69
73
 
70
74
  ## Commands
71
75
 
@@ -108,6 +112,11 @@ creates a `gh-pages` branch — these settings can't be applied before that exis
108
112
  2. If that first workflow run fails with a permissions error pushing to `gh-pages`:
109
113
  Settings → Actions → General → Workflow permissions → **Read and write permissions**.
110
114
  Most repos don't need this; it depends on account/org defaults.
115
+ 3. After the first release (which commits to `main` and resets `dev`), a branch ruleset:
116
+ `main` requires a pull request and the `check` status, and blocks force pushes and
117
+ deletion; `dev` blocks force pushes and deletion. An agent acts through the owner's
118
+ account, so these rules don't tell it apart: they keep red changes off `main` whoever
119
+ merges. Ask the owner to set them; they need admin access.
111
120
 
112
121
  Full detail, including the two live URLs (`/latest/` and `/v<version>/`): `README.md`.
113
122
 
@@ -159,6 +159,20 @@ template's own files (this pipeline, the build config) arrive with
159
159
  read-only, which would fail the push to `gh-pages` with a 403.
160
160
  3. If the repo is private, set **Pages visibility to Public** — a widget
161
161
  embeds inside a Grist iframe, which needs a publicly reachable URL.
162
+ 4. **After the first release**, protect the branches: Settings → Rules →
163
+ Rulesets → New branch ruleset. Not before: the first release itself
164
+ commits to `main` and resets `dev` (see above).
165
+ - `main`: **Require a pull request before merging**, **Require status
166
+ checks to pass** with the `check` status from `ci.yml`, **Block force
167
+ pushes**, **Restrict deletions**. A change then reaches `main` only
168
+ through a green pull request (your `dev` → `main` release PR included).
169
+ - `dev`: **Block force pushes** and **Restrict deletions**. Not the
170
+ pull-request rule: the version bump before a release is pushed straight
171
+ to `dev`.
172
+
173
+ An AI agent working on this repo acts through your GitHub account, so
174
+ these rules can't tell it from you. They guarantee the outcome (nothing
175
+ red reaches `main`), whoever merges.
162
176
 
163
177
  No manifest/widget-catalog file is generated — that's a multi-widget,
164
178
  Grist-widget-repository concept this single-widget template doesn't need.
@@ -35,7 +35,7 @@
35
35
  "@types/react": "^19.3.0",
36
36
  "@types/react-dom": "^19.3.0",
37
37
  "@vitejs/plugin-react": "^6.1.2",
38
- "create-grist-widget": "^0.3.28",
38
+ "create-grist-widget": "^0.3.29",
39
39
  "eslint": "^10.13.0",
40
40
  "eslint-plugin-react-hooks": "^7.0.1",
41
41
  "eslint-plugin-react-refresh": "^0.5.7",