Nocheto is set of linux chess tools aiming for learning chess, analyzing chess games, and practicing blind fold chess - all in console.

Run nocheto

Once you run nocheto command, it reads its confinguration from ~/.nocheto/configs/nocheto.ini and shows you the chess board.


You can also run nocheto with with a PGN file name as an argument. In that case, nocheto opens firsg game from that file.

At this moment, nocheto waits for your commands. To close nocheto use quit command, or CTRL+D.

If you do so, nocheto save its state into temporary directory (~/.nocheto/temp/). Next time nochto is executed, it reads the last state - moves, analyzes etc. But in case you run nocheto with PGN file argument, it reads that file.

If you messed up things, you can kill nocheto by CTRL+C. Then nothing is saved and you can run nocheto again (without PGN File argument) to get to the last saved state.

The state is saved only after quitting nocheto properly, save command, which save to PGN file, has nothig to do with it.

Playing against chess engine

Default nocheto config has enabled "autoplay". It means, whenever you do a move, nocheto ask engine (default stockfish) to play move also.

You can switch on and off autoplay by autoplay command.

For making move, you use move command, which accept moves in algebraic notation (i.e. e4, Nf3, a8Q etc.), or in german notation (i.e. e2e4, g1f3, a7a8q etc.).

Algebraic and german notations are case-sensitive. So, NF3, nf3 or E2E4 are not valid moves.

So, you can write command like move e4 or move Nf3. But thats a hell a lot of writting, right? Therefore move command is implicit.
That means, if you do not write move, everything which is not recognised as a command is interpreted as a move.

So, the following commands do the same:
move Ngf3
move g1f3

play chess engine

If you want to play as black, use play command to force nocheto to make a first move. You can also use flipboard command to flip the board, so the black side of board will be bottom.

Once you want to start a new game, use new command (or new960 command).

The strength of the engine and the time it taks thinking about a move is determined by the level and goseconds values in your configuration file. You can also use commands level and goseconds to change it "on the fly".

level 4
Set level to 4. Easiest is 0, hardest is 20.
goseconds 1
Think for 1 second.

Play blindfold

To play blindfold game, you simply disable automatic board drawing by autoboard command.

If you install espeak program (should by part of your linux package system), you can enable text to speach by speach command. Nocheto will then read any move done by engine, so you could play with your eyes closed!

play blindfold

In case you want to see the actual board, you can use board command.

blindfold board

You can use CTRL+L to clean the screen again.


Most of the commands have theirs shortcuts (see help). So, instead of board you can use b, instead of flipboard just fp etc.

Setup board

Using nocheto to setup board position is much quicker, than using mouse. Especially, if you can writte by all 10 fingers, you actually do not need look at the board where you setup the pieces, just look at the board from where you copy the position.

To get to setup mode, use setup command. Use help to see all commands you can use to setup board.


variant s|91.1.0
set the game variant
s = standard, 9 = chess960
put white (w) king (K) on e1
put black (b) king (K) on e8
put white or black queen (Q) on b8
Color is based on the last added piece (default white)
remove piece from e1
move piece from e2 to e4
color w|b
set white or black on move
castling -|[KQkqA-Ha-h]
set castling to given letter(s) or remove all castling (using -)
K for white king side castling, Q for queen side
k for black king side castling etc.
A-H for white rook(s) positions in Chess9601.1.0
a-h for black rook(s) positions in Chess9601.1.0
Note: (in Chess960) queen side castling rook must be on left from the king, king side one right
enpassant e3|-, ep
set enpassant position to e3 or remove enpassant
movenumber <n>, mn
set move number to <n>
reset [<id>]
set board to start position
<id>1.1.0 is a Chess960 start position number (0-959)
remove all pieces from board
board, b
show board
viewfen, vf
"show board" shows FEN (default false)
flipboard, fb
flip board
save changes and quit setup mode
quit, q
quit setup board mode, discard changes
Show licence / owner details
help, h
show help

First, you probably want to remove all pieces. You can do it by clean command.

First pieces are automatically white, so you can add piece by writting its annotation letter (K=King, Q=Queen, R=Rook, B=Bishop, N=Knight and P=Pawn) and the field where the piece should be. I.e. ke1 adds king on e1.

To change the color, write b (for black) or w (for white) before the piece letter.
For exemple, bpa7 adds black pawn to a7.

setup board

To remove piece from a field, just write the field name, i.e. a7 remove pice from a7.

You can use color w or color b to set who is on the move.

To set who can castle on which side, use castling command. Use upper K for white castle to king side, upper Q for white castling queen side and lower letters for black … If none can castle, use castling -.

Once the positon is done, use done command to leave setup mode.

Analyze game

First you shoud disable autoplay mode by autoplay command, so nocheto does not play any time you write a move.

You can open a PGN file by open command, or from the command line. Or you can anlyze game you have just played.

To analzye actual move, use analyze command. It can take as an argument number of seconds the engine shoud anlyze the move.

If you add + after the analyze, the analysis will continue from current move to the end of the game (of the actual branch of the game).

For example command analyze+ 1 will analyze all moves from the current move to the end for 1 second. (You can aslo use shortcut a+1.)

Analyze command always runs engine on level 20 (the highest).

analyze chess game

Once the game is analyzed, you can see the moves tree colorized. Green move is the best, white move is almost the best, blue move is an inacurrancy, yellow move is a mistake and red move is a bludner. The actual move also shows the best line (according to the engine).

Values are in centipanws. Positive value is better for white, negative for black. So, 100 means that white is a "pawn value" better than black, -400 means black is "4 pawns" better then white.

analyze result

The "centipawn-meter" (also called "elometer") shows the value of actual move. The higher it is (* above the middle), the better for the side down (if you flip the board, the elometer flips too). If you see ! in the middle of the elometer, it means the value in centipawns is eqal or above 125 (eqal or below -125 for black), which is usually winning position.

The graph (enabled by viewgraph command) represents moves value. The higher it is up, the better for white. The lower it is, the better for black. (Tt doesn't flip with board.) Colors in the graph are the same as the colors of the moves in moves tree. The ^ character in the middle of the graph shows that this was white move, the v character represents black move. # char represents actual move.

analyze result's graph

You can use undo (u) command to go one half-move back, redo move (r or ENTER) to go one half-move forward or uu to go at the begining (before first move).

Studying chess games

This is the most usefull and most cool part of nocheto. Imagine, you study chess game from a book and you want to analyze it by engine. Usually people use some chess GUI and redo moves by mouse. If you do so, you usually lost where you are in the book (or internet source).

On the other hand, with nocheto, you can rewrite the game and all analyzed variants without looking elsewhere than at the source.

First disable auto play mode by autoplay command.

If you need to writte an alternative line to a move, you just use undo command to get back and then you can write the line. Once the line is rewritten, you can use up command, which moves you back before the line, so you can start other line for the same move immediatelly, or you can use r> to redo the move from main line and continue with other moves.

That means, you don't need to look up for the beginning of other alternative line in nocheto. The up command gets you there. You don't need to look elsewhere than in your book. You can writte move after move and branch after branch without loosing track.

Nocheto can show you next possible moves from your game. Just enable variants by viewvariants command (shortcut vv). As you can see, the board was designed in a way, that allows you to get almost all information from looking at it, so you rarely need to look somewhere else (i.e. at the moves tree or the graph).

study chess game

To get to one of the alternative moves, just writte the move. You can also use command r> to get to he first alternative variant (Rg4 on the picture above), r>> to get to the second variant, r>>> to get to the third variant etc. Continue on the main line by r< (Qxf3 on the picture above).

If you want to go to a certain move, you can use goto <move number> command to get to the desired move, i.e. goto 5 gets you to move 5. If there are more moves number 5 (in alternative lines), call goto 5 repeatedly until it gets to the line you want to.

You can add notation to moves by nag command. I.E. nag !? adds !? annotation to the actual move. But you can also add anotation as easy as to writte them after the move. For example, Ne3!? add move Ne3 with annotation !? in one command. There are also aliases for following annotations: !, !!, ?, ??, !?, ?!. So, instead of nag !?, you can writte just !?.

To add a comment, use comment (cmt) command. For adding comment at the beginning of a line, you can use bcomment (bcmt) command.

Once the game is rewritten, you can use a save [filename.pgn] command to save the game to new PGN file, or to a file which is actually opend. To see which file is opend, use info command.

info command

Studying chess endgames

Nocheto also supports tablebase. Tablebase are databases, which contain all possible moves in endgame and their evaluation (if they are winning, loosing or drawing). Nocheto downloads tablebase from (lichess public API). Tablebases are disabled by default.

To enable tablebase, use viewtablebase (vtb) command or enable tablebase in configuration.

Lichess tablebase has computed all positions for 7 pieces and less.


Note: if your internet connection is slow, tablebase can slow any move you do (the board is drawn after the tablebase is downloaded). Even if moves you download are cached (moves for any unique position are downlaod only once), you might want to disable tablebases in that case.


See postinstall instructions.


This tutorial described the main function of nocheto application. But there are still many functions, which were not mentioned, like opening browser, configuration of the interface, client application and many others. See the help and options for more information.