Skip to content

Useless007/zig-typist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zig-typist

Experimental bilingual typing trainer built with Zig.

Requirements

  • Zig 0.13.x toolchain installed and available on PATH.
  • UTF-8 capable terminal with ANSI control support (tested with GNOME Terminal, iTerm2, and Windows Terminal).
  • Keyboard input device that supports Thai and English layouts for lesson entry.

Getting Started

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.

Command Reference

  • list — show lessons for the active language
  • lang en|th — switch catalogs (persisted across runs)
  • start <slug|number> — begin an interactive lesson attempt
  • history [lang] — render session history (optionally filtered by language)
  • reset history — truncate stats after confirmation
  • help — print command usage
  • quit/exit — close the trainer

Each 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.

About

Bilingual Zig TUI for Thai/English typing drills with stats logging and history review.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published