Views
No views yet
Edit, Write, or Bash, it reads the session state and decides whether to say something. Most of the time it stays quiet. When the agent is about to edit a file it never read, re-run a command that already failed, or finalize without testing, it drops one short sentence
of guidance into the agent's context.infer.py POSTs to http://127.0.0.1:8080):1pip install mlx-lm
2mlx_lm.server --model <this-repo-or-local-path> --port 80801from mlx_lm import load, generate
2m, tok = load("<this-repo-or-local-path>")
3print(generate(m, tok, prompt, max_tokens=24, temp=0.0))claude-code/:| File | Role |
|---|---|
hook_pretooluse.py | the PreToolUse hook: rebuilds state from the transcript, asks the server, prints advisory context |
infer.py | client to the local mlx_lm.server; strips <think>, validates the hint |
format_prompt.py | shared train/inference prompt builder |
build_from_raw.py | transcript parser + state machine (iter_pairs, _advance) |
clean_output.py | KNOWN_HINTS + output validation |
settings.snippet.json | the PreToolUse config to merge into ~/.claude/settings.json |
settings.snippet.json into ~/.claude/settings.json, fixing the two absolute paths to your venv python and this folder. The hook fires on Edit|Write|Bash./tmp/tinyguide_cooldown.json:MIN_CALLS_BETWEEN = 3 tool calls between hintsMAX_PER_SESSION = 5 cap per sessionhook_pretooluse.py pacing is a policy.