Skip to main content

Guitar TUI

A terminal application for guitar music theory. Structured lessons, interactive reference tools, and a licks library — entirely keyboard-driven, no browser required. Built on Textual and developed with Claude Sonnet 4.6.

Guitar TUI demo

What's inside

  • 78 lessons across 11 tracks — open chords through modes and song analysis
  • Tools screen — full-neck scale/key explorer, diatonic chord strip, reference tables (intervals, key signatures, barre positions, capo chart, tunings)
  • Practice screen — technique exercises and a lick library with looper-ready phrases across 8 scale categories
  • All content is plain Markdown with YAML frontmatter — readable without running the app

Curriculum

Phase Tracks Content
1 — Playing foundation 1–3 Notation · Open chords · First progressions
2 — Vocabulary expansion 4–9 Theory · Barre chords · Pentatonic · Natural minor · Major scale · Seventh chords
3 — Synthesis 10–11 Modes · Song analysis

Requirements

  • Python 3.12+
  • uv (recommended) or pip

Install

uv tool install guitar-tui
guitar-tui

Or with pip: pip install guitar-tui

Or clone and run locally:

git clone https://github.com/konoerik/guitar-tui.git
cd guitar-tui
uv run guitar-tui

Navigation

Key Action
1 Home
2 Lessons
3 Tools
4 Practice
q Quit
[ ] Previous / next scale position (Tools)
, . Previous / next diatonic chord (Tools)
Esc Back / deselect

Terminal requirements

Recommended size: 110 × 36 or larger. Use a terminal emulator with a good monospace font (Ghostty, iTerm2, WezTerm, Alacritty all work well). Increase font size until the layout feels comfortable — there's no zoom button.

Architecture

Four-layer model:

Data Layer     guitar_tui/data/        YAML chord/scale data
Engine Layer   guitar_tui/engine/      Diagram renderers (music-agnostic)
Content Layer  guitar_tui/loaders/     Lesson and lick parsers
TUI Layer      guitar_tui/ui/          Screens, widgets, stylesheet

The engine renders DiagramSpec objects and has no knowledge of chord names or scale theory. Music knowledge lives in the data layer and lesson content. Lessons are plain Markdown with YAML frontmatter and fenced diagram blocks — see schemas/ for the full spec.

Adding content

Lessons live in guitar_tui/content/lessons/, exercises in guitar_tui/content/exercises/, and licks in guitar_tui/content/licks/. Each is a Markdown file with YAML frontmatter — see schemas/lesson_format.md and schemas/diagram_spec.md.

A personal note

I am building this app as a personal knowledge base for guitar music theory. Like so many folks out there, I've been playing guitar for two decades, but only in recent years I have tried to understand the theory behind all my beloved songs. It takes time and it takes effort. There are fantastic resources online, there are great videos on YouTube and there are great books on the topic - I do have several of them. With the advent of LLMs however, I can go one step further. Take those concepts, have them explained in various ways and have them presented in a way that works for me. So that's what I did.

That being said, I am not a music theory expert, so I am limited in my capacity to validate all the content for correctness. Nevertheless, I have tried my best (by using an instructor persona and a separate reviewer persona for the critique) and by examining the things I do understand. I will continue this effort as I ask Claude to generate more content and as I go through the content myself and become familiar with new topics by cross examining with other resources.

License

MIT © 2026 Erikton Konomi

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guitar_tui-0.2.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guitar_tui-0.2.0-py3-none-any.whl (323.9 kB view details)

Uploaded Python 3

File details

Details for the file guitar_tui-0.2.0.tar.gz.

File metadata

  • Download URL: guitar_tui-0.2.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for guitar_tui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f9e377e74d9ad2b3678d6476e5a0904152e294560c7cefc264efd018fcd2ea0f
MD5 4309ba94a20741ec1005aeb451f4349c
BLAKE2b-256 faa8a51223e6711c695e24d54f069c05d2ee7e35b11485502b091a31be891a1c

See more details on using hashes here.

File details

Details for the file guitar_tui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: guitar_tui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 323.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for guitar_tui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58e02ec9e3d20ca83076171ec003aaff96040eb28d84d3c20fb8762c5791bcb3
MD5 48fc41d8d90d54b8821e3d23f359fbe4
BLAKE2b-256 6c504ac97d17de8b9382488296c8829aa3e658319df80e6196ae3cc13c90b35a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page