#wordle #tui #wordle-solver #clone #game #towards #speedrunning

app hustle

Hustle is a terminal-based wordle clone and wordle solver written in rust, and geared towards speedrunning

4 stable releases

1.2.3 Jun 28, 2022
1.2.2 Jun 25, 2022
1.2.0 Jun 24, 2022

#282 in Games

MIT license

1MB
1K SLoC

Hustle

preview

Overview

Hustle is a terminal-based wordle clone and wordle solver written in rust, geared towards speedrunning. The solver is inspired by Alex Selby's article The best strategies for Wordle and code, and the game is inspired by the many wordle spin-offs like octordle, hellowordl, and speedle.

Installation

Hustle can be installed using the PKGBUILD with makepkg and pacman on Arch Linux:

$ makepkg --clean PKGBUILD
# tarball may be named something else
$ sudo pacman -U hustle-1.2.3-1-x86_64.pkg.tar.zst

Usage

Here are some examples of how to use hustle:

# play wordle
$ hustle play

# solve a wordle game
$ hustle solve salet.bbbbb.courd
$ hustle solve reast.bbbgg

# solve and output decision tree to file
$ hustle solve trace.gybbb --dt out

# solve and list results of top words
$ hustle solve crate.bybyb --list

# solve with specific ntops and cutoff
$ hustle solve lodge.bbbbb --ntops 8 --cutoff 10

# solve using specific heuristic data
$ hustle solve salet.bbbgg --hdp myhdata.csv

# solve 6 letter words with hellowordl word bank
$ hustle solve traces.bgbbyy --wbp /usr/share/hustle/bank2.csv --wlen 6

# generate heuristic data with top 10 words
$ hustle gen 10 myhdata2.csv

TODO

  • command help
    • better error messages
    • create man pages
    • create --help command
  • make heuristics work for any word bank
  • multiple heuristic options? (linear reg, precomputed, etc)
  • generally refactor, don't ignore warnings
  • optimize solving
  • create benchmarks and unit tests
  • dictionary capabilities
  • keep statistics and track pb's
  • show untested letters?
  • show known letters
    • display list below each column?
    • is this cheating?
    • regardless, it should be an option
  • single word
    • different layout for single
    • different modes like hard mode
  • sync with wordle, duordle, quordle, octordle's, etc daily
  • create github releases?
  • make more easily installable
    • try to publish to AUR?
    • create packages for more distros
    • config file (colors, replacement method, etc)

Dependencies

~2MB
~34K SLoC