wherdr 2.0.1 → 2.2.0
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/30nuHmZs.js +1 -0
- package/.output/public/_nuxt/30nuHmZs.js.br +0 -0
- package/.output/public/_nuxt/30nuHmZs.js.gz +0 -0
- package/.output/public/_nuxt/4gY2mLGX.js +62 -0
- package/.output/public/_nuxt/4gY2mLGX.js.br +0 -0
- package/.output/public/_nuxt/4gY2mLGX.js.gz +0 -0
- package/.output/public/_nuxt/AgentView.CfD2RWZY.css.br +0 -0
- package/.output/public/_nuxt/AgentView.CfD2RWZY.css.gz +0 -0
- package/.output/public/_nuxt/{BX8KVYfd.js → B8eSr-59.js} +1 -1
- package/.output/public/_nuxt/B8eSr-59.js.br +0 -0
- package/.output/public/_nuxt/B8eSr-59.js.gz +0 -0
- package/.output/public/_nuxt/Bd17z0YL.js.br +0 -0
- package/.output/public/_nuxt/Bd17z0YL.js.gz +0 -0
- package/.output/public/_nuxt/Bpoxvzh6.js.br +0 -0
- package/.output/public/_nuxt/Bpoxvzh6.js.gz +0 -0
- package/.output/public/_nuxt/BsbsvkAK.js +1 -0
- package/.output/public/_nuxt/BsbsvkAK.js.br +0 -0
- package/.output/public/_nuxt/BsbsvkAK.js.gz +0 -0
- package/.output/public/_nuxt/C25ROUa9.js.br +0 -0
- package/.output/public/_nuxt/C25ROUa9.js.gz +0 -0
- package/.output/public/_nuxt/CDWjMk9C.js.br +0 -0
- package/.output/public/_nuxt/CDWjMk9C.js.gz +0 -0
- package/.output/public/_nuxt/{DYKfeNM-.js → CML5cHwz.js} +1 -1
- package/.output/public/_nuxt/CN39A7L5.js +3 -0
- package/.output/public/_nuxt/CN39A7L5.js.br +0 -0
- package/.output/public/_nuxt/CN39A7L5.js.gz +0 -0
- package/.output/public/_nuxt/CXJnLmWv.js.br +0 -0
- package/.output/public/_nuxt/CXJnLmWv.js.gz +0 -0
- package/.output/public/_nuxt/{TS7GZUPU.js → CfQgQDOp.js} +7 -7
- package/.output/public/_nuxt/CfQgQDOp.js.br +0 -0
- package/.output/public/_nuxt/CfQgQDOp.js.gz +0 -0
- package/.output/public/_nuxt/{DOsw6KCR.js → CoRTPMqP.js} +43 -41
- package/.output/public/_nuxt/CoRTPMqP.js.br +0 -0
- package/.output/public/_nuxt/CoRTPMqP.js.gz +0 -0
- package/.output/public/_nuxt/{DeLLm2j1.js → CvGCN0_f.js} +15 -15
- package/.output/public/_nuxt/CvGCN0_f.js.br +0 -0
- package/.output/public/_nuxt/CvGCN0_f.js.gz +0 -0
- package/.output/public/_nuxt/{ScQ9FtVj.js → DmYihq1h.js} +1 -1
- package/.output/public/_nuxt/DoX0nZZb.js +105 -0
- package/.output/public/_nuxt/DoX0nZZb.js.br +0 -0
- package/.output/public/_nuxt/DoX0nZZb.js.gz +0 -0
- package/.output/public/_nuxt/{DZGKxROq.js → DuVQjOfc.js} +1 -1
- package/.output/public/_nuxt/DuVQjOfc.js.br +0 -0
- package/.output/public/_nuxt/DuVQjOfc.js.gz +0 -0
- package/.output/public/_nuxt/Y-4S7Nuf.js +1 -0
- package/.output/public/_nuxt/Y-4S7Nuf.js.br +0 -0
- package/.output/public/_nuxt/Y-4S7Nuf.js.gz +0 -0
- package/.output/public/_nuxt/{board.DK5EU4sL.css → board.CeTYM1XN.css} +1 -1
- package/.output/public/_nuxt/board.CeTYM1XN.css.br +0 -0
- package/.output/public/_nuxt/board.CeTYM1XN.css.gz +0 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/fd79ea32-8bac-487a-afa1-7a6e336fff3f.json +1 -0
- package/.output/public/_nuxt/entry.Cd2iNkBC.css +2 -0
- package/.output/public/_nuxt/entry.Cd2iNkBC.css.br +0 -0
- package/.output/public/_nuxt/entry.Cd2iNkBC.css.gz +0 -0
- package/.output/public/_nuxt/error-404.Bb87HomL.css.br +0 -0
- package/.output/public/_nuxt/error-404.Bb87HomL.css.gz +0 -0
- package/.output/public/_nuxt/error-500.Bwd7zAaE.css.br +0 -0
- package/.output/public/_nuxt/error-500.Bwd7zAaE.css.gz +0 -0
- package/.output/public/_nuxt/hSqNtAW9.js +25 -0
- package/.output/public/_nuxt/hSqNtAW9.js.br +0 -0
- package/.output/public/_nuxt/hSqNtAW9.js.gz +0 -0
- package/.output/public/_nuxt/o1wml4Rx.js +31 -0
- package/.output/public/_nuxt/o1wml4Rx.js.br +0 -0
- package/.output/public/_nuxt/o1wml4Rx.js.gz +0 -0
- package/.output/public/_nuxt/pdf.min.t82Z80JU.mjs.br +0 -0
- package/.output/public/_nuxt/pdf.min.t82Z80JU.mjs.gz +0 -0
- package/.output/public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br +0 -0
- package/.output/public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz +0 -0
- package/.output/public/_nuxt/settings.Cdb21nNw.css.br +0 -0
- package/.output/public/_nuxt/settings.Cdb21nNw.css.gz +0 -0
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/_/branding.mjs +1 -1
- package/.output/server/chunks/_/package.mjs +1 -1
- package/.output/server/chunks/_/selfupdate.mjs +1 -1
- package/.output/server/chunks/_/updates.mjs +1 -1
- package/.output/server/chunks/_/worktrees.mjs +1 -1
- package/.output/server/chunks/_/ws.mjs +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +887 -253
- package/.output/server/chunks/raw/prerelease.mjs +1 -1
- package/.output/server/chunks/routes/api/_..._.mjs +1 -0
- package/.output/server/chunks/routes/api/agents.post.mjs +1 -0
- package/.output/server/chunks/routes/api/ask-tab.post.mjs +1 -0
- package/.output/server/chunks/routes/api/attach.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/disable.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/lock-all.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/lock.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/login/options.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/login/verify.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/max-session.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/register/options.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/register/verify.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/changes.get.mjs +1 -0
- package/.output/server/chunks/routes/api/chat/image.get.mjs +1 -0
- package/.output/server/chunks/routes/api/chat.get.mjs +1 -0
- package/.output/server/chunks/routes/api/choose.post.mjs +1 -0
- package/.output/server/chunks/routes/api/claude-setup.post.mjs +1 -0
- package/.output/server/chunks/routes/api/claude-statusline.post.mjs +1 -0
- package/.output/server/chunks/routes/api/clear-queued-input.post.mjs +1 -0
- package/.output/server/chunks/routes/api/close/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/close.post.mjs +1 -0
- package/.output/server/chunks/routes/api/codex-update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/commands.get.mjs +1 -0
- package/.output/server/chunks/routes/api/config.get.mjs +1 -0
- package/.output/server/chunks/routes/api/dirs.get.mjs +1 -0
- package/.output/server/chunks/routes/api/dismiss-stopped.post.mjs +1 -0
- package/.output/server/chunks/routes/api/dismiss.post.mjs +1 -0
- package/.output/server/chunks/routes/api/effort.post.mjs +1 -0
- package/.output/server/chunks/routes/api/efforts.get.mjs +1 -0
- package/.output/server/chunks/routes/api/file.post.mjs +1 -0
- package/.output/server/chunks/routes/api/files/download.get.mjs +1 -0
- package/.output/server/chunks/routes/api/files/download.head.mjs +1 -0
- package/.output/server/chunks/routes/api/files/read.get.mjs +1 -0
- package/.output/server/chunks/routes/api/files.get.mjs +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs +1 -0
- package/.output/server/chunks/routes/api/input.post.mjs +1 -0
- package/.output/server/chunks/routes/api/interrupt.post.mjs +1 -0
- package/.output/server/chunks/routes/api/isgit.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/awake.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/awake.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/order.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/order.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/reconnect.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/status.post.mjs +1 -0
- package/.output/server/chunks/routes/api/menu-left.post.mjs +1 -0
- package/.output/server/chunks/routes/api/menu.post.mjs +1 -0
- package/.output/server/chunks/routes/api/model.post.mjs +1 -0
- package/.output/server/chunks/routes/api/models.get.mjs +1 -0
- package/.output/server/chunks/routes/api/nav.post.mjs +1 -0
- package/.output/server/chunks/routes/api/onboarding.get.mjs +1 -0
- package/.output/server/chunks/routes/api/onboarding.post.mjs +1 -0
- package/.output/server/chunks/routes/api/phone.get.mjs +1 -0
- package/.output/server/chunks/routes/api/phone.post.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/actions.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/invoke.post.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/projects.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/projects.post.mjs +1 -0
- package/.output/server/chunks/routes/api/prompt.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/quiet.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/subscribe.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/test.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/unsubscribe.post.mjs +1 -0
- package/.output/server/chunks/routes/api/quotas.get.mjs +1 -0
- package/.output/server/chunks/routes/api/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/requeue.post.mjs +1 -0
- package/.output/server/chunks/routes/api/restart.get.mjs +1 -0
- package/.output/server/chunks/routes/api/restart.post.mjs +1 -0
- package/.output/server/chunks/routes/api/reveal.post.mjs +1 -0
- package/.output/server/chunks/routes/api/screen-key.post.mjs +1 -0
- package/.output/server/chunks/routes/api/screen.get.mjs +1 -0
- package/.output/server/chunks/routes/api/search.get.mjs +1 -0
- package/.output/server/chunks/routes/api/seen.post.mjs +1 -0
- package/.output/server/chunks/routes/api/sessions.get.mjs +1 -0
- package/.output/server/chunks/routes/api/sessions.post.mjs +1 -0
- package/.output/server/chunks/routes/api/settings-tab.post.mjs +1 -0
- package/.output/server/chunks/routes/api/settings.get.mjs +1 -0
- package/.output/server/chunks/routes/api/settings.post.mjs +1 -0
- package/.output/server/chunks/routes/api/space.post.mjs +1 -0
- package/.output/server/chunks/routes/api/state.get.mjs +1 -0
- package/.output/server/chunks/routes/api/tasks/action.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tasks/add.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tasks/after.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tasks/approve.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tasks/archive-done.post.mjs +40 -0
- package/.output/server/chunks/routes/api/tasks/archived.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/autopilot.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/autopilot.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/board-settings.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/board-settings.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/coordinator.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/coordinator.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/describe.post.mjs +40 -0
- package/.output/server/chunks/routes/api/tasks/details.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/limit.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/links.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/models.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/pick.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/project.get.mjs +41 -0
- package/.output/server/chunks/routes/api/tasks/project.post.mjs +40 -0
- package/.output/server/chunks/routes/api/tasks/question.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/scheduled.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/settings.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/start.get.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks/tell.post.mjs +2 -1
- package/.output/server/chunks/routes/api/tasks.get.mjs +1 -0
- package/.output/server/chunks/routes/api/unqueue.post.mjs +2 -1
- package/.output/server/chunks/routes/api/update/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/update.get.mjs +1 -0
- package/.output/server/chunks/routes/api/update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/upload.post.mjs +1 -0
- package/.output/server/chunks/routes/api/worktrees/remove.post.mjs +1 -0
- package/.output/server/chunks/routes/api/worktrees.get.mjs +1 -0
- package/.output/server/chunks/routes/favicon.ico.get.mjs +1 -0
- package/.output/server/chunks/routes/icons/_name_.get.mjs +2 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -2
- package/.output/server/chunks/routes/uploads/_...name_.get.mjs +2 -1
- package/.output/server/chunks/routes/ws/_..._.mjs +2 -1
- package/.output/server/chunks/routes/ws/events.mjs +2 -1
- package/.output/server/chunks/routes/ws/term.mjs +2 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +2 -1
- package/.output/server/package.json +1 -1
- package/docs/README.md +4 -0
- package/docs/RELEASING.md +58 -46
- package/docs/board.md +7 -0
- package/docs/configuration.md +9 -0
- package/docs/development.md +1 -1
- package/docs/release-notes-2.1.0.md +21 -0
- package/docs/release-notes-2.2.0.md +19 -0
- package/package.json +1 -1
- package/.output/public/_nuxt/072bjdot.js +0 -2
- package/.output/public/_nuxt/8FAMamJX.js +0 -1
- package/.output/public/_nuxt/C2aT0CgA.js +0 -62
- package/.output/public/_nuxt/CanLPS0U.js +0 -105
- package/.output/public/_nuxt/DGXKTg7D.js +0 -31
- package/.output/public/_nuxt/DTiR5P9E.js +0 -25
- package/.output/public/_nuxt/DZ7VvF3e.js +0 -1
- package/.output/public/_nuxt/DumNBIyF.js +0 -1
- package/.output/public/_nuxt/builds/meta/b6ed1ddd-d6d6-4137-beab-2548b20dd998.json +0 -1
- package/.output/public/_nuxt/entry.BhiYrGAW.css +0 -2
package/docs/RELEASING.md
CHANGED
|
@@ -4,7 +4,11 @@ Publishing a version requires the user's explicit approval. Never republish a pa
|
|
|
4
4
|
for npm review. No new secret is needed: GitHub uses `GITHUB_TOKEN`, npm uses OIDC Trusted
|
|
5
5
|
Publishing (`npm.yml`), and the tap uses the existing optional `HOMEBREW_TAP_TOKEN`.
|
|
6
6
|
|
|
7
|
-
1.
|
|
7
|
+
1. Prepare the version and notes in a PR targeting `develop`, the integration branch.
|
|
8
|
+
`main` only receives reviewed releases; `v2` is no longer an integration branch.
|
|
9
|
+
Require `checks` and `e2e` to be green on the exact preparation head, with the current
|
|
10
|
+
`develop` merged in. After explicit approval, open a release PR from `develop` to `main`
|
|
11
|
+
and require those checks again on its exact head before merging. The site workflow
|
|
8
12
|
deploys relevant changes on pushes to `main`, independently of tags and npm.
|
|
9
13
|
2. Set the same version in `package.json`, `package-lock.json` and `herdr-plugin.toml`.
|
|
10
14
|
Move the Unreleased changelog into a dated version entry. Run tests, typecheck and leak
|
|
@@ -104,11 +108,13 @@ are released after the browser saves the file, keeping repeated downloads reliab
|
|
|
104
108
|
[Full changelog](https://github.com/example/wherdr/blob/vX.Y.Z/CHANGELOG.md)
|
|
105
109
|
```
|
|
106
110
|
|
|
107
|
-
## Rolling
|
|
111
|
+
## Rolling develop prerelease
|
|
108
112
|
|
|
109
|
-
`
|
|
110
|
-
can install
|
|
111
|
-
It publishes the
|
|
113
|
+
`develop-prerelease.yml` rebuilds one prerelease on every push to the `develop` branch (the
|
|
114
|
+
integration branch; `main` only receives releases), so a machine can install develop from a prebuilt package (the plugin's GitHub download) and never compile it.
|
|
115
|
+
It always publishes the fixed tag **`develop`**, including stable package versions.
|
|
116
|
+
The package version stays unchanged; `COMMIT` identifies the build. Existing
|
|
117
|
+
`vX.Y.Z-dev` prereleases are left alone.
|
|
112
118
|
|
|
113
119
|
- the tag moves to the pushed commit; the release is a prerelease, never `latest`. The update
|
|
114
120
|
checks of every version, the legacy channel and `release-ready.yml` only read stable
|
|
@@ -122,53 +128,59 @@ It publishes the version of `herdr-plugin.toml` (for example `2.0.0-dev`, before
|
|
|
122
128
|
before the archive is replaced and attached last: when `COMMIT` is there and names the
|
|
123
129
|
branch head, the archive is that commit's.
|
|
124
130
|
|
|
125
|
-
|
|
131
|
+
The Pi reads `releases/tags/develop`, never `releases/latest`. Download `COMMIT`,
|
|
132
|
+
the single `wherdr-<version>.tgz` asset and `wherdr-<version>.tgz.sha256`.
|
|
133
|
+
For 2.1.0 these are `wherdr-2.1.0.tgz` and `wherdr-2.1.0.tgz.sha256`.
|
|
134
|
+
Verify the checksum and install the archive through the existing prebuilt-package
|
|
135
|
+
installation path. Read `COMMIT` again after downloading and retry if it changed
|
|
136
|
+
or is absent: publication can overlap a download. Previous version assets are removed.
|
|
126
137
|
|
|
127
|
-
The
|
|
128
|
-
|
|
129
|
-
|
|
138
|
+
The workflow sets `PRERELEASE_TAG=develop` for `scripts/prerelease.sh`. Its notes
|
|
139
|
+
identify the branch and commit even when release preparation has emptied Unreleased.
|
|
140
|
+
Without that setting, the script keeps the historical `vX.Y.Z-suffix` mode and its
|
|
141
|
+
Unreleased summary requirement. Both modes refuse to edit a release unless it is
|
|
142
|
+
a published prerelease. The fixed tag does not match stable version tags; its
|
|
143
|
+
`GITHUB_TOKEN` update also starts neither `release.yml` nor `npm.yml`. Stable
|
|
144
|
+
publishing, update checks and readiness workflows remain unchanged.
|
|
130
145
|
|
|
131
|
-
|
|
132
|
-
prerelease suffix (`X.Y.Z-something`) and a release of that tag that is not a published
|
|
133
|
-
prerelease: stable versions keep going through the steps above. The tag is moved with
|
|
134
|
-
`GITHUB_TOKEN`, which starts neither `release.yml` nor `npm.yml`. The workflow runs from the
|
|
135
|
-
`v2` branch: it acts once this file is on `v2`.
|
|
146
|
+
## Publishing the prepared 2.1.0 release
|
|
136
147
|
|
|
137
|
-
|
|
148
|
+
The preparation PR targets `develop`. Version 2.1.0 includes new task description editing,
|
|
149
|
+
bulk archiving and task limit controls as well as fixes, so it uses a minor increment from
|
|
150
|
+
2.0.1 rather than the initially proposed 2.0.2 patch. It introduces no intended breaking
|
|
151
|
+
change and needs no migration from 2.0.1.
|
|
138
152
|
|
|
139
|
-
|
|
140
|
-
|
|
153
|
+
After explicit approval, merge the reviewed preparation PR into `develop`, then review a
|
|
154
|
+
`develop` → `main` release PR. Require `checks` and `e2e` on the exact release head;
|
|
155
|
+
run the full CI workflow manually on that head before publication (release tags also run
|
|
156
|
+
full CI, but the publishing workflows do not wait for it). Do not tag or create even a
|
|
157
|
+
GitHub draft until these checks and the publication approval are complete.
|
|
158
|
+
|
|
159
|
+
In a clean checkout of the approved `main` commit, using Node.js 22:
|
|
160
|
+
|
|
161
|
+
```sh
|
|
162
|
+
git fetch origin
|
|
163
|
+
git merge --ff-only origin/main
|
|
164
|
+
test "$(git rev-parse HEAD)" = "$(git rev-parse origin/main)"
|
|
165
|
+
test "$(node -p "require('./package.json').version")" = 2.1.0
|
|
166
|
+
GITHUB_REPOSITORY="$(gh repo view --json nameWithOwner -q .nameWithOwner)" GITHUB_REF_NAME=v2.1.0 node scripts/check-release-notes.mjs < docs/release-notes-2.1.0.md
|
|
167
|
+
git tag v2.1.0
|
|
168
|
+
# Prepare the reviewed draft before the tag push starts publication.
|
|
169
|
+
gh release create v2.1.0 --target "$(git rev-parse HEAD)" --draft --title "wherdr 2.1.0" --notes-file docs/release-notes-2.1.0.md
|
|
170
|
+
git push origin v2.1.0
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Verify that `release.yml`, `npm.yml` and full tag CI actually started on the approved SHA.
|
|
174
|
+
If the existing tag push does not trigger them, stop and resolve the workflow trigger;
|
|
175
|
+
never move the tag or publish a different build. `release.yml` has no manual trigger.
|
|
176
|
+
Wait for packaging and publication to succeed, then perform the mandatory manual tap update
|
|
177
|
+
when the optional tap secret is absent:
|
|
141
178
|
|
|
142
179
|
```sh
|
|
143
|
-
|
|
144
|
-
git pull --ff-only
|
|
145
|
-
git switch -c release/2.0.0
|
|
146
|
-
npm version 2.0.0 --no-git-tag-version
|
|
147
|
-
sed -i.bak 's/^version = ".*"/version = "2.0.0"/' herdr-plugin.toml
|
|
148
|
-
rm herdr-plugin.toml.bak
|
|
149
|
-
# Move Unreleased notes to the dated 2.0.0 entry, run the project checks, then commit.
|
|
150
|
-
git add package.json package-lock.json herdr-plugin.toml CHANGELOG.md
|
|
151
|
-
git commit -m "Prepare release 2.0.0"
|
|
152
|
-
git push -u origin release/2.0.0
|
|
153
|
-
gh pr create --base main --head release/2.0.0 --title "Prepare release 2.0.0" --body "Prepare the reviewed 2.0.0 release versions and changelog."
|
|
154
|
-
# Open, review and merge the version PR; refresh main before continuing.
|
|
155
|
-
git switch main
|
|
156
|
-
git pull --ff-only
|
|
157
|
-
# Use the reviewed notes committed with the version preparation.
|
|
158
|
-
GITHUB_REPOSITORY="$(gh repo view --json nameWithOwner -q .nameWithOwner)" GITHUB_REF_NAME=v2.0.0 node scripts/check-release-notes.mjs < docs/release-notes-2.0.0.md
|
|
159
|
-
gh release create v2.0.0 --target "$(git rev-parse HEAD)" --draft --title "wherdr 2.0.0" --notes-file docs/release-notes-2.0.0.md
|
|
160
|
-
git tag v2.0.0
|
|
161
|
-
git push origin v2.0.0
|
|
162
|
-
release_run=$(gh run list --workflow release.yml --commit "$(git rev-parse HEAD)" --json databaseId --jq '.[0].databaseId')
|
|
163
|
-
# If no run appears yet, wait for GitHub to register the tag and repeat the lookup.
|
|
164
|
-
gh run watch "$release_run" --exit-status
|
|
165
|
-
gh run list --workflow npm.yml --limit 3
|
|
166
|
-
# MANDATORY while the tap secret is absent. Run only after release.yml succeeds:
|
|
167
|
-
sh scripts/bump-homebrew.sh 2.0.0 "$(gh repo view --json owner -q .owner.login)"
|
|
168
|
-
# Inspect the readiness workflow; optionally request an immediate check:
|
|
180
|
+
sh scripts/bump-homebrew.sh 2.1.0 "$(gh repo view --json owner -q .owner.login)"
|
|
169
181
|
gh workflow run release-ready.yml --ref main
|
|
170
182
|
```
|
|
171
183
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
184
|
+
Do not manually publish the draft or mark it latest. npm publishes the attached archive
|
|
185
|
+
with provenance; npm moderation can delay availability. Readiness advances the legacy
|
|
186
|
+
channel only when npm and Homebrew are both ready. Never retry a successful npm publish.
|
package/docs/board.md
CHANGED
|
@@ -101,6 +101,13 @@ What the Board shows and does:
|
|
|
101
101
|
not started yet takes a first message (`coordinator tell`), which starts it. One that
|
|
102
102
|
herdr-projects could not start (an agent not installed there…) says why, with **Try again**
|
|
103
103
|
(`coordinator restart`) once it is fixed: the message still waiting then goes in.
|
|
104
|
+
- **New → Coordinator** opens a project coordinator from any Git folder of the chosen machine:
|
|
105
|
+
a repo the board knows, or **Other repository…** and a folder. The sheet says whether that
|
|
106
|
+
folder is **On the board** (its project name), a **New project** (the name it will get), or
|
|
107
|
+
missing or not Git. **Add and open conversation** adds a new one to that machine's board first:
|
|
108
|
+
herdr-projects has no command for that alone, so wherdr adds an automation for that folder
|
|
109
|
+
(`automations add --repo <folder> --when merged`) and removes it at once. No task is made, so
|
|
110
|
+
no "added" automation fires. The coordinator is then named by the repo's name.
|
|
104
111
|
- **Autopilot** (herdr-projects 1.2.15 or later): each coordinator has a switch, under the Board's
|
|
105
112
|
bar for the main Coordinator, in each machine and repo heading, and at the top of its panel. It
|
|
106
113
|
shows whether the board wakes that coordinator to work toward its goal, and when next. Turning it
|
package/docs/configuration.md
CHANGED
|
@@ -37,3 +37,12 @@ In the app, **Settings** holds display preferences such as theme, typing effect
|
|
|
37
37
|
home screen shows; these follow you across devices through `settings.json`. Language,
|
|
38
38
|
notifications, terminal text size and renderer remain device-specific. The passkey lock is
|
|
39
39
|
managed under Settings › Security.
|
|
40
|
+
|
|
41
|
+
## Paste diagnostics
|
|
42
|
+
|
|
43
|
+
Enable **Settings → Advanced → Paste journal** on the device used for dictation.
|
|
44
|
+
Paste into an agent's message field, then return to Advanced to inspect the last
|
|
45
|
+
50 events: event kind, clipboard types, text length, default prevention, focus
|
|
46
|
+
and whether the field or its attachments changed. Text content is never recorded.
|
|
47
|
+
The journal stays in memory until reload; disabling the switch clears it.
|
|
48
|
+
The switch is off by default and stays local to this browser.
|
package/docs/development.md
CHANGED
|
@@ -32,7 +32,7 @@ and logs a warning.
|
|
|
32
32
|
## Contributing
|
|
33
33
|
|
|
34
34
|
See [CONTRIBUTING.md](../CONTRIBUTING.md), including the [agent test rule](../CONTRIBUTING.md#agent-test-rule)
|
|
35
|
-
and `npm run test:affected -- --base origin/
|
|
35
|
+
and `npm run test:affected -- --base origin/develop --dry-run`. Changes are listed in [CHANGELOG.md](../CHANGELOG.md).
|
|
36
36
|
|
|
37
37
|
Every commit is public: a leak check (gitleaks plus your own forbidden patterns) covers the files
|
|
38
38
|
and the commits about to be pushed; see [Leak check](../CONTRIBUTING.md#leak-check).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
## New
|
|
2
|
+
|
|
3
|
+
Edit a task's description directly in its panel. Archive all completed tasks in a repository together after confirming the action.
|
|
4
|
+
|
|
5
|
+
The Task tab now shows time and token limit gauges. At a limit stop, raise the limit with a preset or enter your own value before resuming.
|
|
6
|
+
|
|
7
|
+
## Improved
|
|
8
|
+
|
|
9
|
+
Tasks open immediately from the sidebar, with the selected task highlighted on the Board. Cached Boards and conversations appear while fresh data loads, and narrow screens keep panels and controls within reach.
|
|
10
|
+
|
|
11
|
+
Working tasks distinguish an active agent, a task waiting for CI and a task queued behind other work. Automatic Autopilot wakes appear as distinct conversation notes.
|
|
12
|
+
|
|
13
|
+
## Fixed
|
|
14
|
+
|
|
15
|
+
Creating a project coordinator from a Git folder registers the repository before opening its conversation, including on remote machines. Unreachable Board machines show the reason in their headings, and long queued-task badges fit on mobile screens.
|
|
16
|
+
|
|
17
|
+
## Update
|
|
18
|
+
|
|
19
|
+
This release adds features to 2.0.1 and therefore uses version 2.1.0 rather than 2.0.2. No migration is required from 2.0.1; existing tasks and settings are kept. Node.js 22 or newer and Herdr 0.9.1 or newer are still required. Users upgrading from 1.x should follow the [2.0 migration guide](https://github.com/afloury/wherdr/blob/v2.1.0/docs/herdr-projects-1x.md).
|
|
20
|
+
|
|
21
|
+
[Full changelog](https://github.com/afloury/wherdr/blob/v2.1.0/CHANGELOG.md)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## New
|
|
2
|
+
|
|
3
|
+
Choose one task type when creating a task: work, research or conversation. You can also request a plan before work starts and choose whether you or the reviewer approves it, or keep the inherited setting.
|
|
4
|
+
|
|
5
|
+
## Improved
|
|
6
|
+
|
|
7
|
+
Agent cards preload the end of their conversations on hover or intent to open, making the latest messages available sooner when you open a conversation.
|
|
8
|
+
|
|
9
|
+
## Fixed
|
|
10
|
+
|
|
11
|
+
Text dictated with Spokely is captured synchronously when pasted into the message field, preventing lost text. The HTML paste fallback preserves paragraph and line boundaries.
|
|
12
|
+
|
|
13
|
+
For troubleshooting, enable the optional Paste journal in Settings › Advanced. It records diagnostic events without recording text content, stays in memory until reload and clears when disabled.
|
|
14
|
+
|
|
15
|
+
## Update
|
|
16
|
+
|
|
17
|
+
This release adds features to 2.1.0 and therefore uses version 2.2.0 rather than 2.1.1. No migration is required from 2.1.0; existing tasks and settings are kept. Node.js 22 or newer and Herdr 0.9.1 or newer are still required. Users upgrading from 1.x should follow the [2.0 migration guide](https://github.com/afloury/wherdr/blob/v2.2.0/docs/herdr-projects-1x.md).
|
|
18
|
+
|
|
19
|
+
[Full changelog](https://github.com/afloury/wherdr/blob/v2.2.0/CHANGELOG.md)
|