Repolode
devenjarvis

devenjarvis/lathe

Generates hands-on, multi-part technical tutorials from a prompt, then lets you work through them by hand in a local reading UI.

Stars
1,702
Forks
51
Open issues
13
Last commit
3 days ago

What is it?

Lathe is a Go CLI plus a set of LLM skills for generating technical tutorials on any topic. You describe what you want to build, and a skill running in your coding agent writes a single-part tutorial or a multi-part series. The tutorials are stored in a local library and rendered in a web UI served by `lathe serve` on localhost.

The project is built around typing the code yourself rather than having an LLM generate it. Tutorials include side-notes that prompt you to think through concepts, exercises at the end of each part, and a table of contents. Each tutorial records its sources, the model used, and the writing voice. The Ask, Verify, and Add a part buttons either drive a connected agent session or hand you the matching slash command to paste.

The binary never calls a model itself. All model work runs in your interactive agent session, which works with Claude Code, Cursor, Codex, Gemini CLI, opencode, Cline, and Windsurf. Verification is opt-in and runs the tutorial's steps in a scratch directory to check that it compiles and runs.

Key features

  • 01Generates single-part or multi-part hands-on tutorials from a plain-language prompt.
  • 02Runs as LLM skills inside supported coding agents, with no model calls from the binary.
  • 03Local web UI with table of contents, side-notes, and exercises for each part.
  • 04Optional verification that runs tutorial steps in a scratch directory.
  • 05Records sources, model, and writing voice for every tutorial.

Use cases

  • Learning a language or domain that has few human-written tutorials, such as an obscure toolchain.
  • Building a project from scratch, like a compiler or database, step by step by hand.
  • Asking follow-up questions on a tutorial section while you work through it.
  • Extending an existing tutorial series with new parts.

Quick start

  1. 1

    Install the lathe binary with Homebrew (macOS)

    brew install devenjarvis/tap/lathe
  2. 2

    Install the skills into your project so your coding agent can discover them

    lathe skills install
  3. 3

    In your coding agent, generate a tutorial by prompting with /lathe followed by your topic

    /lathe build a 3D Slicer in Erlang
  4. 4

    Open the local reading UI in your browser

    lathe serve

Things to know

  • Homebrew install is macOS-only; Linux users must use the install script or go install.
  • Tutorials are generated by an LLM and can contain errors, so verify what you learn.
  • Best results need a large, capable model, and local models may produce weaker tutorials.

Topics

FAQ

What is lathe?
Generates hands-on, multi-part technical tutorials from a prompt, then lets you work through them by hand in a local reading UI. Lathe is a Go CLI plus a set of LLM skills for generating technical tutorials on any topic. You describe what you want to build, and a skill running in your coding agent writes a single-part tutorial or a multi-part series. The tutorials are stored in a local library and rendered in a web UI served by `lathe serve` on localhost.
Is lathe free to use? What license does it have?
lathe is open source under the MIT license. Check the license terms before using it in commercial products.
Is lathe still maintained?
Actively maintained. The last commit to lathe was on Oct 18, 2026.
What can I use lathe for?
Learning a language or domain that has few human-written tutorials, such as an obscure toolchain. Building a project from scratch, like a compiler or database, step by step by hand. Asking follow-up questions on a tutorial section while you work through it. Extending an existing tutorial series with new parts.
How do I install lathe?
Install the lathe binary with Homebrew (macOS): brew install devenjarvis/tap/lathe Install the skills into your project so your coding agent can discover them: lathe skills install In your coding agent, generate a tutorial by prompting with /lathe followed by your topic: /lathe build a 3D Slicer in Erlang Open the local reading UI in your browser: lathe serve
Where can I get lathe?
The source code and installation instructions are on GitHub: https://github.com/devenjarvis/lathe

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects