No description
Find a file
2026-03-08 09:12:05 +10:00
data initial import 2026-03-08 09:12:05 +10:00
src initial import 2026-03-08 09:12:05 +10:00
.gitignore initial import 2026-03-08 09:12:05 +10:00
CLAUDE.md initial import 2026-03-08 09:12:05 +10:00
custom_deck_spec.md initial import 2026-03-08 09:12:05 +10:00
defaults.json initial import 2026-03-08 09:12:05 +10:00
instructions.md initial import 2026-03-08 09:12:05 +10:00
klash initial import 2026-03-08 09:12:05 +10:00
klash-gui initial import 2026-03-08 09:12:05 +10:00
klash.nimble initial import 2026-03-08 09:12:05 +10:00
klash_gui initial import 2026-03-08 09:12:05 +10:00
more_vocab1list.txt initial import 2026-03-08 09:12:05 +10:00
newstructure initial import 2026-03-08 09:12:05 +10:00
nim.cfg initial import 2026-03-08 09:12:05 +10:00
nimble.lock initial import 2026-03-08 09:12:05 +10:00
README.md initial import 2026-03-08 09:12:05 +10:00
structurejson.md initial import 2026-03-08 09:12:05 +10:00
test_numbers initial import 2026-03-08 09:12:05 +10:00

klash

Korean flashcard CLI - A terminal-based spaced repetition system (SRS) for learning Korean.

Quick Start

# Build CLI version
nimble build

# Build GUI version (recommended for Korean display)
nimble task gui

# Run GUI with perfect Korean fonts (SDL2)
./klash-gui

# Or run CLI in terminal
./klash

Features

  • Bidirectional drilling: Korean→English or English→Korean
  • Politeness levels: Practice casual, polite, formal, honorific forms
  • Fuzzy matching: Accepts minor typos with adaptive tolerance
  • Character drilling: Hangul jamo characters with romanization
  • Number systems: Both native Korean and Sino-Korean numbers
  • Custom decks: Create curated vocabulary lists
  • SRS tracking: Tracks performance statistics across sessions
  • In-session editing: Edit, delete, or create new cards during quiz

Font Support

For best Korean character display, use the klash-gui launcher which opens in a new terminal with proper Korean font support (Noto Sans Mono + CJK).

Requirements:

# Check if Korean fonts are installed
fc-list :lang=ko

# Install if needed (Arch Linux)
sudo pacman -S noto-fonts-cjk

Usage Examples

# Run with Korean-optimized font
./klash-gui

# Create custom deck
./klash --cmd
cmd> .newdeck my-vocab
cmd> .editdeck my-vocab
deck:my-vocab>> .add 0 1 2 5-10
deck:my-vocab>> .savedeck

# Run custom deck
./klash-gui --deck my-vocab

# Character drilling only
./klash-gui --characterCardChance 100

# Practice with specific politeness level
./klash-gui --politeness polite,casual

In-Session Commands

During quiz sessions, use dot commands:

  • .quit / .q - Exit session
  • .skip / .s - Move card to end
  • .back / .b - Go back one card
  • .r - Show romanization (if enabled)
  • .edit - Edit current card
  • .delete - Delete card permanently
  • .drop - Remove from session/deck
  • .new - Create new word/phrase
  • .cmd - Enter command mode

Configuration

Edit defaults.json to customize:

  • Card type percentages
  • Korean vs English serving ratio
  • Fuzzy matching tolerance
  • Politeness preferences
  • Tag filtering
  • And more...

Documentation

  • CLAUDE.md - Comprehensive developer documentation
  • instructions.md - JSON schema and converter specification
  • custom_deck_spec.md - Custom deck format details

License

MIT