- justfile with build/run/check/test/release/package/fmt/clean recipes - ols.json and odinfmt.json for neovim (ols) - Tests for memory game rules and card animation; memory.deal and memory.select_card split out so logic is testable without a window - Gitea workflows: build+test on main/develop, package and upload to the generic package registry on version branches - Game changes to the executable's directory so packaged builds find assets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
HanjaKanaMun
Odin + raylib memory card game for learning Japanese, Korean and Thai scripts.
Development
Requires Odin (dev-2026-09) and just.
just run # build and play (debug)
just check # type-check with -vet
just test # run tests
just package 1.0 # release build -> build/HanjaKanaMun_1.0_<os>_<arch>.tar.gz
Neovim
ols.json and odinfmt.json configure the ols language server and formatter.
Install ols (e.g. :MasonInstall ols) and enable it with nvim-lspconfig: vim.lsp.enable('ols').
Formatting goes through ols (vim.lsp.buf.format()), or just fmt if odinfmt is on your PATH.
CI
.gitea/workflows/gitea-build.yaml: check, test and build on pushes and PRs tomainanddevelop..gitea/workflows/gitea-release.yaml: on version branches like1.0, packages the Linux build and uploads it to the Gitea generic package registry (HanjaKanaMun/<version>). Needs aTOKENsecret with package write access.
Credits
Font: M PLUS Rounded 1c, SIL Open Font License (assets/MPLUSRounded1c-OFL.txt).