Skip to content
/ klets Public

Terminal UI for the CodeKlets podcast — browse episodes, topics, guests, and listen from your terminal

Notifications You must be signed in to change notification settings

saberone/klets

Repository files navigation

klets

Terminal UI for the CodeKlets podcast. Browse episodes, topics, guests, and listen — all from the terminal. Built with Ink, React, and Zustand.

Screenshots

Home

Home screen with CodeKlets banner and menu

Episodes

Episodes list with filtering and sorting

Episode detail

Episode detail with tabbed sections

Search

Full-text search with results

Transcript

Episode transcript with speaker segments

Installation

npm install -g klets

Requirements: Node.js >= 18

Usage

klets              # Launch the TUI
klets --help       # Show usage info
klets --version    # Print version

Features

  • Browse episodes with season filtering and sorting
  • Explore topics and guest profiles
  • Full-text search across episodes and transcripts
  • Audio playback with chapter navigation
  • Real-time transcript following during playback
  • Responsive scrollable lists

Keybindings

Key Action
j / k Navigate up / down
enter Open item
esc Go back
q Quit
h / l Previous / next page or tab
f Filter by season
s Cycle sort order
p Play / stop audio
< / > Seek -15s / +15s (mpv only)
[ / ] Previous / next chapter
t Open transcript
r Retry on error

Audio backends

Backend Seek Position tracking Platform
mpv Yes Yes All
ffplay No No All
afplay No No macOS

Install mpv for the best experience.

Development

npm run dev        # Launch in dev mode (tsx)
npm run build      # Production build (tsup)
npm run typecheck  # Type check
npm run lint       # ESLint
npm run format     # Prettier
npm test           # Run tests

License

MIT

About

Terminal UI for the CodeKlets podcast — browse episodes, topics, guests, and listen from your terminal

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •