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