@usepowerplant/cli 0.4.4 → 0.4.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 CHANGED
@@ -24,7 +24,11 @@ re-run at any time — finished steps are skipped with a note:
24
24
  ones in scope. If recent sessions name repositories under a macOS-protected
25
25
  location such as Documents, init lists the location and asks before reading
26
26
  Git metadata there; declining leaves those sessions local. The service
27
- starts on login and keeps itself running.
27
+ starts on login and keeps itself running. On macOS, init also installs
28
+ the Powerplant menu bar app from this package into `~/Applications` and
29
+ launches it; the app registers itself to start at login (turn that off
30
+ from its More menu), and the background service keeps it on the same
31
+ version as the CLI after every update.
28
32
  3. **Add MCP to your agents.** Init lists the agents it found — Claude Code,
29
33
  Codex, and Cursor — as checked boxes. They all start selected; use the arrow
30
34
  keys and Space to turn off any you want to skip, then press Enter (`--yes`,
@@ -98,6 +102,9 @@ day-to-day upload path on machines that can't run it; asked for explicitly, it
98
102
  still runs while paused and says so. `disconnect` is the
99
103
  inverse of `connect`: it removes each agent's Powerplant MCP entry and the
100
104
  sign-in stored with it, and agents that were never connected just say so.
105
+ Use `powerplant disconnect --client claude` to remove only Claude's connection.
106
+ The `--client` option also accepts `codex` and `cursor`, and can be repeated.
107
+ Omitting it disconnects all detected agents.
101
108
 
102
109
  ## Updating
103
110
 
@@ -136,34 +143,43 @@ it is no longer tested or fixed, so update when you see it.
136
143
 
137
144
  ### How a release reaches production
138
145
 
139
- Every release is published to npm as `latest`. Machines pinned to the
140
- staging environment (and our own development and agent machines) follow
141
- npm, so a release soaks on our own machines first. Production machines
142
- never follow npm: they ask the production API which version is promoted
143
- and install exactly that, pinned. When a release has held up on staging,
144
- dispatch the Promote CLI workflow with the version; production machines
145
- with automatic updates install it within the hour, and everyone else sees
146
- it in the menu bar and `powerplant status`. Until something is promoted,
147
- production sees no update at all, only the supported-version floor.
148
- Promoting an older version than the current one is a hold: production
149
- stops advancing, and no machine downgrades. A bad release is undone by a
150
- new release and a new promotion.
146
+ Every release is published to npm's `next` dist-tag. Machines pinned to
147
+ the staging environment (and our own development and agent machines)
148
+ follow `next`, so a release runs on our own machines first. Production
149
+ machines never follow npm: they ask the production API which version is
150
+ promoted and install exactly that, pinned. When a release has held up on
151
+ staging, dispatch the Promote CLI workflow (leave the version blank to
152
+ promote what `next` points at) with a current one-time code for the
153
+ `forestwalklabs` npm account from 1Password: it moves npm's `latest` to
154
+ the same artifact staging tested, so a fresh `npm install -g` always gets
155
+ exactly what production runs, and points production machines at it;
156
+ machines with automatic updates install it within the hour, and everyone
157
+ else sees it in the menu bar and `powerplant status`. Until something is
158
+ promoted, production sees no update at all, only the supported-version
159
+ floor. Promoting an older version than the current one is a hold:
160
+ production stops advancing, `latest` moves back for new installs, and no
161
+ enrolled machine downgrades. A bad release is undone by a new release and
162
+ a new promotion.
151
163
 
152
164
  ### Staging beside production on one Mac
153
165
 
154
166
  A machine has one global `powerplant` by default, and the background sync
155
- for each environment runs whatever copy `init` was run from. To soak
167
+ for each environment runs whatever copy `init` was run from. To try
156
168
  releases on staging while production keeps the promoted version, give
157
169
  staging its own copy under its own npm prefix and set it up from there:
158
170
 
159
171
  ```bash
160
- npm install -g --prefix ~/.powerplant-staging @usepowerplant/cli
172
+ npm install -g --prefix ~/.powerplant-staging @usepowerplant/cli@next
161
173
  ~/.powerplant-staging/bin/powerplant init --env staging
162
174
  ```
163
175
 
176
+ The `@next` pin matters: a bare install resolves `latest`, the production
177
+ channel, so the new staging copy would start on the promoted release and
178
+ test nothing until its first update.
179
+
164
180
  The staging daemon runs that copy and updates it in place (the updater
165
181
  pins npm to the prefix the running copy lives under), so
166
- `~/.powerplant-staging` follows npm's newest release while the production
182
+ `~/.powerplant-staging` follows the `next` channel while the production
167
183
  install follows the promoted one. Run staging commands through that path,
168
184
  `~/.powerplant-staging/bin/powerplant status --env staging`, or put the
169
185
  directory on your PATH after the production one. `powerplant doctor` names