@workser/cli 0.1.0 → 0.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.
@@ -0,0 +1,42 @@
1
+ ---
2
+ topic: neon
3
+ title: The project's own Neon backend
4
+ summary: Neon-branch object storage and functions. Dedicated tenancy only.
5
+ commands: [neon]
6
+ ---
7
+
8
+ # The project's own Neon backend
9
+
10
+ S3-compatible object storage and Node.js HTTP functions on the project's own Neon
11
+ branch — they branch with the database. **Additive** infrastructure, not a
12
+ replacement for `workser storage`.
13
+
14
+ ```
15
+ workser neon status # tenancy + toggles + region verdict
16
+ workser neon storage list | create <name> | rm <bucket>
17
+ workser neon storage ls <bucket> [prefix]
18
+ workser neon storage put <bucket> <local> [key]
19
+ workser neon storage get <bucket> <key> [dest]
20
+ workser neon storage url <bucket> <key> # temporary download URL
21
+ workser neon functions list | deploy <slug> <zip> | rm <slug>
22
+ ```
23
+
24
+ ## Check `neon status` first — always
25
+
26
+ Three things must all be true: **dedicated tenancy**, the capability **switched on**,
27
+ and a **supported region**.
28
+
29
+ Region is fixed when the project is created. `regionSupportsNeonBackend: false` is
30
+ **final, not retryable** — no amount of waiting or retrying changes it. When you see
31
+ it, say so plainly and fall back to `workser storage` (the default bucket).
32
+
33
+ ## Notes that matter
34
+
35
+ - **`neon storage rm <bucket>` deletes the bucket and everything in it.** Not
36
+ reversible. Confirm with the user first.
37
+ - **`neon storage url`** issues a short-lived URL — prefer it to moving large files
38
+ through Workser.
39
+ - **Functions deploy from a zip.** Build the bundle first, then
40
+ `workser neon functions deploy <slug> <zip>`.
41
+ - **Most apps don't need this.** If the user just wants to store uploads, the default
42
+ bucket in `reference/storage.md` is the answer.
@@ -0,0 +1,33 @@
1
+ ---
2
+ topic: roles
3
+ title: Delegate to roles
4
+ summary: Hand a focused subtask to another configured local agent.
5
+ commands: [agent]
6
+ ---
7
+
8
+ # Delegate to roles
9
+
10
+ The user can configure **roles** — named specialists each backed by a local CLI agent
11
+ (e.g. `qa` → codex, `designer` → claude_code).
12
+
13
+ ```
14
+ workser agent list # main agent + configured roles (+ which are runnable)
15
+ workser agent run <role> "<task>" # delegate a focused subtask (runs isolated)
16
+ workser agent main # show the configured main agent
17
+ ```
18
+
19
+ ## How to use it
20
+
21
+ Run `workser agent list --json` first — it tells you which roles exist **and** which
22
+ are actually runnable on this machine. Delegating to a role that isn't installed just
23
+ fails.
24
+
25
+ `workser agent run <role> "<task>" --json` runs the role as an **isolated local
26
+ subagent** with its own context and returns `{role, agent, output, exitCode}`.
27
+
28
+ - Hand off focused subtasks — review this diff, design this screen — to keep your own
29
+ context lean and get a specialized second perspective.
30
+ - **A non-zero `exitCode` means the role's run failed.** Surface that; don't quietly
31
+ treat empty output as success.
32
+ - The subagent doesn't share your context. Put everything it needs in the task
33
+ string; it cannot see the conversation you're in.
@@ -0,0 +1,37 @@
1
+ ---
2
+ topic: storage
3
+ title: File storage
4
+ summary: The project's default bucket — upload, list, download.
5
+ commands: [storage]
6
+ ---
7
+
8
+ # File storage
9
+
10
+ The project's default bucket (Cloudflare R2 behind Workser). Every project gets one;
11
+ `create` is idempotent.
12
+
13
+ ```
14
+ workser storage create [name] # provision the bucket (idempotent)
15
+ workser storage list # the project's bucket
16
+ workser storage ls [prefix] # list objects in the bucket
17
+ workser storage put <local> <key> # upload a file into the bucket
18
+ workser storage get <key> [dest] # download an object (or print its URL)
19
+ ```
20
+
21
+ ## Notes that matter
22
+
23
+ - **One bucket per project, shared by its apps.** Namespace your keys by app or
24
+ feature (`invoices/2026/…`) rather than assuming the root is yours.
25
+ - **`storage get` with no destination prints a URL** instead of writing a file —
26
+ useful when you just want to hand the user something to click.
27
+ - **This is not where app uploads should go through you.** At runtime the app uses
28
+ `workser.storage` from `@workser/app`, and for anything large it should request a
29
+ presigned upload URL so the bytes never pass through Workser. See the
30
+ `workser-sdk` skill.
31
+
32
+ ## Not the same as `workser neon storage`
33
+
34
+ `storage` is the default R2 bucket every project has. `neon storage` is additive
35
+ infrastructure on the project's own Neon branch, available only on dedicated tenancy
36
+ in a supported region. They are different stores — a file put in one is not visible
37
+ in the other. See `reference/neon-backend.md`.