howtofixcli 0.4.32 → 0.4.35
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 +8 -3
- package/dist/main.js +121 -111
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -19,12 +19,16 @@ howtofix --version
|
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Prefer a pinned download? Install the release tarball — the same package, no
|
|
22
|
-
registry lookup needed
|
|
22
|
+
registry lookup needed. The artifact repository is public, so this works without
|
|
23
|
+
a GitHub account:
|
|
23
24
|
|
|
24
25
|
```sh
|
|
25
|
-
npm install -g https://github.com/NetroIndonesia/howtofix-cli-dist/releases/download/
|
|
26
|
+
npm install -g https://github.com/NetroIndonesia/howtofix-cli-dist/releases/latest/download/howtofixcli.tgz
|
|
26
27
|
```
|
|
27
28
|
|
|
29
|
+
Or pin an exact version by replacing `latest` with a tag, e.g.
|
|
30
|
+
`.../releases/download/v0.4.34/howtofixcli-0.4.34.tgz`.
|
|
31
|
+
|
|
28
32
|
Release artifacts live in
|
|
29
33
|
[`howtofix-cli-dist`](https://github.com/NetroIndonesia/howtofix-cli-dist); the
|
|
30
34
|
source stays in this private repository.
|
|
@@ -97,7 +101,7 @@ the models; models you configured by hand are never overwritten.
|
|
|
97
101
|
## What it does
|
|
98
102
|
|
|
99
103
|
- **Workbench screen** — feed of user turns, tool calls, and streamed answers; boxed input dock; HUD with model, folder, git branch, context meter, thinking level, approval mode, and activity.
|
|
100
|
-
- **Slash commands** — `/init`, `/model`, `/providers`, `/thinking`, `/approval`, `/login`, `/connect`, `/logout`, `/new`, `/resume`, `/compact`, `/name`, `/stats`, `/diff`, `/commit`, `/undo`, `/review`, `/tools`, `/skills`, `/export`, `/copy`, `/agents`, `/goal`, `/plan`, `/workflow`, `/session`, `/help`, `/quit`. Type `/help` for the same list.
|
|
104
|
+
- **Slash commands** — `/init`, `/model`, `/providers`, `/thinking`, `/approval`, `/login`, `/connect`, `/sync`, `/usage`, `/update`, `/logout`, `/new`, `/resume`, `/compact`, `/name`, `/stats`, `/diff`, `/commit`, `/undo`, `/rewind`, `/review`, `/tools`, `/skills`, `/export`, `/copy`, `/agents`, `/goal`, `/plan`, `/workflow`, `/session`, `/help`, `/quit`. Type `/help` for the same list. (`/mcp` is not a slash command — MCP servers are configured through the SDK's own config.)
|
|
101
105
|
- **Skills** — drop a `SKILL.md` in `~/.howtofix/agent/skills/<name>/` (user) or `.howtofix/skills/<name>/` (this project). `/skills` lists them; `/skill:name` loads one into the next turn. The model also sees the list and will `read` a matching skill on its own.
|
|
102
106
|
- **Shell escape** — a line starting with `!` runs in the project shell and stays in the session history.
|
|
103
107
|
- **Approval modes** — `suggest` asks before every edit and command, `auto-edit` runs edits and asks for commands, `full-auto` (default) never asks. Read-only commands (`ls`, `git log`, `grep` — including pipes like `ls | head`) never ask. A critical command is denied in every mode. Pick one with `/approval` or `--approval <mode>`.
|
|
@@ -109,6 +113,7 @@ the models; models you configured by hand are never overwritten.
|
|
|
109
113
|
- **Tools** — `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`, plus `think` (private scratchpad), `ask` (multiple-choice question to the user), and `task` (background agents).
|
|
110
114
|
- **Web search and fetch** — `web_search` and `web_fetch` read public http(s) URLs; local, loopback, and RFC1918 addresses are refused before any request is made. Search defaults to DuckDuckGo, with an optional `BRAVE_API_KEY` upgrade.
|
|
111
115
|
- **Language server queries** — the read-only `lsp` tool asks a language server for definition, references, hover, symbols, or diagnostics. It needs the matching server on PATH (`typescript-language-server` for this repo); a missing binary comes back as a tool result that says so.
|
|
116
|
+
- **Hooks** — `hooks.json` in the config root attaches shell commands to seven lifecycle points (`PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `SessionStart`, `Stop`, `PreCompact`, `SessionEnd`). A hook reads a JSON payload on stdin and decides with its exit code: `0` allows, `2` blocks with its stderr as the reason. A `PreToolUse` hook can also **rewrite** a call's arguments with `updatedInput` — validated against the tool's own schema, so a hook cannot make the agent run something it never asked for. A `PreToolUse` hook outranks the approval mode, so it holds under `full-auto` too. `async` and `once` are supported. See `docs/hooks.md`.
|
|
112
117
|
- **Sessions** — stored as JSONL under `~/.howtofix/agent/sessions/<project>/`. `-c` continues the latest; `/resume` picks any of them.
|
|
113
118
|
- **Project notes** — `/init` writes an `AGENTS.md` and asks the agent to fill it in; it is loaded into the system prompt on later runs.
|
|
114
119
|
- **`@file`** — `@src/main.ts` in a prompt inlines the file; paths that do not exist are left alone for the agent to read.
|