@lbroth/rothunter 1.0.0-rc.3 → 1.0.0-rc.4
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 +30 -50
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,79 +48,52 @@ also start an LLM, or are you bringing your own?"
|
|
|
48
48
|
|
|
49
49
|
## Quick start
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### 1. Docker Compose — everything bundled
|
|
54
|
-
|
|
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
|
+
The fastest path — `cd` into the repo you want to scan and:
|
|
57
52
|
|
|
58
53
|
```bash
|
|
59
|
-
|
|
60
|
-
ROTHUNTER_WORKSPACE_HOST=/path/to/your-repo npm run docker
|
|
54
|
+
npx @lbroth/rothunter@next
|
|
61
55
|
```
|
|
62
56
|
|
|
63
|
-
|
|
57
|
+
That boots the engine + dashboard on <http://localhost:3000>. The
|
|
58
|
+
current directory is auto-mounted as the workspace. Default LLM
|
|
59
|
+
endpoint is `http://127.0.0.1:8080/v1` (a local `llama.cpp`) — set
|
|
60
|
+
`ROTHUNTER_LLM_BASE_URL` to point elsewhere. **No LLM is required**
|
|
61
|
+
for the scan to run; deterministic detectors fire either way, you
|
|
62
|
+
just lose the LLM-driven auto-FP routing.
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
(vLLM / Ollama / LM Studio / OpenRouter / a colleague's box) OR you
|
|
67
|
-
prefer to run llama.cpp yourself.
|
|
64
|
+
### Docker (no node install)
|
|
68
65
|
|
|
69
66
|
```bash
|
|
70
|
-
# docker — no clone, no node install
|
|
71
67
|
docker run --rm -p 3000:3000 \
|
|
72
68
|
-v "$(pwd):/workspace" \
|
|
73
69
|
-e ROTHUNTER_LLM_BASE_URL="http://host.docker.internal:8080/v1" \
|
|
74
70
|
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
|
|
79
71
|
```
|
|
80
72
|
|
|
81
|
-
|
|
73
|
+
### Docker Compose — bundles llama.cpp + Qwen2.5-Coder-14B
|
|
82
74
|
|
|
83
|
-
|
|
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
|
-
```
|
|
90
|
-
|
|
91
|
-
### 3. Clone + dev mode (contributor flow)
|
|
75
|
+
For "one command, everything boots" (downloads 9 GB on first run):
|
|
92
76
|
|
|
93
77
|
```bash
|
|
94
78
|
git clone https://github.com/lBroth/rothunter && cd rothunter
|
|
95
|
-
npm run
|
|
96
|
-
npm run dev:full # server + UI + auto-launched llama.cpp
|
|
79
|
+
ROTHUNTER_WORKSPACE_HOST=/path/to/your-repo npm run docker
|
|
97
80
|
```
|
|
98
81
|
|
|
99
|
-
|
|
82
|
+
### Running your own LLM
|
|
100
83
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
| 1 | **llama.cpp native** (`llama-server`) | `llama-server` on PATH (`brew install llama.cpp`) — uses Metal / CUDA when the binary supports it |
|
|
104
|
-
| 2 | **Docker** (`docker compose up rothunter-llm`) | Docker Desktop available |
|
|
105
|
-
|
|
106
|
-
Force a backend or model:
|
|
84
|
+
Any OpenAI-compatible endpoint works (vLLM / Ollama / LM Studio /
|
|
85
|
+
OpenRouter / a colleague's box). Local llama.cpp one-liner:
|
|
107
86
|
|
|
108
87
|
```bash
|
|
109
|
-
|
|
110
|
-
|
|
88
|
+
brew install llama.cpp # macOS — Linux: see ggml-org/llama.cpp
|
|
89
|
+
llama-server \
|
|
90
|
+
--hf-repo bartowski/Qwen2.5-Coder-14B-Instruct-GGUF \
|
|
91
|
+
--hf-file Qwen2.5-Coder-14B-Instruct-Q4_K_M.gguf \
|
|
92
|
+
--host 127.0.0.1 --port 8080 --jinja -c 8192 -n 256
|
|
111
93
|
```
|
|
112
94
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Skip the auto-launch when you already have an OpenAI-compatible endpoint:
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
export ROTHUNTER_LLM_BASE_URL=https://my-llm.internal/v1
|
|
119
|
-
export ROTHUNTER_LLM_MODEL=Qwen2.5-Coder-14B-Instruct
|
|
120
|
-
export ROTHUNTER_LLM_API_KEY=... # if the endpoint needs auth
|
|
121
|
-
export ROTHUNTER_LLM_CONCURRENCY=4 # raise for vLLM / llama.cpp --parallel N
|
|
122
|
-
npx @lbroth/rothunter
|
|
123
|
-
```
|
|
95
|
+
Then point rothunter at it via `ROTHUNTER_LLM_BASE_URL`
|
|
96
|
+
(default already targets `http://127.0.0.1:8080/v1`).
|
|
124
97
|
|
|
125
98
|
## Layout
|
|
126
99
|
|
|
@@ -166,7 +139,14 @@ See [`ROADMAP.md`](./ROADMAP.md) for planned detectors (TypeScript misuse:
|
|
|
166
139
|
|
|
167
140
|
## Contributing
|
|
168
141
|
|
|
169
|
-
PRs welcome. See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the
|
|
142
|
+
PRs welcome. See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the
|
|
143
|
+
detector-author checklist and quality bar. Local dev flow:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git clone https://github.com/lBroth/rothunter && cd rothunter
|
|
147
|
+
npm run setup # root + UI deps
|
|
148
|
+
npm run dev:full # server + UI + auto-launched llama.cpp on PATH
|
|
149
|
+
```
|
|
170
150
|
|
|
171
151
|
## License
|
|
172
152
|
|
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.4",
|
|
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",
|