hjklue 0.2.0

A vim-style terminal crossword puzzle player
# h·j·klue

[![Crates.io](https://img.shields.io/crates/v/hjklue)](https://crates.io/crates/hjklue)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

`hjklue` (pronounced "h-j-klue," an homage to the vim `hjkl` motions) is a terminal-based crossword puzzle player that supports vim-style navigation and `.puz` format. It uses the usual tab/enter/arrows scheme to navigate the grid, but also supports a vim-like normal mode where you can jump to any cell (e.g. `35c` jumps to clue 35), `hjkl` or `w`/`b` to move.  Solve `.puz` format puzzles without leaving your terminal or your keyboard.

This project was inspired by [cursewords](https://github.com/thisisparker/cursewords), [cliptic](https://github.com/apexatoll/cliptic), and [crosstui](https://github.com/matrixfrog/crossword).  

![Example](screenshot.png)

## Installation and Usage

Install via one of the methods below, then run:

```bash
hjklue puzzle.puz
```

Accepts `.puz` format crossword puzzle files. (You can find puzzles at [Daily Crossword Links](https://dailycrosswordlinks.com/).)

### Install via Cargo

If you have Rust installed (or install via [rustup](https://rustup.rs/)):

```bash
cargo install hjklue
```

### Pre-built Binary

Download the latest release binary for your platform from [Releases](https://github.com/stmorse/hjklue/releases). No installation required - just run the executable directly.

### Building from Source

```bash
git clone https://github.com/stmorse/hjklue
cd hjklue
cargo build --release
./target/release/hjklue puzzle.puz
```

## Contributors

I got this off the ground as a vibecode project with Claude Code (Opus 4.5), but if you are a human interested in contributing, send me a message/PR. :) Happy puzzling!