devenjarvis/lathe
Generate hands-on, multi-part technical tutorials on demand, with LLM skills tuned to make content approachable. Then you work through them yourself, by hand ✋
Lathe – AI‑powered hands‑on tutorial generator
What it is
- A Go‑based CLI + local web UI that lets you ask a coding‑agent LLM (Claude, Gemini, Codex, etc.) to write step‑by‑step technical tutorials on any topic you specify.
- The generated tutorial is stored locally, can be extended, verified, or queried, and is displayed in a pleasant, browser‑based reader with a table of contents, side‑notes, and exercises.
Key features
- Prompt‑driven tutorial creation – type a slash command like
/lathe build a 3D slicer in Erlangin a supported coding agent and the LLM writes a multi‑part markdown tutorial. - Local UI –
lathe servelaunches a web server (default http://localhost:4242) that shows your library of tutorials, lets you browse, search, filter, and read them with dark/light mode. - Interactive workflow – buttons in the UI trigger LLM actions (ask a question, verify code, add a new part) either via a live worker loop (
/lathe‑work) or by copying the generated/lathe‑*command back into the agent. - Voice system – tutorials can be written in different “voices” (e.g.,
plainspokenorcompanion). Voices are just stylistic prompts; you can add custom ones. - Provenance tracking – every tutorial records the LLM model, the voice, and a list of source URLs consulted during generation.
- Cross‑agent support – skills are packaged with the binary and can be installed for Claude Code, Cursor, Codex, Gemini CLI, opencode, Cline, Windsurf, etc.
- Self‑hosted model friendly – Lathe never calls an LLM itself; it relies on the agent you’re using, so you can point the agent at a local OpenAI‑compatible endpoint like Ollama.
Installation
- macOS:
brew install devenjarvis/tap/lathe(distributed as a pre‑built binary). - Linux/macOS: one‑line script
curl -sSf https://raw.githubusercontent.com/devenjarvis/lathe/main/install.sh | sh. - From source:
go install github.com/devenjarvis/lathe@latest(requires Go 1.25+). - After installing the binary, run
lathe skills install …to drop the LLM skill files into the appropriate directories for your coding agent.
How it works
- LLM skills – Markdown‑based skill files (
SKILL.md) are read by the coding agent. Commands like/lathe,/lathe‑extend,/lathe‑verify,/lathe‑ask, etc., cause the agent to invoke the LLM, generate or modify tutorial parts, and then call back into thelatheCLI to store results. - CLI – Manages persistent storage under
~/.lathe/tutorials/, serves the UI, and mediates communication between the web UI and the agent‑side worker loop. - Live mode vs. copy‑paste – If you start
/lathe‑workin the agent, UI buttons enqueue jobs that the worker picks up, giving a seamless experience. If no worker is running, the UI shows the exact/lathe‑*command you can paste into the agent.
Typical workflow
# In your coding‑agent chat window
/lathe build a 3D slicer in Erlang
# In a terminal
lathe serve # opens the browser UI
- Browse the list, click a tutorial, read the parts.
- Use the Ask, Verify, or Add a part buttons to interact with the LLM while you work through the code.
- Extend the tutorial with new parts or adjust the voice as needed.
Use cases
- Quickly generate a hands‑on guide for niche or emerging technologies where human tutorials are scarce.
- Personal learning: you stay in the “doing” loop while the LLM supplies structured explanations, citations, and exercises.
- Experimentation with different instructional styles via custom voices.
Limitations & cautions
- The quality depends on the underlying LLM; hallucinations are possible. The author recommends using the largest “thinking” model you have access to.
- Lathe does not perform any model inference itself; you must have a compatible coding agent configured with an LLM endpoint.
- Currently distributed as a macOS‑only Homebrew cask; Linux users must use the install script or build from source.
- Intended for personal learning—commercial redistribution of generated tutorials is discouraged.
Where to find more
- Repository: https://github.com/devenjarvis/lathe
- Documentation and screenshots are in the
docs/folder of the repo. - Issues and feature requests can be opened on GitHub.
Related
- Dispatch
- Project
- Project
- Project
- Project