@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 +32 -16
- package/dist/cli.js +719 -368
- package/dist/menubar/Powerplant.app.zip +0 -0
- package/package.json +1 -1
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
|
|
140
|
-
staging environment (and our own development and agent machines)
|
|
141
|
-
|
|
142
|
-
never follow npm: they ask the production API which version is
|
|
143
|
-
and install exactly that, pinned. When a release has held up on
|
|
144
|
-
dispatch the Promote CLI workflow
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
|
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
|
|
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
|