# Lathe

> Open-source Go CLI and LLM skills that generate hands-on technical tutorials you work through yourself in a local web UI.

Lathe is an open-source experiment by Deven Jarvis in using LLMs to teach rather than think for you. It pairs a set of coding-agent skills with a Go CLI that stores generated tutorials and serves them in a local reader. The latest release listed is v0.5.0.

## What It Is

Lathe generates hands-on, single-part or multi-part technical tutorials from any prompt, such as `/lathe build a 3D Slicer in Erlang`, run inside a coding agent. The README lists Claude Code, Cursor, Codex, Gemini CLI, opencode, Cline, and Windsurf as supported agents. You then read and work through the tutorial by hand in a local UI started with `lathe serve`, which serves at localhost:4242 by default. The binary never calls a model itself; all model work runs in your interactive agent session.

## How the Workflow Runs

Skills cover the tutorial lifecycle: `/lathe` writes the first part, `/lathe-extend` adds the next part, `/lathe-verify` works through the steps to confirm they compile and run, `/lathe-ask` answers questions about a part, `/lathe-tag` adds search tags, and `/lathe-voice` creates custom voices. With `/lathe-work` running, the Ask, Verify, and Add a part buttons in the UI drive the agent session directly. Without it, the buttons give you the command to paste.

## Reading, Library, and Provenance

The reader provides a table of contents, side-notes, and exercises at the end of each tutorial. Tutorials are stored in `~/.lathe/tutorials/` with a metadata.json recording tags, tool versions, sources, voice, and the model used. The list page offers client-side search, sorting, and filters by status, type, tag, and version. Each tutorial records the URLs consulted and shows an authorship byline.

## Writing Voices and Verification

Voices change how the prose sounds without altering structure or accuracy. The `plainspoken` voice is the default and `companion` is a warmer first-person option. Verification is opt-in: it runs each step in a scratch directory and records verified, failed, or skipped, with skipped used when the required toolchain is missing. The author states that tutorials are LLM-generated and can contain errors, and that testing so far has been on Claude Code and macOS.

## Setup Path

Install via Homebrew cask (macOS), an install script, `go install` (Go 1.25+), or from source, then run `lathe skills install` to place skills for your agent. Local models work by pointing your coding agent at an OpenAI-compatible endpoint.

## Features
- Generates single-part or multi-part hands-on tutorials from a prompt
- Local web reader with table of contents, side-notes, and exercises
- Ask, verify, and extend skills for existing tutorials
- Live worker mode via /lathe-work or copy-paste fallback
- Library search, sorting, and filters by status, type, tag, and version
- Source provenance and authorship byline per tutorial
- Selectable and custom writing voices
- Opt-in verification of tutorial steps
- Light and dark mode
- Skills installable for multiple coding agents

## Integrations
Claude Code, Cursor, Codex, Gemini CLI, opencode, Cline, Windsurf, Antigravity, Ollama

## Platforms
MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
v0.5.0

## Links
- Website: https://github.com/devenjarvis/lathe
- Documentation: https://github.com/devenjarvis/lathe
- Repository: https://github.com/devenjarvis/lathe
- EveryDev.ai: https://www.everydev.ai/tools/lathe
