Awesome
sku
Simple TUI written in go to play sudoku in the terminal
Table of Contents
sku is a simple TUI for playing sudoku inside the terminal. It uses the awesome bubbletea TUI library for the UI.
Screenshots here
Disclaimer: there are probably many other sudoku TUIs around with all kind of features that sku does not have. PRs are welcomed but it is generally a better idea to just use those programs, since adding some features, like a pencil mode used to annotate the sudoku, would require too much effort.
<a id="orgab62fc1"></a>
Usage
- Install
sku
:
With the go
tool:
go install github.com/fedeztk/sku/cmd/sku@latest
Or from source:
# clone the repo
git clone https://github.com/fedeztk/sku.git
# install manually
make install
In both cases make sure that you have the go bin
directory in your path:
export PATH="$HOME/go/bin:$PATH"
If you are an Arch user there is also an AUR package available:
paru -S sku-git
- Run it interactively:
sku # use default mode (easy)
For more information about version and modes check the help (sku -h
)
<a id="org26baa6c"></a>
Features
-
Minimal/clean interface, only displays the board, the help and the game state (timer and remaining cells). Cursor position is marked with green. Greyed cells are unmodifiable (the base of the sudoku); when the cursor is under those cells it will darken
-
Game check:
-
when the last cell is filled,
sku
will perform a check of the sudoku:- if it is correct, an animation will let you know that you won the game
- otherwise it will color with red the errors
-
-
Simple keys to interact with the puzzle:
- moving around: use the arrows or the vim motion keys, as preferred
- setting a cell: just press the desired number
- unsetting a cell: press spacebar or enter
- toggle help: press the question mark
- quit: you can quit anytime by pressing esc or q
-
Check the version with
sku -v
-
Get the help menu with
sku -h
-
Set a sudoku mode with
sku MODE
. Valid MODEs are: easy, medium, hard and expert (also displayed with-h
flag)
<a id="org2744438"></a>
Testing
Development is done through docker
, build the container with:
make docker-build
Check that the build went fine:
docker images | grep sku
Test it with:
make docker-run
Pre-built Docker image available here