Useless007/zig-typist
Bilingual Zig TUI for Thai/English typing drills with stats logging and history review.
Experimental bilingual typing trainer built with Zig.
PATH.Build the default targets:
zig build
Run the interactive trainer:
zig build run
You can pass scripted commands when running in non-interactive shells (CI, automated smoke tests):
zig build run -- "lang th" "list" "quit"
The trainer remembers your last language selection by storing en or th in the config directory.
Execute tests:
zig build test
Assets live under assets/lessons/ and use metadata headers described in assets/lessons/README.md.
list — show lessons for the active languagelang en|th — switch catalogs (persisted across runs)start <slug|number> — begin an interactive lesson attempthistory [lang] — render session history (optionally filtered by language)reset history — truncate stats after confirmationhelp — print command usagequit/exit — close the trainerEach completed session appends a JSON Lines entry to the user config directory ($XDG_DATA_HOME/zig-typist/history.jsonl by default). History resets and lesson completions emit structured logs via Zig’s standard logger for traceability.