@cabane/cli 0.1.3 → 0.1.4
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 +64 -39
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -1,34 +1,68 @@
|
|
|
1
1
|
# cabane CLI
|
|
2
2
|
|
|
3
|
-
Run a self-hosted Cabane on your own machine
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Run a self-hosted [Cabane](https://cabane.ai) on your own machine. `@cabane/cli`
|
|
4
|
+
installs the Cabane server, runs the whole stack — server, embedded Postgres,
|
|
5
|
+
and the house bridge — and keeps it updated.
|
|
6
|
+
|
|
7
|
+
Two terms you'll see throughout:
|
|
8
|
+
|
|
9
|
+
- The **house bridge** is what makes your agents answer: it runs each agent
|
|
10
|
+
turn on your machine, through an executor.
|
|
11
|
+
- An **executor** is a coding-agent harness installed on your machine —
|
|
12
|
+
**Claude Code**, **Codex**, or **opencode**. Cabane ships no model of its own
|
|
13
|
+
and requires no particular provider; the house bridge runs whichever executor
|
|
14
|
+
(and credentials) you have.
|
|
15
|
+
|
|
16
|
+
The short version:
|
|
6
17
|
|
|
7
18
|
```sh
|
|
8
19
|
npm i -g @cabane/cli # install the CLI (bin: `cabane`)
|
|
9
|
-
cabane init # first-run wizard
|
|
10
|
-
cabane install --token cabdist_… # fetch +
|
|
11
|
-
cabane up --daemon #
|
|
20
|
+
cabane init # first-run wizard
|
|
21
|
+
cabane install --token cabdist_… # fetch + verify + unpack the server
|
|
22
|
+
cabane up --daemon # run the stack
|
|
12
23
|
# open http://localhost:3000, sign up
|
|
13
|
-
cabane setup-agent #
|
|
24
|
+
cabane setup-agent # connect your agent to the house bridge
|
|
14
25
|
```
|
|
15
26
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
Each step, in order, below.
|
|
28
|
+
|
|
29
|
+
## Requirements
|
|
30
|
+
|
|
31
|
+
- **Node ≥ 22.**
|
|
32
|
+
- **An executor the house bridge can run** — Claude Code, Codex, or opencode —
|
|
33
|
+
with its credentials reachable (see [Credentials](#credentials)).
|
|
34
|
+
|
|
35
|
+
## Getting started
|
|
36
|
+
|
|
37
|
+
1. **Install the CLI.** `npm i -g @cabane/cli` — installs the `cabane` binary.
|
|
22
38
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/
|
|
26
|
-
|
|
39
|
+
2. **Run `cabane init`** — the interactive first-run wizard. It asks where your
|
|
40
|
+
data lives (and shows the resolved paths — `data/storage` for uploads,
|
|
41
|
+
`data/pg` for the database), the port, an optional public URL, and your
|
|
42
|
+
executor credential if you use API-key billing (on a Claude subscription
|
|
43
|
+
login there's nothing to enter — see [Credentials](#credentials)). Everything
|
|
44
|
+
persists to config, so a later `cabane up` needs no flags. Re-run it any time
|
|
45
|
+
to reconfigure, or skip it and pass flags directly if you prefer.
|
|
27
46
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
47
|
+
3. **Run `cabane install --token cabdist_…`** — fetches the server artifact with
|
|
48
|
+
your distribution token, verifies its sha256, and unpacks it. (Have a local
|
|
49
|
+
tarball instead? `cabane install --from <artifact.tgz>` works offline.)
|
|
50
|
+
|
|
51
|
+
4. **Run `cabane up --daemon`** — starts and supervises the stack: embedded
|
|
52
|
+
Postgres, the server, and the house bridge. Leave off `--daemon` to run it in
|
|
53
|
+
the foreground.
|
|
54
|
+
|
|
55
|
+
5. **Sign up.** Open <http://localhost:3000> and create your account and first
|
|
56
|
+
workspace.
|
|
57
|
+
|
|
58
|
+
6. **Run `cabane setup-agent`** — the step that connects your agent to your
|
|
59
|
+
executor. Mint an access token in the app (**Settings → Developer**), then
|
|
60
|
+
run `cabane setup-agent` and paste the `cab_…` token at the prompt. That
|
|
61
|
+
registers the house bridge and puts your agent on it — your agent now
|
|
62
|
+
answers in chat.
|
|
63
|
+
|
|
64
|
+
For the fuller picture of what you just stood up — agents, bridges, workspaces,
|
|
65
|
+
files — see the [Cabane docs](https://app.cabane.ai/docs).
|
|
32
66
|
|
|
33
67
|
## What it supervises
|
|
34
68
|
|
|
@@ -98,13 +132,13 @@ When something won't start, run `cabane doctor` **first**. It's a standalone
|
|
|
98
132
|
preflight (no server needed — it's what you reach for precisely when things are
|
|
99
133
|
broken) that checks the common self-host failure classes and prints a legible
|
|
100
134
|
pass/fail/warn report, each with a one-line fix, then exits non-zero if any hard
|
|
101
|
-
check fails. It's strictly local — nothing phones home.
|
|
135
|
+
check fails. It's strictly local — nothing phones home. Checks:
|
|
102
136
|
|
|
103
137
|
- **Node** ≥ the required version.
|
|
104
|
-
- **Executor** —
|
|
105
|
-
house bridge (subscription login,
|
|
106
|
-
|
|
107
|
-
|
|
138
|
+
- **Executor** — your executor's binary on PATH (`claude` by default), and a
|
|
139
|
+
credential reachable by the house bridge (a subscription login, or an
|
|
140
|
+
`ANTHROPIC_*` env/persisted key). Reachability only; it never calls the
|
|
141
|
+
provider.
|
|
108
142
|
- **Port** free (or held by a running cabane).
|
|
109
143
|
- **Embedded Postgres** — platform binaries present + data dir healthy.
|
|
110
144
|
- **Storage root** — writable, and where it is.
|
|
@@ -114,14 +148,6 @@ check fails. It's strictly local — nothing phones home. v1 checks:
|
|
|
114
148
|
- **Disk space** for the data dir.
|
|
115
149
|
- **macOS Gatekeeper** — quarantine on the Postgres binaries (macOS only).
|
|
116
150
|
|
|
117
|
-
## Requirements
|
|
118
|
-
|
|
119
|
-
- **Node ≥ 22.**
|
|
120
|
-
- **An executor the house bridge can run** — e.g. Claude Code, or another
|
|
121
|
-
supported harness — with its credentials reachable (see [Credentials](#credentials)).
|
|
122
|
-
Cabane ships no model of its own and requires no particular provider; the house
|
|
123
|
-
bridge runs whatever executor you have.
|
|
124
|
-
|
|
125
151
|
## Credentials
|
|
126
152
|
|
|
127
153
|
The house bridge inherits the environment `cabane up` runs under, so your
|
|
@@ -149,7 +175,7 @@ executor's credentials reach it — no provider is special-cased:
|
|
|
149
175
|
|
|
150
176
|
`set-env` stores generic `KEY=VALUE` pairs in `<CABANE_HOME>/config.json` and composes
|
|
151
177
|
them into the bridge on every `up`, so it serves any executor's credentials (a
|
|
152
|
-
proxy `ANTHROPIC_BASE_URL`, an `ANTHROPIC_AUTH_TOKEN`,
|
|
178
|
+
proxy `ANTHROPIC_BASE_URL`, an `ANTHROPIC_AUTH_TOKEN`, another harness's key) —
|
|
153
179
|
not just Anthropic. A bare `cabane set-env KEY` (no `=value`) prompts for the value
|
|
154
180
|
without echoing, so a secret never lands on the command line. Inspect with `cabane
|
|
155
181
|
set-env --list` (values masked), remove with `cabane set-env --unset KEY`. A live shell export takes precedence over a
|
|
@@ -159,7 +185,6 @@ class) always win over both. Apply a change to an already-running stack with
|
|
|
159
185
|
|
|
160
186
|
## Notes
|
|
161
187
|
|
|
162
|
-
- **macOS Gatekeeper**
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
- **Install the _server_ artifact from a local build** with `cabane install --from <artifact.tgz>` instead of a distribution token — handy for an offline or air-gapped install.
|
|
188
|
+
- **macOS Gatekeeper** may quarantine the unsigned Postgres binaries. If pg
|
|
189
|
+
fails to exec on first run, clear the quarantine xattr and retry —
|
|
190
|
+
`cabane doctor` detects this and prints the fix.
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cabane/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "The cabane CLI — install,
|
|
5
|
+
"description": "The cabane CLI — install, run, and update a self-hosted Cabane on your own machine (server + embedded Postgres + house bridge).",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"homepage": "https://cabane.ai",
|
|
8
8
|
"repository": {
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
"keywords": [
|
|
14
14
|
"cabane",
|
|
15
15
|
"self-host",
|
|
16
|
-
"cli"
|
|
17
|
-
"supervisor"
|
|
16
|
+
"cli"
|
|
18
17
|
],
|
|
19
18
|
"bin": {
|
|
20
19
|
"cabane": "dist/cli.js"
|