Skip to content
Turtle

Turtle

Duolingo for the terminal. Teaches tmux and shell commands through gamified, spaced microlearning in a TUI.

GitHub ← All Products

Turtle is a TUI app that teaches terminal and tmux basics the way Duolingo teaches languages: short sessions, immediate feedback, and a progression system that keeps you coming back. You run it, pick a skill, type the real command, and it tells you whether you got it right.

Install

brew install 2389-research/tap/turtle

Or with Go:

go install github.com/2389-research/turtle/cmd/turtle@latest

Then just run turtle.

What it does

Gamified progression. XP for correct answers, streaks for consecutive days, levels that unlock as you prove competence, and combo multipliers for answering correctly in a row. Progress saves automatically to ~/.local/share/turtle/progress.json.

Bite-sized lessons. Each session takes 2-5 minutes. You’re learning pwd, ls, cd, mkdir, cp, mv, tmux sessions, panes, and windows — but never more than a few concepts at a time.

Spaced repetition. The SM-2 algorithm schedules reviews based on how well you remembered each command. Skills you struggle with come back sooner. Skills you’ve nailed fade into longer intervals.

Mastery-based unlocks. You can’t skip ahead. Level 0 covers navigation (pwd, ls, cd, tab completion). Level 2 introduces file operations. Level 3+ moves into tmux: sessions, panes, and windows. Each tier unlocks when you’ve demonstrated the previous one.

Real commands, not quizzes. Turtle asks you to type actual commands, not pick from multiple choice. You build muscle memory, not test-taking strategy.

How it works

Built with Bubble Tea and Lip Gloss. The lesson content is structured as a skill tree in YAML. The spaced repetition engine tracks per-skill ease factors, intervals, and next-review dates using a standard SM-2 implementation. Navigate with arrow keys or j/k, select with Enter, quit with q.

30 products · 11 skills · 15 tools · 3 platforms · 5 building · hugo 0.148.2 · 02a0377 · built Mar 18 22:36
2389 Radio
2389 RADIO Select a station