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

  • 103 lessons across 15 tracks — open chords through song analysis, phrasing, rhythm, and world scales
  • 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
4 — Craft and color 12+ Expressive techniques · Phrasing · Rhythm · World scales

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.4.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.4.0-py3-none-any.whl (365.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: guitar_tui-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 4207920efaee8289ee0aadfa3f4f65a16eab0d7b9187930115ebf44f57798e68
MD5 dd6c2b6ba4ef4b110d54eeb889d5e372
BLAKE2b-256 55508ebdaa55918d56de945a36cbe58b1ad8d6d6858726248adc4093a7ee7554

See more details on using hashes here.

File details

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

File metadata

  • Download URL: guitar_tui-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 365.6 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 342efde3d4b81ff093b537df3df020399a4783c7395e643fac8822c82a586478
MD5 166dfef82584476a74d54a4aadd7d0d9
BLAKE2b-256 0750245b48eb2c6960706a2f7a2b7f7f970ac9f363dd819102a1e3ed695b2489

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.0

2 files

0.4.1

2 files

This release

0.4.0 This release

2 files

0.3.0

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