@lizard-build/cli 0.3.88 → 0.3.90
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 +56 -4
- package/dist/commands/docs.js +4 -1
- package/dist/commands/docs.js.map +1 -1
- package/dist/lib/updater.d.ts +1 -1
- package/dist/lib/updater.js +1 -1
- package/package.json +13 -2
- package/src/commands/docs.ts +4 -1
- package/src/lib/updater.ts +1 -1
- package/test/unit/json.test.ts +3 -1
package/README.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# Lizard CLI
|
|
2
2
|
|
|
3
|
-
Deploy and
|
|
3
|
+
Deploy apps, databases and sandboxes to Lizard (lizard.build) from the command line.
|
|
4
|
+
|
|
5
|
+
Point the CLI at your code and it detects the stack — Node, Python, Go, Rust,
|
|
6
|
+
Ruby, PHP or Java — builds it and ships it live. Managed Postgres, Managed Redis
|
|
7
|
+
and Managed Object Storage attach in one command. Billing only for active
|
|
8
|
+
resources, so idle apps cost a fraction.
|
|
9
|
+
|
|
10
|
+
Every command is agent-readable: add `--json` for structured output, or run
|
|
11
|
+
`lizard --help --json` to dump the full command schema.
|
|
4
12
|
|
|
5
13
|
## Install
|
|
6
14
|
|
|
@@ -14,6 +22,17 @@ Or via npm:
|
|
|
14
22
|
npm i -g @lizard-build/cli
|
|
15
23
|
```
|
|
16
24
|
|
|
25
|
+
## Start here (AI agents)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
lizard skills get core
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Skills ship inside the CLI, so the guide always matches the installed version.
|
|
32
|
+
They cover the whole app lifecycle — deploy, link, addons, logs, scaling,
|
|
33
|
+
secrets, domains — with copy-paste examples. Prefer this over guessing commands
|
|
34
|
+
from flag docs alone.
|
|
35
|
+
|
|
17
36
|
## Usage
|
|
18
37
|
|
|
19
38
|
```bash
|
|
@@ -22,20 +41,53 @@ lizard init
|
|
|
22
41
|
lizard up
|
|
23
42
|
```
|
|
24
43
|
|
|
44
|
+
`lizard up` uploads the code, builds it and returns a live URL on onlizard.com.
|
|
45
|
+
Add managed data services in one command:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
lizard add postgres redis s3
|
|
49
|
+
```
|
|
50
|
+
|
|
25
51
|
## Common commands
|
|
26
52
|
|
|
27
53
|
```
|
|
28
54
|
lizard up # upload and deploy code
|
|
29
|
-
lizard
|
|
55
|
+
lizard add # add Managed Postgres, Managed Redis or Managed Object Storage
|
|
30
56
|
lizard ps # list services
|
|
31
|
-
lizard
|
|
32
|
-
lizard
|
|
57
|
+
lizard logs # stream runtime logs
|
|
58
|
+
lizard metrics # resource metrics (CPU, memory, network, disk) and cost
|
|
33
59
|
lizard scale # scale replicas / CPU / memory
|
|
60
|
+
lizard secrets # manage secrets
|
|
34
61
|
lizard domain # manage domains
|
|
62
|
+
lizard run # run a command with project and service secrets injected
|
|
63
|
+
lizard ssh # open a shell in a service
|
|
64
|
+
lizard sandbox # create and manage Sandboxes
|
|
65
|
+
lizard volume # Persistent Volumes for Sandboxes
|
|
66
|
+
lizard skills # agent guides, version-matched to the CLI
|
|
35
67
|
```
|
|
36
68
|
|
|
37
69
|
Run `lizard --help` for the full list.
|
|
38
70
|
|
|
71
|
+
## For agents and scripts
|
|
72
|
+
|
|
73
|
+
Add `--json` to any command for structured output. The CLI also switches to JSON
|
|
74
|
+
on its own when stdout is not a TTY. Errors come back as
|
|
75
|
+
`{"error": {"code", "status", "message", "body"}}` and exit codes are stable:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
0 success 3 not found (404)
|
|
79
|
+
1 generic error 4 timeout (408/504)
|
|
80
|
+
2 auth (401/403) 5 cancelled by user
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`lizard --help --json` dumps the machine-readable schema for any command —
|
|
84
|
+
arguments, options, defaults, subcommands and exit codes.
|
|
85
|
+
|
|
86
|
+
## Links
|
|
87
|
+
|
|
88
|
+
- Docs — https://lizard.build/docs
|
|
89
|
+
- Source — https://github.com/lizard-build/lizard-cli
|
|
90
|
+
|
|
39
91
|
## License
|
|
40
92
|
|
|
41
93
|
MIT
|
package/dist/commands/docs.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import open from "open";
|
|
2
2
|
import { success, isJSONMode, printJSON } from "../lib/format.js";
|
|
3
|
-
|
|
3
|
+
// Docs are served from the main host under /docs. The docs.lizard.build
|
|
4
|
+
// subdomain resolves but has no valid certificate, so opening it dumps the
|
|
5
|
+
// user on a TLS error page — don't switch back to it without checking.
|
|
6
|
+
const DOCS_URL = "https://lizard.build/docs";
|
|
4
7
|
export function registerDocs(program) {
|
|
5
8
|
program
|
|
6
9
|
.command("docs")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,oEAAoE;QACpE,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElE,wEAAwE;AACxE,2EAA2E;AAC3E,uEAAuE;AACvE,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,oEAAoE;QACpE,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/lib/updater.d.ts
CHANGED
package/dist/lib/updater.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Readable } from "node:stream";
|
|
|
4
4
|
import { join, dirname } from "node:path";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
|
-
export const CURRENT_VERSION = "0.3.
|
|
7
|
+
export const CURRENT_VERSION = "0.3.90";
|
|
8
8
|
const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
|
|
9
9
|
const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
|
|
10
10
|
/** Minimum gap between background update checks. */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lizard-build/cli",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Lizard CLI — deploy and
|
|
3
|
+
"version": "0.3.90",
|
|
4
|
+
"description": "Lizard CLI — deploy apps, databases and sandboxes to Lizard (lizard.build) from your terminal or your coding agent. Detects Node, Python, Go, Rust, Ruby, PHP and Java; adds Managed Postgres, Managed Redis and Managed Object Storage in one command.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"lizard": "./dist/index.js"
|
|
@@ -22,7 +22,18 @@
|
|
|
22
22
|
"keywords": [
|
|
23
23
|
"cli",
|
|
24
24
|
"deploy",
|
|
25
|
+
"deployment",
|
|
25
26
|
"paas",
|
|
27
|
+
"hosting",
|
|
28
|
+
"containers",
|
|
29
|
+
"kubernetes",
|
|
30
|
+
"postgres",
|
|
31
|
+
"redis",
|
|
32
|
+
"s3",
|
|
33
|
+
"sandbox",
|
|
34
|
+
"ai-agent",
|
|
35
|
+
"coding-agent",
|
|
36
|
+
"devops",
|
|
26
37
|
"lizard"
|
|
27
38
|
],
|
|
28
39
|
"repository": {
|
package/src/commands/docs.ts
CHANGED
|
@@ -2,7 +2,10 @@ import { Command } from "commander";
|
|
|
2
2
|
import open from "open";
|
|
3
3
|
import { success, isJSONMode, printJSON } from "../lib/format.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// Docs are served from the main host under /docs. The docs.lizard.build
|
|
6
|
+
// subdomain resolves but has no valid certificate, so opening it dumps the
|
|
7
|
+
// user on a TLS error page — don't switch back to it without checking.
|
|
8
|
+
const DOCS_URL = "https://lizard.build/docs";
|
|
6
9
|
|
|
7
10
|
export function registerDocs(program: Command) {
|
|
8
11
|
program
|
package/src/lib/updater.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { join, dirname } from "node:path";
|
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
7
|
|
|
8
|
-
export const CURRENT_VERSION = "0.3.
|
|
8
|
+
export const CURRENT_VERSION = "0.3.90";
|
|
9
9
|
const RELEASES_API = "https://api.github.com/repos/lizard-build/lizard-cli/releases/latest";
|
|
10
10
|
const RELEASE_BASE = "https://github.com/lizard-build/lizard-cli/releases/latest/download";
|
|
11
11
|
|
package/test/unit/json.test.ts
CHANGED
|
@@ -286,7 +286,9 @@ describe("docs --json", () => {
|
|
|
286
286
|
const { stdout, exitCode } = await run(["docs", "--json"]);
|
|
287
287
|
expect(exitCode).toBe(0);
|
|
288
288
|
const out = parseJSON(stdout);
|
|
289
|
-
|
|
289
|
+
// Pin the exact URL: this assertion previously matched a substring and
|
|
290
|
+
// happily passed against docs.lizard.build, which serves no valid cert.
|
|
291
|
+
expect(out.url).toBe("https://lizard.build/docs");
|
|
290
292
|
expect(out.opened).toBe(false);
|
|
291
293
|
});
|
|
292
294
|
});
|