One of the preinstalled apps on macOS is /Applications/Chess.app. Turns out it uses an open-source chess engine called sjeng, the binary for which is inside the app bundle. Chess.app is itself open source, so I tweaked Apple's code for my own purposes. The code launches an sjeng process, opens a pipe to it, and sends commands over the pipe.
There's a couple of sentences about this in the _README file here (as well as my tweaked source files):
Fun fact: you can play chess in a terminal window by running /Applications/Chess.app/Contents/Resources/sjeng.ChessEngine. You can enter the `help` command for instructions. Note this will create four files with .lrn extensions in your home directory. I forget how to control this behavior -- you can Google "sjeng" for details.
http://www.notesfromandy.com/2016/09/27/chessfidget/
That got boring, so I added very weak AI by connecting to the chess engine that comes preinstalled on macOS (inside Chess.app).