| … | … | @@ -138,9 +138,13 @@ launchers resolve `bare` from your `PATH`, so put one there — either install |
| 138 | 138 | it globally (`npm i -g bare-runtime`) or symlink the one you just built: |
| 139 | 139 | |
| 140 | 140 | ```bash |
| 141 | mkdir -p ~/.local/bin |
| 141 | 142 | ln -sf "$PWD/pgh/node_modules/.bin/bare" ~/.local/bin/bare |
| 142 | 143 | ``` |
| 143 | 144 | |
| 145 | `~/.local/bin` must be on your `PATH` for the `pgh` / `bare` launchers to |
| 146 | resolve (add `export PATH="$HOME/.local/bin:$PATH"` to your shell rc if not). |
| 147 | |
| 144 | 148 | ### 4. Register the source trees and initialise |
| 145 | 149 | |
| 146 | 150 | `pgh app adopt` writes a launcher that runs the app **in place** from your |
| … | … | @@ -156,8 +160,11 @@ directly, since `pgh` isn't on your `PATH` yet: |
| 156 | 160 | # now `pgh` is on PATH — adopt the daemon |
| 157 | 161 | pgh app adopt ./pgh-sidecar --name pgh-sidecar --bin pgh-sidecar |
| 158 | 162 | |
| 159 | | # one-time machine setup: store, identity vault, start pgh-sidecar |
| 163 | # one-time machine setup: tree store, identity vault, config |
| 160 | 164 | pgh init |
| 165 | |
| 166 | # start the daemon (adopt marks it autostart; init does NOT start it) |
| 167 | pgh app boot # or: pgh app start pgh-sidecar |
| 161 | 168 | ``` |
| 162 | 169 | |
| 163 | 170 | Confirm it came up: |
| … | … | @@ -172,10 +179,29 @@ From here everything works as with a tarball install — `pgh app install`, |
| 172 | 179 | source. To pick up upstream changes: `git pull` in the relevant repo, |
| 173 | 180 | `npm install` if deps changed, then `pgh app restart pgh-sidecar`. |
| 174 | 181 | |
| 175 | | > **Note — OTA and source installs.** An adopted source tree is *not* managed |
| 176 | | > by the release-registry, so the sidecar's autoupdate won't overwrite it (that |
| 177 | | > is the point). It also won't self-heal over the swarm. Update it yourself with |
| 178 | | > `git pull` as above. |
| 182 | ### Keep OTA from clobbering your source install |
| 183 | |
| 184 | **Do this — the running sidecar auto-updates adopted apps too.** `pgh` and |
| 185 | `pgh-sidecar` are actively published to the release-registry, and the sidecar's |
| 186 | autoupdate poller treats every installed app as a candidate — adopted source |
| 187 | trees included. When a newer (or even just *different*) release appears, it |
| 188 | materializes that published tree and repoints the launcher, silently replacing |
| 189 | your from-source setup. If your checkout is on an unreleased branch *ahead* of |
| 190 | the latest release, it can even install the older published version over you. |
| 191 | |
| 192 | Autoupdate is **on by default**. Turn it off for the two packages you build |
| 193 | from source by editing `~/.config/pgh/apps.json` (create it if absent): |
| 194 | |
| 195 | ```json |
| 196 | { |
| 197 | "pgh": { "autoupdate": false }, |
| 198 | "pgh-sidecar": { "autoupdate": false } |
| 199 | } |
| 200 | ``` |
| 201 | |
| 202 | There is no CLI toggle for this yet — it has to be the file. With autoupdate |
| 203 | off, you own updates: `git pull`, `npm install` if deps changed, then |
| 204 | `pgh app restart pgh-sidecar`. |
| 179 | 205 | |
| 180 | 206 | ## Common commands |
| 181 | 207 | |