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 Erlang in a supported coding agent and the LLM writes a multi‑part markdown tutorial.
  • Local UI – lathe serve launches 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., plainspoken or companion). 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

  1. 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 the lathe CLI to store results.
  2. CLI – Manages persistent storage under ~/.lathe/tutorials/, serves the UI, and mediates communication between the web UI and the agent‑side worker loop.
  3. Live mode vs. copy‑paste – If you start /lathe‑work in 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

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project