@hlix/cli 0.4.5 → 0.5.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 CHANGED
@@ -17,7 +17,18 @@ gives you a coding agent with every CLI command available as a slash command,
17
17
  and it chooses where that agent's files and shell live: your project's cloud
18
18
  Coding Workspace when the folder is bound to hlix, a Docker container when one
19
19
  is running, and this machine otherwise. `--sandbox cloud|docker|local` decides
20
- it yourself; `--local` is short for `--sandbox local`.
20
+ it yourself; `--local` is short for `--sandbox local`. The Docker sandbox runs
21
+ `node:22-bookworm` (git, node, python3 — no bun); `--docker-image <ref>`, or
22
+ `hlix config set dockerImage <ref>`, runs a different one. No official image
23
+ carries all four: `oven/bun`'s Debian variant ships bun alone, and its `node` is
24
+ a symlink to bun rather than Node.js. For a project whose commands need bun,
25
+ `hlix config set dockerImage imbios/bun-node:22-debian` is a community image
26
+ that has git, node, bun and python3 together.
27
+
28
+ Hlix Code needs no model key of your own. `hlix auth login` is the whole setup:
29
+ the workspace the credential names pays for the coder, and `/model` offers only
30
+ the models that workspace serves. In a `local` or `docker` sandbox you may add
31
+ endpoints of your own — see **Your own model endpoints** below.
21
32
 
22
33
  Requires Node.js 22.19 or newer.
23
34
 
@@ -33,8 +44,8 @@ For CI, and for anything else that must not change underneath you, pin the
33
44
  version instead of floating to `latest`:
34
45
 
35
46
  ```bash
36
- npm install --global @hlix/cli@0.4.5
37
- npx @hlix/cli@0.4.5 status --json
47
+ npm install --global @hlix/cli@0.5.1
48
+ npx @hlix/cli@0.5.1 status --json
38
49
  ```
39
50
 
40
51
  ## Authenticate
@@ -110,6 +121,108 @@ key-only dry-run, and approve with `--yes`. Agent instructions, skills, and MCP
110
121
  configuration are quarantined for separate review instead of being executed
111
122
  during import.
112
123
 
124
+ ## Hlix Code
125
+
126
+ ```bash
127
+ hlix # open the shell in this folder
128
+ hlix --local # …with the agent running on this machine
129
+ hlix --yolo # …approving every tool, nothing asks
130
+ hlix -p "write a test for parseArgs" # one turn, print the answer, exit
131
+ hlix -p "fix the build" --yolo # …and let that turn change files
132
+ hlix -p "what does this repo do" --json # JSONL events instead of prose
133
+ ```
134
+
135
+ Inside the shell:
136
+
137
+ | | |
138
+ | --- | --- |
139
+ | `/help` | every command this build knows |
140
+ | `/model` | pick the model, from what your workspace serves |
141
+ | `/harness` | pick which coder does the work |
142
+ | `/sandbox` | pick where this session's files and commands run |
143
+ | `/rules` | which rules files the agent loaded, and how big they are |
144
+ | `/standards` | what this folder gave the agent, and which MCP servers connected |
145
+ | `/yolo` | run without being asked for approval — toggles |
146
+ | `/log` | what this session's libraries logged, which the screen never shows |
147
+ | `/new`, `/threads`, `/resume`, `/compact` | start a conversation, list them, pick an earlier one, condense one into memory |
148
+ | `/<any hlix command>` | `/status`, `/tasks-list`, `/push` — the CLI, inline, as its own panel |
149
+ | `/<your own>` | every `.md` file in `.claude/commands` or `.hlix/commands` |
150
+ | ⇧Tab | switch between `build` and `plan` |
151
+ | Ctrl-O | expand the newest tool, command or subagent panel |
152
+ | ESC | stop the turn that is running |
153
+ | Ctrl-C twice | leave |
154
+
155
+ A tool that changes something asks first, as a block above the prompt: allow
156
+ once, decline with a reason, or allow that family for the rest of the session.
157
+ `/yolo` turns the asking off for as long as you leave it on, and the footer says
158
+ `yolo` while it is — your "always allow" choices are untouched, so turning it off
159
+ puts you back where you were. `-p` has nobody to ask, so it reads freely and
160
+ declines writes; `--yolo` (older spelling: `--allow-writes`) lets a headless turn
161
+ change things. `hlix config set yolo true` makes it the default for a folder, or
162
+ `--global` for every project.
163
+
164
+ An edit shows the change as a diff, a command shows its output and its exit code,
165
+ and long output is collapsed with a line saying how much is hidden — Ctrl-O opens
166
+ it. Scrolling is your terminal's own: the wheel, PageUp, the scrollbar.
167
+
168
+ ### What the agent knows about your project
169
+
170
+ `hlix rules` shows the two instruction files Hlix Code loads, and `hlix rules
171
+ --edit` opens one in `$EDITOR`:
172
+
173
+ - `~/.hlix/AGENTS.md` — **your** rules, read in every project you open.
174
+ - this project's `AGENTS.md`, else `CLAUDE.md`, else `GEMINI.md` — one of them,
175
+ the first that exists.
176
+
177
+ Yours go into the prompt first and the project's second, so the project wins a
178
+ disagreement. Nothing else is duplicated: a repository that keeps `CLAUDE.md` as
179
+ a copy of `AGENTS.md` pays for it once.
180
+
181
+ Everything other coding agents left in the folder comes too — `hlix standards`
182
+ lists it. Skills load from `.claude/skills`, `.agents/skills`, `.hlix/skills` and
183
+ `.codex/skills`, and a skill whose `name:` is a human title loads under its
184
+ directory name rather than being refused. Subagents come from `.claude/agents`
185
+ and `.hlix/agents`, alongside the three Hlix Code ships: `explore` (read-only),
186
+ `plan` and `execute`.
187
+
188
+ ### MCP servers
189
+
190
+ A project's MCP servers start with the session and their tools join the agent's.
191
+ They are read from `.mcp.json`, `.hlix/mcp.json`, and the Cursor, Windsurf,
192
+ Gemini, VS Code and Codex registrations already in the folder — `${VAR}`
193
+ placeholders resolve from your environment, so no secret has to live in the file.
194
+ A server that cannot start costs one line in `/standards` and nothing else.
195
+
196
+ Machine-wide registrations are listed and **not** started: an MCP server is a
197
+ process, usually holding a credential, and it belongs to the project it was
198
+ configured for. Copy one into `.hlix/mcp.json` to use it here.
199
+
200
+ Conversations are kept in `~/.hlix/code/`, and a long one is condensed into
201
+ memory rather than truncated. `hlix config set memoryTokens <n>` sizes that
202
+ budget (default 200000). Anything the libraries log goes to
203
+ `~/.hlix/code/hlix-code.log` instead of onto the screen; `/log` reads it.
204
+
205
+ ### Your own model endpoints
206
+
207
+ A `local` or `docker` session can run an OpenAI-compatible endpoint of your own
208
+ alongside the workspace's models. Hlix Code never asks you to paste a key: add
209
+ the endpoint to `~/.hlix/config.json` yourself, and name an environment variable
210
+ rather than writing a secret into the file.
211
+
212
+ ```json
213
+ {
214
+ "schemaVersion": 1,
215
+ "providers": [
216
+ { "name": "lab", "url": "http://localhost:1234/v1", "models": ["qwen3-coder"] },
217
+ { "name": "acme", "url": "https://api.acme.test/v1", "models": ["acme-coder"],
218
+ "apiKeyEnv": "ACME_API_KEY" }
219
+ ]
220
+ }
221
+ ```
222
+
223
+ A **cloud** session ignores them: it runs on the workspace's account, so it
224
+ offers the workspace's models and nothing else.
225
+
113
226
  ## `--json` is a contract
114
227
 
115
228
  Human output may change at any time. `--json` may not. Every JSON response