@solcreek/cli 0.4.22 → 0.4.23

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @solcreek/cli
2
2
 
3
+ ## 0.4.23
4
+
5
+ ### Fixes / DX
6
+
7
+ - **`creek init` help now lists what it creates** — creek.toml (project
8
+ name, build command/output, detected framework) plus a worker/index.ts
9
+ example when you add a database — so first-timers know what to expect.
10
+
11
+ - **`creek doctor --json` prints a one-line summary to stderr** when a human
12
+ is watching, instead of only a wall of JSON. stdout stays pure JSON for
13
+ agents and pipes; CI / redirected runs stay silent.
14
+
15
+ - **The two SQLite doctor findings cross-reference each other.** A project
16
+ with both better-sqlite3 and Prisma no longer reads as two unrelated
17
+ problems — each notes it's the same Cloudflare-Workers SQLite migration.
18
+
19
+ - **`creek db/storage/cache attach --to` shows a value placeholder** in its
20
+ usage (`--to=<project>`) instead of a bare `--to`.
21
+
3
22
  ## 0.4.22
4
23
 
5
24
  ### Fixes / DX
@@ -55,6 +55,15 @@ export const doctorCommand = defineCommand({
55
55
  const ctx = buildDoctorContext(cwd);
56
56
  const report = runDoctor(ctx);
57
57
  if (jsonMode) {
58
+ // A one-line human summary on stderr so stdout stays pure JSON for
59
+ // agents/pipes, while a person who pipes this in a terminal isn't
60
+ // staring at a wall of JSON. Only when stderr is a TTY (a human is
61
+ // watching) — fully-redirected/CI runs stay silent.
62
+ if (process.stderr.isTTY) {
63
+ const { error, warn, info } = report.summary;
64
+ const counts = `${error} error${s(error)}, ${warn} warning${s(warn)}, ${info} info`;
65
+ process.stderr.write(`creek doctor: ${report.ok ? "ok" : "issues found"} — ${counts}\n`);
66
+ }
58
67
  jsonOutput({
59
68
  ok: report.ok,
60
69
  cwd,
@@ -11,7 +11,7 @@ import { ensureGitignoreEntries } from "../utils/gitignore.js";
11
11
  export const initCommand = defineCommand({
12
12
  meta: {
13
13
  name: "init",
14
- description: "Initialize a new Creek project (or register a self-host creekd via --adopt / --hostkey-fingerprint)",
14
+ description: "Initialize a new Creek project — writes creek.toml (project name, build command/output, detected framework) and, if you add a database, a worker/index.ts example. Or register a self-host creekd via --adopt / --hostkey-fingerprint.",
15
15
  },
16
16
  args: {
17
17
  name: {
@@ -80,7 +80,7 @@ export function createResourceCommand(opts) {
80
80
  meta: { name: "attach", description: `Attach a ${label} to a project under the given ENV var name` },
81
81
  args: {
82
82
  name: { type: "positional", description: `${label} name (as shown by \`creek ${cmdName} ls\`)`, required: true },
83
- to: { type: "string", description: "Project slug to attach to", required: true },
83
+ to: { type: "string", description: "Project slug to attach to", required: true, valueHint: "project" },
84
84
  as: { type: "string", description: `ENV var name (uppercase, default: ${defaultBinding})`, default: defaultBinding },
85
85
  ...globalArgs,
86
86
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solcreek/cli",
3
- "version": "0.4.22",
3
+ "version": "0.4.23",
4
4
  "description": "CLI for the Creek deployment platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "esbuild": "^0.25.0",
34
34
  "smol-toml": "^1.3.1",
35
35
  "ws": "^8.20.0",
36
- "@solcreek/sdk": "0.4.10"
36
+ "@solcreek/sdk": "0.4.11"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@testing-library/dom": "^10.4.1",