@trybullet/cli 1.4.9 → 1.4.11
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 +61 -2
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -28,6 +28,23 @@ everything live. Connect a cloud provider or explicitly download the optional on
|
|
|
28
28
|
- **Tools:** read / write / edit / delete, `search_code`, `find_files`,
|
|
29
29
|
`run_command`, background processes, web search + fetch, and a real browser
|
|
30
30
|
(below). File tools reach any absolute path; commands run from the workspace.
|
|
31
|
+
- **Remote SSH workspaces.** Open `user@host:/path/to/project` — from the
|
|
32
|
+
sidebar (**Connect over SSH…**) or `bullet -C user@host:/path` — and Bullet
|
|
33
|
+
works on that machine. Transport is your own `ssh` binary, so `~/.ssh/config`,
|
|
34
|
+
IdentityFile, ssh-agent, ProxyJump and `Host` aliases (Daytona, Tailscale,
|
|
35
|
+
etc.) all just work; one multiplexed ControlMaster connection carries every
|
|
36
|
+
command. The remote folder is mirrored locally (dependency trees excluded),
|
|
37
|
+
file tools edit the mirror — diffs, snapshots and rewind included — while
|
|
38
|
+
every `run_command`/`start_process` executes on the host: edits rsync across
|
|
39
|
+
before each command, and whatever the command changed (lockfiles, generated
|
|
40
|
+
code, git commits) syncs back after it. When a remote dev server prints a
|
|
41
|
+
localhost URL, its port is forwarded over the same connection so Preview and
|
|
42
|
+
the agent's browser reach it. Hosts without rsync fall back to tar-over-ssh.
|
|
43
|
+
Keys, ssh-agent, password and key-passphrase prompts, first-use host
|
|
44
|
+
confirmation, and keyboard-interactive/MFA are supported; secrets go directly
|
|
45
|
+
to OpenSSH and are never saved. A one-off key file (a cloud provider's `-i`
|
|
46
|
+
key) can be set in the SSH input or with `--ssh-key <file>`; it is remembered
|
|
47
|
+
per host. Use `ssh://user@host:2222/path` for non-standard ports.
|
|
31
48
|
- **Code search that lands.** `search_code` is extended-regex, so `(a|b)`, `\d`
|
|
32
49
|
and `+` mean what the model thinks they mean — grep's default dialect treats
|
|
33
50
|
them as literal characters, which silently answered "no matches" for code that
|
|
@@ -99,7 +116,9 @@ the provider auth are byte-for-byte the same code the app runs.
|
|
|
99
116
|
npm link # puts `bullet` on your PATH
|
|
100
117
|
bullet account signup # create a Bullet account (first run also offers this)
|
|
101
118
|
bullet account guest # start without an email; upgrade later without losing history
|
|
102
|
-
bullet
|
|
119
|
+
bullet providers # connect or inspect providers and local servers
|
|
120
|
+
bullet auth openrouter # connect a specific provider directly
|
|
121
|
+
bullet auth status # show every connection
|
|
103
122
|
bullet # interactive session in this folder
|
|
104
123
|
bullet "fix the failing tests" # run one task, then keep talking
|
|
105
124
|
bullet -p "what does app.js do" # print and exit — pipeable
|
|
@@ -108,7 +127,47 @@ git diff | bullet -p "review this"
|
|
|
108
127
|
|
|
109
128
|
Inside a session: `enter` sends, `ctrl+j` newlines, `esc` stops a running turn,
|
|
110
129
|
`tab` completes `/commands` and `@files`, `↑` walks history. `/help` lists the
|
|
111
|
-
rest — `/model`, `/cost`, `/diff`, `/undo`, `/resume`, `/agents`.
|
|
130
|
+
rest — `/providers`, `/model`, `/thinking`, `/cost`, `/diff`, `/undo`, `/resume`, `/agents`.
|
|
131
|
+
`/login` signs in to your Bullet account; `/providers` connects and switches model providers.
|
|
132
|
+
|
|
133
|
+
### Providers and thinking
|
|
134
|
+
|
|
135
|
+
`bullet providers` (or `bullet auth`) presents the full provider surface: Claude and ChatGPT/Codex
|
|
136
|
+
subscriptions; Anthropic, OpenAI, xAI, Gemini (Google AI Studio), Groq, and
|
|
137
|
+
OpenRouter API keys; Ollama and LM Studio local servers; and a custom
|
|
138
|
+
OpenAI-compatible endpoint. Each connection keeps its own encrypted key,
|
|
139
|
+
endpoint, and selected model, so adding one never replaces another.
|
|
140
|
+
|
|
141
|
+
Provider presets are used when you press Enter at the base-URL prompt:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
bullet auth gemini # Google AI Studio
|
|
145
|
+
bullet auth groq
|
|
146
|
+
bullet auth openrouter
|
|
147
|
+
bullet auth ollama # http://localhost:11434/v1
|
|
148
|
+
bullet auth lmstudio # http://localhost:1234/v1
|
|
149
|
+
bullet auth custom # enter an HTTPS endpoint
|
|
150
|
+
bullet auth status
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Endpoints without a scheme are saved as HTTPS. HTTP is accepted only for
|
|
154
|
+
loopback local servers. Local servers do not require a key. Use a provider and
|
|
155
|
+
thinking level per run or per session:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
bullet --provider openrouter --model openai/gpt-5.2 --thinking high "review this"
|
|
159
|
+
bullet --provider ollama --model qwen3-coder "fix the tests"
|
|
160
|
+
# in a session — unconfigured providers connect before becoming active
|
|
161
|
+
/providers gemini
|
|
162
|
+
/model gemini-2.5-pro
|
|
163
|
+
/thinking high # auto | low | medium | high | xhigh | max
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
`--effort` remains an alias for `--thinking`. The setting is persisted in the
|
|
167
|
+
session and forwarded only where the selected model supports it: OpenAI
|
|
168
|
+
reasoning models, Claude, supported xAI/Gemini/Groq models, and OpenRouter
|
|
169
|
+
models that advertise reasoning metadata. Unsupported local and compatible
|
|
170
|
+
models receive no reasoning parameter, so the setting does not cause API errors.
|
|
112
171
|
|
|
113
172
|
Skills come across from Claude Code and Codex without the desktop app:
|
|
114
173
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trybullet/cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.11",
|
|
4
4
|
"description": "The fastest coding agent — terminal edition. Same router, tools and agent loop as the Bullet desktop app, in your shell.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://codewithbullet.com",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"bin/bullet.js"
|
|
25
25
|
],
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"@trybullet/cli-darwin-arm64": "1.4.
|
|
28
|
-
"@trybullet/cli-darwin-x64": "1.4.
|
|
29
|
-
"@trybullet/cli-linux-x64": "1.4.
|
|
30
|
-
"@trybullet/cli-linux-arm64": "1.4.
|
|
31
|
-
"@trybullet/cli-win32-x64": "1.4.
|
|
27
|
+
"@trybullet/cli-darwin-arm64": "1.4.11",
|
|
28
|
+
"@trybullet/cli-darwin-x64": "1.4.11",
|
|
29
|
+
"@trybullet/cli-linux-x64": "1.4.11",
|
|
30
|
+
"@trybullet/cli-linux-arm64": "1.4.11",
|
|
31
|
+
"@trybullet/cli-win32-x64": "1.4.11"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|
|
34
34
|
"node": ">=18"
|