@easybits.cloud/cli 0.7.0 → 0.9.0

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.
Files changed (3) hide show
  1. package/README.md +59 -7
  2. package/dist/index.js +1133 -119
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -36,7 +36,7 @@ another server (default `https://www.easybits.cloud`; `baseUrl` in `~/.easybitsr
36
36
  # Sandboxes (alias: sb)
37
37
  easybits sandboxes ls
38
38
  easybits sandboxes create --template node --name scratch --dotenv .env
39
- easybits sandboxes create --size m --timeout 1800 --no-wait # size s|m|l|xl (plan-gated)
39
+ easybits sandboxes create --size m --ttl 1800 --no-wait # size s|m|l|xl (plan-gated)
40
40
  easybits sandboxes get sb_abc123
41
41
  easybits sandboxes exec sb_abc123 -- npm test
42
42
  easybits sandboxes logs sb_abc123 --unit myapp --lines 100 --since "10 min ago" --grep ERROR
@@ -50,7 +50,7 @@ easybits sandboxes destroy sb_abc123 --yes
50
50
 
51
51
  # Hosting: permanent machines (alias: deploy)
52
52
  easybits machines ls
53
- easybits machines deploy sb_abc123 -m "v1.2"
53
+ easybits deploy sb_abc123 -m "v1.2" # = machines deploy
54
54
  easybits machines releases sb_abc123 --limit 5
55
55
  easybits machines logs sb_abc123 --lines 100 --grep ERROR
56
56
  easybits machines rollback sb_abc123 rel_789
@@ -75,22 +75,39 @@ easybits db rm leads --yes
75
75
  # Agents
76
76
  easybits agents ls
77
77
  easybits agents create --template goose --name helper --dotenv .env
78
- easybits agents get helper # by name or id
78
+ easybits agents get helper # by name or id: record + prompt, MCP, skills, files
79
+ easybits agents get helper --fields status,systemPromptMode --json
80
+ easybits agents get helper --prompt-out PROMPT.md
79
81
  easybits agents message helper "hello"
80
82
  easybits agents message helper "and now?" --session ses_456 # continue a conversation
81
83
  easybits agents destroy helper --yes
82
84
 
85
+ # Configure an agent with a machine (ghosty-lite, goose) — every write takes --dry-run
86
+ easybits agents set helper --prompt-file PROMPT.md [--prompt-mode append|replace]
87
+ easybits agents files ls|get|put|rm helper [path|local-files…] [--to DIR] [--out FILE]
88
+ easybits agents skills ls|get|add|rm helper [slug…] [--dir FOLDER | --file SKILL.md] [--restart]
89
+ easybits agents mcp get|set helper [--file servers.json|-] # set replaces the list and restarts
90
+ easybits agents restart helper
91
+ easybits agents try helper "who are you?" # one full turn as text: verify what you set up
92
+ easybits agents logs helper --since "10 min ago"
93
+ easybits agents doctor helper # exits 1 on a problem
94
+ easybits agents export helper --out helper.json [--show-secrets] [--with-files]
95
+ easybits agents create --like helper --name helper-2 [--copy-files] --dry-run # clone its setup, never its env
96
+ easybits agents create --from helper.json --name helper-3
97
+
83
98
  # Files, websites, account
84
99
  easybits files ls
85
100
  easybits files upload ./report.pdf
86
- easybits files delete FILE_ID --yes
101
+ easybits files rm FILE_ID --yes
87
102
  easybits websites ls
88
103
  easybits providers # storage provider (Tigris by default)
89
104
  easybits usage
90
105
 
91
106
  # MCP, SSH, docs
92
- easybits config # MCP config (streamable HTTP)
93
- easybits mcp # MCP config (stdio)
107
+ easybits whoami # account and where the credential comes from
108
+ easybits doctor # Node, CLI version, credential, API; exits 1 on a problem
109
+ easybits mcp config # MCP config (streamable HTTP)
110
+ easybits mcp config --stdio # MCP config (stdio)
94
111
  easybits ssh-key # public key for sandbox SSH
95
112
  easybits docs cli # a docs section as markdown (--en for English)
96
113
  easybits docs --open # open the docs in your browser
@@ -104,10 +121,16 @@ Every command has help with examples: `easybits <command> <subcommand> --help`
104
121
  (or `easybits help <command> <subcommand>`). A typo gets a "Did you mean" suggestion.
105
122
 
106
123
  **Destructive commands** (`db rm`, `agents destroy`, `sandboxes destroy`, `domains rm`,
107
- `files delete`) ask before acting in a terminal: `[y/N]`, or typing the name/id for
124
+ `files rm`) ask before acting in a terminal: `[y/N]`, or typing the name/id for
108
125
  irreversible ones (a database, an agent, a permanent sandbox). Without a terminal they
109
126
  never prompt — and neither do they with `--json`: pass `--yes` / `-y`, or they exit `2`.
110
127
 
128
+ **Dry runs.** Writes that change an agent (`agents set`, `files put|rm`, `skills add|rm`,
129
+ `mcp set`, `create`) take `--dry-run`: they print what would change and touch nothing.
130
+
131
+ **Updates.** Once a day the CLI checks npm and, in a terminal, says on stderr when a newer
132
+ version is out (never with `--json`). `EASYBITS_NO_UPDATE_CHECK=1` or `CI` turns it off.
133
+
111
134
  **Secrets** go in a dotenv file or on stdin, never in argv (visible in `ps` and shell
112
135
  history): `--dotenv <path>` (`KEY=VALUE` lines, `-` = stdin) on `sandboxes create|exec|resume`,
113
136
  `agents create` and `machines secrets set`. `--env K=V` stays for non-secret values and wins
@@ -134,6 +157,35 @@ Host *.ghosty
134
157
 
135
158
  Full reference: https://www.easybits.cloud/docs#cli · https://www.easybits.cloud/en/docs/cli.md
136
159
 
160
+ ## Changes in 0.9.0
161
+
162
+ - Configure agents with a machine (ghosty-lite, goose) from the terminal, same contract as
163
+ Ghosty Studio's `ghosty` CLI: `agents set` (system prompt), `agents files`, `agents skills`,
164
+ `agents mcp`, `agents restart`, `agents try` (one turn as text), `agents logs`, `agents doctor`.
165
+ - `agents get` shows the prompt, MCP servers (secrets masked), skills and files;
166
+ `--fields a,b` and `--prompt-out FILE` (write a long prompt to a file instead of the terminal).
167
+ - `agents export` and `agents create --like <agent> | --from <export.json>`: clone an agent's
168
+ setup (template, prompt, MCP, skills, optionally files). Never its env: pass keys with `--dotenv`.
169
+ - `agents create --prompt | --prompt-file | --prompt-mode | --mcp-file`. A multi-line prompt is
170
+ written once the machine is up (the box env cannot hold newlines).
171
+ - `--dry-run` on every agent write; `files rm` and `skills rm` take several at once (one confirmation).
172
+ - New `easybits doctor`; a daily update notice on stderr; an unknown flag on an old version says to update.
173
+
174
+ ## Changes in 0.8.0
175
+
176
+ - One naming rule (like `gh`): `easybits <noun> <verb>`. Old spellings still work and print the new
177
+ one on stderr (never with `--json`):
178
+ `easybits config` → `easybits mcp config`; `easybits mcp` → `easybits mcp config --stdio`;
179
+ `easybits deploy <machine>` is now the verb (= `machines deploy`), so `deploy ls` → `machines ls`;
180
+ `machines release` → `machines deploy` (it clashed with `releases`);
181
+ `sandboxes create --timeout` → `--ttl` (`--timeout` stays in `exec`, where it caps the command).
182
+ - `files rm` is the name (`delete` still works), like `db rm` and `domains rm`.
183
+ - New `easybits whoami`: account email and where the credential comes from.
184
+
185
+ ## Changes in 0.7.0
186
+
187
+ - Agents, sandboxes/machines and databases by **name** anywhere an id goes; `easybits agents get`.
188
+
137
189
  ## Changes in 0.6.1
138
190
 
139
191
  - Help: `--yes` is no longer listed as a global flag; it lives on each destructive command