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.3.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.3.0-py3-none-any.whl (342.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: guitar_tui-0.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 3956e1ada1e2481042072831d466e0a1de83bb47076c703606c626775b0fdb0b
MD5 a14e23bd5d7eceabd2fcc2ae1de2150d
BLAKE2b-256 697e36dee6e5c2555c10adb6e6aac2eba7d614a2b0c06bc7ae3a664be92f60dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guitar_tui-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 342.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbc4985064aa19556c7c83f5bb92b9900053171d411b806864a8589ac0d2b77c
MD5 90aa6a2d55f9ddac67b124314b0025f9
BLAKE2b-256 ca15c763fd55afb8626fc7b0f498ec69e221143abbfd1201af42995188e2f7be

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

This release

0.3.0 This release

2 files

0.2.0

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