@ponderbot/cli 0.1.0-alpha.21

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 ADDED
@@ -0,0 +1,112 @@
1
+ # @ponderbot/cli
2
+
3
+ Ponderbot manifest, run, and control-plane CLI.
4
+
5
+ ## Stack Lifecycle
6
+
7
+ Start and stop the local Docker compose stack from the repo root:
8
+
9
+ ```sh
10
+ ponder start
11
+ ponder stop
12
+ ```
13
+
14
+ `ponder start --build` runs the core compose target with image builds
15
+ enabled. If `PONDERBOT_HOME` is unset, the CLI creates and forwards
16
+ `<repoRoot>/.ponderbot`; an operator-provided value is preserved. If
17
+ `PONDERBOT_BOOTSTRAP_TOKEN` is unset, `ponder start` creates and reuses a
18
+ development bootstrap token under `PONDERBOT_HOME`, passes it to the runtime, and
19
+ prints the `PONDERBOT_URL`, `PONDERBOT_SPACE_ID`, and `PONDERBOT_TOKEN` block
20
+ that `createClient()` reads.
21
+
22
+ For runtime development, use the foreground repo-root script:
23
+
24
+ ```sh
25
+ bun dev
26
+ ```
27
+
28
+ It runs the full local dev loop through Turbo: an initial SDK build, SDK and CLI
29
+ `tsdown --watch` tasks, `ponder start --dev --build` for the runtime stack, and
30
+ `docker attach ponderbot-runtime` for the interactive IEx console. The runtime
31
+ command layers `docker/compose/targets/dev.yml` on the core compose stack, uses
32
+ Docker Compose Watch to sync `runtime/` into the container filesystem, and runs
33
+ `mix deps.get && exec iex -S mix phx.server` with Phoenix code reloading.
34
+ Runtime Elixir edits are recompiled on the next HTTP request. Background-only
35
+ changes reload when a later request hits the endpoint. Changes to `mix.exs` or
36
+ `mix.lock` sync, restart the runtime, and refresh dependencies before booting.
37
+
38
+ For the same dev stack without the Turbo watchers:
39
+
40
+ ```sh
41
+ ponder start --dev
42
+ ```
43
+
44
+ `dev.yml` is an overlay, not a target; use `--dev` rather than
45
+ `--target dev`.
46
+
47
+ From the repo root, `bun stop` delegates to `ponder stop`.
48
+
49
+ ## Spaces
50
+
51
+ `ponder start` creates the default development space automatically. To choose a
52
+ different local space for the printed env block, pass `--space`:
53
+
54
+ ```sh
55
+ ponder start --space dev
56
+ ponder manifest dev
57
+ ```
58
+
59
+ `ponder manifest dev` checks the configured dev space first. If it is missing, it prints
60
+ the exact `ponder spaces create <id>` command and exits without deploying.
61
+
62
+ Manifest commands:
63
+
64
+ ```sh
65
+ ponder manifest validate
66
+ ponder manifest deploy
67
+ ponder manifest dev
68
+ ```
69
+
70
+ `ponder manifest deploy --env staging` stores an immutable Project Release under
71
+ the Project name and environment. A deployment environment needs a Runtime URL
72
+ and token, but it does not need a Space. `ponder manifest dev` still needs a
73
+ development Space because it runs definitions directly.
74
+
75
+ When `project.worker.build` does not set `dockerfile`, the deploy command
76
+ bundles the Ponderbot definition graph and Worker Entry into a separate artifact.
77
+ It copies only the compiled modules and required Agent and Skill Markdown files.
78
+ It does not copy `.env` files, application source, package-manager lockfiles, or
79
+ the project `node_modules` directory. It does not use the project package
80
+ manager. Docker Buildx builds and pushes the image with a registry cache, and
81
+ the Release stores the registry manifest digest from BuildKit metadata.
82
+
83
+ The project package manager does not affect the generated Worker Image. The CLI
84
+ bundles normal JavaScript dependencies. It detects native Node packages and puts
85
+ their exact names and versions in the artifact package file. The image uses its
86
+ own npm dependency stage only when these external packages exist. Set
87
+ `worker.build.external` to a list of exact npm package names when a package must
88
+ remain external because it loads code or assets dynamically. The project still
89
+ uses `@ponderbot/sdk` for authoring and local loading. The CLI bundles the SDK
90
+ Worker Entry into the artifact. A project can set `worker.build.dockerfile` when
91
+ it needs a custom system image or install process.
92
+
93
+ Useful space commands:
94
+
95
+ ```sh
96
+ ponder spaces list
97
+ ponder spaces create customer-acme --name "Acme"
98
+ ponder spaces show customer-acme
99
+ ponder spaces budget customer-acme
100
+ ponder spaces budget customer-acme --set budget.json
101
+ ```
102
+
103
+ Use `--json` before the command for scripting, for example:
104
+
105
+ ```sh
106
+ ponder --json spaces show customer-acme
107
+ ```
108
+
109
+ List and create require a service token with `spaces:read` or `spaces:write`
110
+ granted on `service_auth_space: "*"`. Space-scoped tokens can read or update the
111
+ space they are granted, but cannot list or create spaces. When the runtime
112
+ returns 403 for a spaces command, the CLI prints the missing grant guidance.
package/dist/main.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { };