@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.
- package/AGENTS.md +35 -0
- package/dist/index.js +1139 -135
- package/package.json +4 -3
- package/skills/workser/SKILL.md +57 -164
- package/skills/workser/reference/automation.md +55 -0
- package/skills/workser/reference/business-data.md +51 -0
- package/skills/workser/reference/computer-use.md +35 -0
- package/skills/workser/reference/database.md +41 -0
- package/skills/workser/reference/deliverables.md +65 -0
- package/skills/workser/reference/deploy.md +56 -0
- package/skills/workser/reference/images.md +35 -0
- package/skills/workser/reference/memory.md +34 -0
- package/skills/workser/reference/neon-backend.md +42 -0
- package/skills/workser/reference/roles.md +33 -0
- package/skills/workser/reference/storage.md +37 -0
|
@@ -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`.
|