Skip to content

nate-xyz/chess-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chess-cli ♟️

A chess tui app written in Go.
Play locally with a friend or online with Lichess!


♞♞♞♞♞♞♞♞♞♞♞

chess-cli is a tui (terminal user interface) that allows you to play chess, both offline with a friend or online as a Lichess api client.

home game

♞♞♞♞♞♞♞♞♞♞♞

Features

  • Mouse input support
  • Displays move history
  • UCI chess notation input
  • Saving and restoring local games
  • Lichess features:
    • Lichess login w/ oauth
    • Lichess challenge request for real time, unlimited, or correspondence games, with all variants and options supported
    • Challenge a friend or a random player
    • Play against the stockfish AI
    • Join ongoing games
    • Join from your incoming challenges

♞♞♞♞♞♞♞♞♞♞♞

dependency documentation:

https://lichess.org/api for lichess

https://pkg.go.dev/github.com/notnil/chess chess lib

https://docs.rocketnine.space/code.rocketnine.space/tslocum/cview/ cview

https://code.rocketnine.space/tslocum/cview/src/branch/master/demos cview demos

https://pkg.go.dev/net/http

https://mholt.github.io/json-to-go/

♞♞♞♞♞♞♞♞♞♞♞

todo:

general

  • Handle all notation types or choose notation to start

local client

  • add time options

oauth

  • handle if oauth rejected mid process

online

  • exit option on loader
  • challenge construction
    • set default interval position for sliders
    • custom starting position option for challenges
  • client
    • chat
    • rematch option post game

♞♞♞♞♞♞♞♞♞♞♞