@lbroth/rothunter 1.0.0-rc.2 → 1.0.0-rc.3
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 +40 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,39 +32,61 @@ Full detector list with severities + tunables: [`docs/DETECTORS.md`](./docs/DETE
|
|
|
32
32
|
| Single-workspace | All 24 |
|
|
33
33
|
| Multi-workspace (cross-repo via `rothunter.config.json`) | 9 cross-repo always-on (duplicate-type, duplicate-function, dead-module, dead-export, dead-api, long-function, deep-nesting, public-any, hot-hub-file) + the remaining 15 looped per workspace with workspace-namespaced fingerprints |
|
|
34
34
|
|
|
35
|
+
## What you actually get
|
|
36
|
+
|
|
37
|
+
rothunter has TWO independent pieces:
|
|
38
|
+
|
|
39
|
+
| Piece | What it does | Where it runs |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| **Engine + dashboard** (`rothunter`) | parses your repo, runs 24 detectors, serves the Fastify API + React UI on `:3000` | this is what the npm package / docker image ships |
|
|
42
|
+
| **LLM** (any OpenAI-compatible endpoint) | answers the verdict prompts ("is this finding real or intentional?") — typically `llama.cpp` with Qwen2.5-Coder-14B | runs separately, you point rothunter at it |
|
|
43
|
+
|
|
44
|
+
The engine runs WITHOUT the LLM — the deterministic detectors still
|
|
45
|
+
fire, you just don't get the verdict pass that auto-filters the FPs.
|
|
46
|
+
So the question every install path answers is: "do you want me to
|
|
47
|
+
also start an LLM, or are you bringing your own?"
|
|
48
|
+
|
|
35
49
|
## Quick start
|
|
36
50
|
|
|
37
51
|
Three paths. Pick one — they all end at <http://localhost:3000>.
|
|
38
52
|
|
|
39
|
-
### 1. Docker
|
|
53
|
+
### 1. Docker Compose — everything bundled
|
|
40
54
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
docker run --rm -p 3000:3000 \
|
|
44
|
-
-v "$(pwd):/workspace" \
|
|
45
|
-
-e ROTHUNTER_LLM_BASE_URL="$LLM_URL" \
|
|
46
|
-
ghcr.io/lbroth/rothunter:latest
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
No `ROTHUNTER_LLM_BASE_URL`? Use the compose stack — it ships an
|
|
50
|
-
llama.cpp sidecar that downloads a 9 GB model on first boot:
|
|
55
|
+
Engine + UI + llama.cpp + 9 GB model download on first boot, all in
|
|
56
|
+
one stack. Slowest first-run; zero pieces to install.
|
|
51
57
|
|
|
52
58
|
```bash
|
|
53
59
|
git clone https://github.com/lBroth/rothunter && cd rothunter
|
|
54
60
|
ROTHUNTER_WORKSPACE_HOST=/path/to/your-repo npm run docker
|
|
55
61
|
```
|
|
56
62
|
|
|
57
|
-
### 2. npx
|
|
63
|
+
### 2. `docker run` or `npx` — engine only, BYO LLM
|
|
64
|
+
|
|
65
|
+
Use this when you already have an OpenAI-compatible LLM endpoint
|
|
66
|
+
(vLLM / Ollama / LM Studio / OpenRouter / a colleague's box) OR you
|
|
67
|
+
prefer to run llama.cpp yourself.
|
|
58
68
|
|
|
59
69
|
```bash
|
|
60
|
-
#
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
# docker — no clone, no node install
|
|
71
|
+
docker run --rm -p 3000:3000 \
|
|
72
|
+
-v "$(pwd):/workspace" \
|
|
73
|
+
-e ROTHUNTER_LLM_BASE_URL="http://host.docker.internal:8080/v1" \
|
|
74
|
+
ghcr.io/lbroth/rothunter:latest
|
|
75
|
+
|
|
76
|
+
# OR npx — no docker, just node ≥ 24
|
|
77
|
+
ROTHUNTER_LLM_BASE_URL="http://127.0.0.1:8080/v1" \
|
|
78
|
+
npx @lbroth/rothunter@next
|
|
63
79
|
```
|
|
64
80
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
81
|
+
To boot llama.cpp yourself (one-time setup):
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
brew install llama.cpp # macOS — Linux: see ggml-org/llama.cpp
|
|
85
|
+
llama-server \
|
|
86
|
+
--hf-repo bartowski/Qwen2.5-Coder-14B-Instruct-GGUF \
|
|
87
|
+
--hf-file Qwen2.5-Coder-14B-Instruct-Q4_K_M.gguf \
|
|
88
|
+
--host 127.0.0.1 --port 8080 --jinja -c 8192 -n 256
|
|
89
|
+
```
|
|
68
90
|
|
|
69
91
|
### 3. Clone + dev mode (contributor flow)
|
|
70
92
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lbroth/rothunter",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.3",
|
|
4
4
|
"description": "Self-hosted code-hygiene engine for TypeScript / JavaScript codebases. Deterministic detectors + local LLM verdicts + dashboard.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "lBroth",
|