@cat-factory/cli 0.10.0 → 0.10.1

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 CHANGED
@@ -1,19 +1,19 @@
1
1
  # @cat-factory/cli
2
2
 
3
- The bootstrap CLI for [cat-factory](https://github.com/kibertoad/cat-factory) the Agent
3
+ The bootstrap CLI for [cat-factory](https://github.com/kibertoad/cat-factory), the Agent
4
4
  Architecture Board. One command scaffolds a **local-mode deployment** you can run on your own
5
5
  machine: a Node/local backend (`@cat-factory/local-server`) and the frontend SPA
6
6
  (`@cat-factory/app`), mirroring the [`deploy/local`](../../../deploy/local) and
7
- [`deploy/frontend`](../../../deploy/frontend) example deployments in this repo but depending on
7
+ [`deploy/frontend`](../../../deploy/frontend) example deployments in this repo, but depending on
8
8
  the **published** libraries, so the generated project stands alone outside the monorepo.
9
9
 
10
10
  It does the fiddly setup for you:
11
11
 
12
- - **Offers to generate the crypto secrets** in the exact formats the server requires
12
+ - **Offers to generate the crypto secrets** in the exact formats the server requires:
13
13
  `AUTH_SESSION_SECRET` (32 random bytes, hex), `ENCRYPTION_KEY` (32 random bytes, base64) and
14
14
  `HARNESS_SHARED_SECRET` (32 random bytes, hex). All three are required to boot. On by default;
15
15
  decline to leave them blank and paste your own.
16
- - **Lets you choose how agents run** a **prewarmed Docker pool** (isolated per-run containers
16
+ - **Lets you choose how agents run**: a **prewarmed Docker pool** (isolated per-run containers
17
17
  from the executor image, the default) or **native host agents** (a host process driving your
18
18
  own installed `claude`/`codex` CLI: no container, no leased credential, but no sandbox and only
19
19
  Claude/ChatGPT models go native). The tradeoffs of each are printed before you pick, and in
@@ -34,18 +34,18 @@ It does the fiddly setup for you:
34
34
 
35
35
  ## Commands
36
36
 
37
- - **`cat-factory init`** (the default) scaffolds the whole deployment (`local/` + `frontend/`),
37
+ - **`cat-factory init`** (the default): scaffolds the whole deployment (`local/` + `frontend/`),
38
38
  described above.
39
- - **`cat-factory env`** generates **only** a ready-to-run local-mode `.env` in the current
39
+ - **`cat-factory env`**: generates **only** a ready-to-run local-mode `.env` in the current
40
40
  directory (or `--dir`), using the same secret generation, PAT flow, and pool-vs-native choice.
41
41
  Use it when the deployment already exists (e.g. inside [`deploy/local`](../../../deploy/local),
42
42
  or an already-scaffolded project) and you just need a fresh, complete `.env`. It refuses to
43
43
  overwrite an existing `.env` unless you pass `--force`, and (like `init`) it creates or merges
44
44
  the target dir's `.gitignore` so the secret `.env` can never be committed. A model-provider key
45
- is **not** needed to boot add providers/keys through the UI after sign-in (the `.env` leaves
46
- them as commented hints) so the generated file runs local mode with no manual edits.
47
- - **`cat-factory k3s`** guided local Kubernetes setup for ephemeral environments (see `--help`).
48
- - **`cat-factory supervise`** run a dev command under a self-healing watchdog (see
45
+ is **not** needed to boot; add providers/keys through the UI after sign-in (the `.env` leaves
46
+ them as commented hints), so the generated file runs local mode with no manual edits.
47
+ - **`cat-factory k3s`**: guided local Kubernetes setup for ephemeral environments (see `--help`).
48
+ - **`cat-factory supervise`**: run a dev command under a self-healing watchdog (see
49
49
  [Supervising local dev](#supervising-local-dev)).
50
50
 
51
51
  ## Supervising local dev
@@ -54,7 +54,7 @@ It does the fiddly setup for you:
54
54
  process exit. So when a laptop sleeps and the resume takes the Postgres connection with it, the
55
55
  server dies, the watcher settles at "Waiting for file changes before restarting", and nothing is
56
56
  left bound to the port. The wrapper PID is still alive and the ready banner scrolled past long ago,
57
- so the stack **looks** healthy while the SPA reports only a generic "can't reach backend" and it
57
+ so the stack **looks** healthy while the SPA reports only a generic "can't reach backend", and it
58
58
  stays that way until somebody notices.
59
59
 
60
60
  `cat-factory supervise` wraps that command and repairs it:
@@ -64,15 +64,15 @@ cat-factory supervise --compose-service postgres -- pnpm dev:raw
64
64
  ```
65
65
 
66
66
  `--compose-dir` (default: `--dir`, itself defaulting to the current directory) is where the
67
- `docker-compose.yml` lives compose resolves its project file relative to the working directory, so
67
+ `docker-compose.yml` lives: compose resolves its project file relative to the working directory, so
68
68
  supervising from anywhere else needs it set.
69
69
 
70
- - **Probes the real signal** every 10s the port is listening _and_ `/health` answers 200. The two
70
+ - **Probes the real signal** every 10s: the port is listening _and_ `/health` answers 200. The two
71
71
  failure modes differ: a parked watcher leaves nothing bound, while a server that booted but lost
72
72
  its DB pool still holds the socket and only fails the HTTP check.
73
73
  - **Notices a resume.** Timers don't fire while the host is suspended, so a tick arriving three
74
74
  intervals late means time jumped. That triggers an immediate repair rather than waiting out the
75
- normal failure threshold a resume is exactly when the stack is most likely already dead.
75
+ normal failure threshold: a resume is exactly when the stack is most likely already dead.
76
76
  - **Restores dependencies before restarting.** `--compose-service postgres` brings the database
77
77
  back (the example compose files set no restart policy, so anything that stops the container
78
78
  engine leaves it down) and waits for it to report healthy, because relaunching against a
@@ -83,21 +83,21 @@ supervising from anywhere else needs it set.
83
83
  - **Notices a child that simply died.** A dead process handle is authoritative, so it repairs on the
84
84
  next probe instead of counting failures against a process that no longer exists.
85
85
  - **Reaps the port.** Killing the child tree usually suffices, but a package-manager wrapper killed
86
- without its subtree leaves the real `node` orphaned and holding the socket the relaunch then
86
+ without its subtree leaves the real `node` orphaned and holding the socket; the relaunch then
87
87
  dies with `EADDRINUSE`, turning one outage into a restart loop. Reaping by port means SIGKILLing a
88
88
  process it was never handed, so every kill **names** the pid and the command behind it, and it only
89
89
  ever runs once the supervisor's own child is confirmed dead.
90
90
 
91
91
  Two failures it deliberately does **not** retry, because retrying either would reproduce the exact
92
- pathology this command exists to end a restart loop that reads as progress:
92
+ pathology this command exists to end, a restart loop that reads as progress:
93
93
 
94
94
  - **A cluster wedged by a stale cgroup** (`runc create failed: … cgroup.procs: device or resource
95
95
  busy`, a state a suspend can leave behind). Clearing that needs the container **engine** restarted,
96
- which would kill every other container including the database the supervisor depends on. Reported
96
+ which would kill every other container, including the database the supervisor depends on. Reported
97
97
  once, with the fix.
98
98
  - **A supervised command that never serves.** Restarts that fail to reach a serving state are capped
99
- (5 by default); hitting the cap reports why and exits **non-zero**. A command that is broken a
100
- syntax error, a missing binary, a port something else owns cannot be repaired by killing it again.
99
+ (5 by default); hitting the cap reports why and exits **non-zero**. A command that is broken (a
100
+ syntax error, a missing binary, a port something else owns) cannot be repaired by killing it again.
101
101
  Any successful probe resets the count, so a long-lived stack that has been repaired often is never
102
102
  capped.
103
103
 
@@ -105,7 +105,7 @@ busy`, a state a suspend can leave behind). Clearing that needs the container **
105
105
  this command to start, and quietly treating it as k3d would report "not ready, will retry" forever
106
106
  without naming the real reason.
107
107
 
108
- Prefer the unsupervised script when you are **debugging a crash** the supervisor's job is to
108
+ Prefer the unsupervised script when you are **debugging a crash**: the supervisor's job is to
109
109
  restart the process, which destroys the parked state you would be trying to read.
110
110
 
111
111
  Run `cat-factory supervise --help` for the full flag list (`--port`, `--health-path`, `--poll`,
@@ -113,7 +113,7 @@ Run `cat-factory supervise --help` for the full flag list (`--port`, `--health-p
113
113
 
114
114
  ## Usage
115
115
 
116
- No install needed run it with your package manager's runner:
116
+ No install needed; run it with your package manager's runner:
117
117
 
118
118
  ```sh
119
119
  npm create @cat-factory/cli@latest # or:
@@ -121,8 +121,8 @@ pnpm dlx @cat-factory/cli
121
121
  npx @cat-factory/cli
122
122
  ```
123
123
 
124
- Interactive by default (powered by [`@clack/prompts`](https://www.npmjs.com/package/@clack/prompts))
125
- it asks for the project name and app title, lets you pick the source-control provider and
124
+ Interactive by default (powered by [`@clack/prompts`](https://www.npmjs.com/package/@clack/prompts)):
125
+ it asks for the project name and app title, lets you pick the source-control provider and
126
126
  container runtime from a menu, asks for the database URL and API base, opens the browser to create
127
127
  the token, and reads it back via a masked password prompt. Ctrl-C cancels cleanly at any step.
128
128
 
@@ -169,14 +169,14 @@ npx @cat-factory/cli init \
169
169
  <dir>/
170
170
  .gitignore # ignores .env / .env.* (keeps .env.example), build output
171
171
  README.md # generated, project-specific run instructions
172
- local/ # backend @cat-factory/local-server
172
+ local/ # backend - @cat-factory/local-server
173
173
  package.json
174
174
  src/main.ts # one-line startLocal() entry
175
175
  docker-compose.yml # local Postgres (creds derived from --db-url)
176
176
  tsconfig.json
177
177
  .env # generated, gitignored: DATABASE_URL, secrets, PAT, harness image
178
178
  .env.example # documented template
179
- frontend/ # SPA extends the @cat-factory/app Nuxt layer
179
+ frontend/ # SPA - extends the @cat-factory/app Nuxt layer
180
180
  package.json
181
181
  nuxt.config.ts
182
182
  wrangler.toml # Cloudflare Pages config (optional deploy target)
@@ -224,7 +224,7 @@ import { buildPlan, generateSecrets, patCreationUrl } from '@cat-factory/cli'
224
224
 
225
225
  const secrets = generateSecrets()
226
226
  const files = buildPlan({ projectName: 'my-cats', /* … */ ...secrets })
227
- // files: { path, content, secret? }[] write them wherever you like
227
+ // files: { path, content, secret? }[] - write them wherever you like
228
228
  ```
229
229
 
230
230
  See `src/index.ts` for the full surface (`bootstrap`, `parseArgs`, `buildLocalEnv`,
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAIlB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAErE,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAMzD;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAwF1D;AAqPD,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAWhE"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAIlB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAErE,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAMzD;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAwF1D;AA8PD,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAWhE"}
package/dist/env.js CHANGED
@@ -272,6 +272,15 @@ function commonOptionalEntries(provider) {
272
272
  value: '',
273
273
  },
274
274
  { key: '# OTEL_SERVICE_NAME', value: 'cat-factory' },
275
+ {
276
+ comment: [
277
+ "Also export the platform's own structured LOG lines to the same OTLP endpoint, so",
278
+ 'logs sit beside the traces they correlate with. A further opt-in on top of',
279
+ 'OTEL_ENABLED; LOG_LEVEL governs what is exported.',
280
+ ],
281
+ key: '# OTEL_LOGS',
282
+ value: 'true',
283
+ },
275
284
  {
276
285
  comment: [
277
286
  'Post board notifications to Slack (connect the workspace in the UI). OFF by default;',
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/cli",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Bootstrap CLI for the Agent Architecture Board: scaffold a local-mode deployment (Node/local backend + frontend SPA) on your own machine — generates the crypto secrets, populates and gitignores the .env files, and mints a GitHub/GitLab personal access token by opening the browser at the right pre-scoped URL.",
5
5
  "keywords": [
6
6
  "bootstrap",
@@ -41,8 +41,8 @@
41
41
  "typescript": "7.0.2",
42
42
  "valibot": "^1.4.2",
43
43
  "vitest": "^4.1.10",
44
- "@cat-factory/contracts": "0.211.0",
45
- "@cat-factory/kernel": "0.214.1"
44
+ "@cat-factory/contracts": "0.231.0",
45
+ "@cat-factory/kernel": "0.233.0"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "tsc -b tsconfig.build.json",