@pinegrovedev/cli 0.1.0 → 0.1.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 ADDED
@@ -0,0 +1,59 @@
1
+ # @pinegrovedev/cli
2
+
3
+ Install and provision the [Pinegrove](https://pinegrove.dev) daemon on any macOS or Linux machine.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ npx @pinegrovedev/cli
9
+ ```
10
+
11
+ This runs the full interactive setup:
12
+
13
+ 1. Downloads and installs the latest daemon binary
14
+ 2. Registers a system service (launchd on macOS, systemd on Linux)
15
+ 3. Installs prerequisites (Nix, Devbox, bubblewrap)
16
+ 4. Authenticates and connects the device to your team's mesh
17
+
18
+ ## Commands
19
+
20
+ ### `setup` (default)
21
+
22
+ ```bash
23
+ npx @pinegrovedev/cli setup
24
+ ```
25
+
26
+ Full interactive install and provisioning. Some steps (like the Nix installer) may prompt for sudo.
27
+
28
+ Options:
29
+ - `--skip-prereqs` — Skip prerequisite installation
30
+ - `--token <token>` — Provisioning token for headless setup
31
+ - `--name <name>` — Device name for headless setup
32
+ - `--api-url <url>` — Custom API URL
33
+
34
+ Headless mode (for CI/automation):
35
+ ```bash
36
+ npx @pinegrovedev/cli setup --token pgr_tok_... --name my-server
37
+ ```
38
+
39
+ ### `status`
40
+
41
+ ```bash
42
+ npx @pinegrovedev/cli status
43
+ ```
44
+
45
+ Show daemon version, process status, and prerequisite health.
46
+
47
+ ### `uninstall`
48
+
49
+ ```bash
50
+ npx @pinegrovedev/cli uninstall
51
+ ```
52
+
53
+ Stop the daemon and remove the system service. State directory is preserved.
54
+
55
+ ## Requirements
56
+
57
+ - Node.js 22+
58
+ - macOS (arm64/x86_64) or Linux (arm64/x86_64)
59
+ - curl (for downloading the daemon binary)
package/dist/index.js CHANGED
@@ -276,7 +276,7 @@ Continue?`
276
276
  }
277
277
 
278
278
  // src/index.ts
279
- var program = new Command().name("pinegrove").description("Pinegrove CLI — install and provision the Pinegrove daemon").version("0.1.0");
279
+ var program = new Command().name("pinegrove").description("Pinegrove CLI — install and provision the Pinegrove daemon").version("0.1.1");
280
280
  program.command("setup").description("Install the daemon, prerequisites, and connect to your team").option("--api-url <url>", "Pinegrove API base URL", "https://api.pinegrove.dev").option("--skip-prereqs", "Skip prerequisite installation").option("--token <token>", "Provisioning token (headless mode)").option("--name <name>", "Device name (headless mode)").action(setup);
281
281
  program.command("status").description("Show daemon and prerequisite status").action(status);
282
282
  program.command("uninstall").description("Stop and remove the daemon").action(uninstall);
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@pinegrovedev/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "bin": {
7
7
  "pinegrove": "dist/index.js"
8
8
  },
9
9
  "files": [
10
- "dist"
10
+ "dist",
11
+ "README.md"
11
12
  ],
12
13
  "scripts": {
13
14
  "build": "bun build src/index.ts --outdir dist --target node --format esm --external commander --external @inquirer/prompts",