@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 CHANGED
@@ -53,6 +53,14 @@ workser storage create [name] | list # provision + show the bucket
53
53
  workser storage ls [prefix] # list objects in the bucket
54
54
  workser storage put <local> <key> # upload a file into the bucket
55
55
  workser storage get <key> [dest] # download (or print the object URL)
56
+
57
+ workser neon status # can this project use Neon storage/functions?
58
+ workser neon storage list | create <name> | rm <bucket>
59
+ workser neon storage ls <bucket> [prefix] # list objects
60
+ workser neon storage put <bucket> <local> [key] | get <bucket> <key> [dest]
61
+ workser neon storage url <bucket> <key> # temporary download URL
62
+ workser neon functions list | deploy <slug> <zip> | rm <slug>
63
+
56
64
  workser deploy [--prod] [--watch] | deploy status [id]
57
65
  workser logs [-n N] [-f] | versions
58
66
  workser domain list # custom domains (read)
@@ -134,6 +142,33 @@ on and state clearly what you assumed.
134
142
  where a key should go, then have the user set it (`workser env set` writes it without
135
143
  you ever seeing it).
136
144
 
145
+ ## Neon backend (the project's own storage + functions)
146
+ Beyond the default bucket (`workser storage`, shared Cloudflare R2), a project can
147
+ have its OWN infrastructure on its Neon branch: S3-compatible buckets and Node.js
148
+ HTTP functions, both branching with the database.
149
+
150
+ **Run `workser neon status --json` before using either.** It tells you three things,
151
+ and all three must be true: the project is on dedicated infrastructure, the capability
152
+ is switched on, and the project's REGION supports it. Region matters most — Neon's
153
+ storage/functions run only in certain regions, and a project's region is fixed when
154
+ it was created. `regionSupportsNeonBackend: false` is final: don't retry, don't look
155
+ for a workaround, tell the user the project's region can't host it and use
156
+ `workser storage` (the default bucket) instead.
157
+
158
+ ```
159
+ workser neon storage create assets # make a bucket
160
+ workser neon storage put assets ./logo.png # upload (bytes go straight to Neon)
161
+ workser neon storage url assets logo.png # temporary link to share
162
+ workser neon functions deploy api ./api.zip # deploy a Node.js HTTP handler
163
+ ```
164
+ Deleting a bucket, an object, or a function is approval-gated — expect exit 5 /
165
+ `awaiting_approval`, ask the user to approve, then retry.
166
+
167
+ Prefer `workser storage` for ordinary file storage. Reach for `workser neon storage`
168
+ when the files should live on the project's own infrastructure (isolated per project,
169
+ branching with the database), and `workser neon functions` when the app needs
170
+ server-side endpoints next to its data.
171
+
137
172
  ## Computer-use tools (your hands on this machine)
138
173
  `workser tool list` shows what's available — filesystem (read/write/list/delete/move),
139
174
  shell (run a command/Python/Node), screenshots and screen info, mouse/keyboard input,