bfuzzy1 commited on
Commit
5d29b8d
·
verified ·
1 Parent(s): 4331c52

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +57 -0
README.md CHANGED
@@ -1,3 +1,60 @@
1
  ---
 
2
  license: apache-2.0
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ library_name: mlx
3
  license: apache-2.0
4
+ license_link: https://huggingface.co/Qwen/Qwen3-0.6B/blob/main/LICENSE
5
+ base_model: Qwen/Qwen3-0.6B
6
+ pipeline_tag: text-generation
7
+ tags:
8
+ - mlx
9
  ---
10
+
11
+ # TinyGuide Coach
12
+
13
+ A tiny highly expiremental 0.6B coding agent coach that runs on your laptop. TinyGuide sits in Claude
14
+ Code's **PreToolUse** hook before every `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**
15
+ of guidance into the agent's context.
16
+
17
+ Fine tuned from Qwen3-0.6B. Small enough to run locally on every tool call.
18
+
19
+ This repo holds the fp16 fused weights (bf16, ~1.1 GB) and the Claude Code hook that wires them in.
20
+
21
+ ## Run it
22
+
23
+ Serve with mlx_lm, then point the hook at it (`infer.py` POSTs to `http://127.0.0.1:8080`):
24
+
25
+ ```bash
26
+ pip install mlx-lm
27
+ mlx_lm.server --model <this-repo-or-local-path> --port 8080
28
+ ```
29
+
30
+ Direct generation:
31
+
32
+ ```python
33
+ from mlx_lm import load, generate
34
+ m, tok = load("<this-repo-or-local-path>")
35
+ print(generate(m, tok, prompt, max_tokens=24, temp=0.0))
36
+ ```
37
+
38
+ ## Wire into Claude Code
39
+
40
+ Files in `claude-code/`:
41
+
42
+ | File | Role |
43
+ |------|------|
44
+ | `hook_pretooluse.py` | the PreToolUse hook: rebuilds state from the transcript, asks the server, prints advisory context |
45
+ | `infer.py` | client to the local mlx_lm.server; strips `<think>`, validates the hint |
46
+ | `format_prompt.py` | shared train/inference prompt builder |
47
+ | `build_from_raw.py` | transcript parser + state machine (`iter_pairs`, `_advance`) |
48
+ | `clean_output.py` | `KNOWN_HINTS` + output validation |
49
+ | `settings.snippet.json` | the `PreToolUse` config to merge into `~/.claude/settings.json` |
50
+
51
+ Merge `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`.
52
+
53
+ ### Runtime cooldown
54
+
55
+ Enforced at runtime in the hook via `/tmp/tinyguide_cooldown.json`:
56
+
57
+ - `MIN_CALLS_BETWEEN = 3` tool calls between hints
58
+ - `MAX_PER_SESSION = 5` cap per session
59
+
60
+ You can tune these in `hook_pretooluse.py` pacing is a policy.