@workser/cli 0.6.7 → 0.6.9
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/AGENTS.md +17 -6
- package/dist/index.js +590 -314
- package/package.json +1 -1
- package/skills/workser/SKILL.md +5 -6
- package/skills/workser/reference/key.md +40 -0
- package/skills/workser/reference/sdlc-entities.md +11 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workser/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.9",
|
|
4
4
|
"description": "Workser CLI — give your local AI agent native DevOps & infrastructure on Workser. The agent runs `workser …` to provision, deploy, and manage real apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/skills/workser/SKILL.md
CHANGED
|
@@ -75,12 +75,11 @@ pick or switch it.
|
|
|
75
75
|
reverse it), and `workser design show --json` before writing UI. This project
|
|
76
76
|
outlives your session; that context is how you don't start from zero.
|
|
77
77
|
3. **A phased plan goes on the subtask list, never the Board.** Phases are
|
|
78
|
-
`workser task subtask add`
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
`workser help sdlc-entities`.
|
|
78
|
+
`workser task subtask add` — not `board create`, which makes a second,
|
|
79
|
+
driftable "the plan" the task page never reads. Write the narrative once as
|
|
80
|
+
`doc create`, plus `decision create` for a real tradeoff. A plan in your
|
|
81
|
+
reply alone is gone when the conversation scrolls. How to correct a wrong
|
|
82
|
+
row, and what not to link: `workser help sdlc-entities`.
|
|
84
83
|
4. **Stay in your lane.** `error.code = "owner_only"` (exit 6) means the action is
|
|
85
84
|
reserved for the owner in Orbit. Don't retry or look for a workaround — tell the
|
|
86
85
|
user, then continue. Provisioning the *pinned project's own* db / bucket / auth is
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
topic: key
|
|
3
|
+
title: Managed keys — list and rotate this app's Workser-issued credentials
|
|
4
|
+
summary: See this app's AI Gateway and auth keys (redacted), and rotate one without opening Orbit.
|
|
5
|
+
commands: [key]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Managed keys — list and rotate this app's Workser-issued credentials
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
workser key list [--app <webAppId>]
|
|
12
|
+
workser key rotate <key> [--app <webAppId>] [--env production|preview]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
App-scoped, not project-scoped: run from the app's own folder and `--app` is
|
|
16
|
+
picked up automatically; from anywhere else, pass `--app <webAppId>` — a
|
|
17
|
+
mistake here is the wrong app's key, so there is no "primary app" default the
|
|
18
|
+
way `env` has one.
|
|
19
|
+
|
|
20
|
+
## What's rotatable
|
|
21
|
+
|
|
22
|
+
Only credentials with a real rotation handler:
|
|
23
|
+
|
|
24
|
+
- `AI_GATEWAY_API_KEY` — the deployed agent's key into the Workser AI
|
|
25
|
+
Gateway. Split by environment (`--env production` or `--env preview`
|
|
26
|
+
required), so rotating one never touches the other.
|
|
27
|
+
- `BETTER_AUTH_SECRET` — a single value, no `--env` needed.
|
|
28
|
+
|
|
29
|
+
Every other Workser-managed value (`DATABASE_URL`, the internal service
|
|
30
|
+
keys) has no rotation handler yet — each belongs to a different subsystem
|
|
31
|
+
with its own cutover semantics, and `key rotate` refuses rather than fake
|
|
32
|
+
one.
|
|
33
|
+
|
|
34
|
+
## After rotating
|
|
35
|
+
|
|
36
|
+
The old value stops authorizing immediately, server-side. An already-running
|
|
37
|
+
deployment keeps using whatever it was built with until it's redeployed —
|
|
38
|
+
run `workser deploy` (`--prod` for the production key) to pick up the new
|
|
39
|
+
value. `key rotate` prints the new secret exactly once; it is never shown
|
|
40
|
+
again or stored anywhere in the clear.
|
|
@@ -66,6 +66,17 @@ workser doc create "Checkout — implementation plan" --markdown "$(cat plan.md)
|
|
|
66
66
|
workser decision create "Carts live server-side" --context "…" --decision "…" --json
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
**A wrong row is edited, not replaced.** If a subtask's title, teammate, note or
|
|
70
|
+
scope is wrong after you created it, fix that same row:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
workser task subtask update <id> --title "…" --role api --note "…" --scope "src/api"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Never tell the user a subtask is locked, and never file a second one alongside
|
|
77
|
+
the wrong one — a plan with a duplicate phase in it is a plan nobody can read
|
|
78
|
+
the progress of.
|
|
79
|
+
|
|
69
80
|
**Don't pass `--work-item` for a multi-phase plan.** A linked document renders on
|
|
70
81
|
its card and is *hidden* from the Docs panel; a plan spanning three phases
|
|
71
82
|
belongs to the project, not to phase 1.
|