Freecell Solver - a C library for automatically solving Freecell and some other variants of card Solitaire
C Perl JavaScript Shell HTML C++ Other
Latest commit 8a6aaea Feb 23, 2017 @shlomif Convert num_items_per_page to a constant.
This is refactoring/optimisation.

The Freecell Solver Repository Root README

Freecell Solver is an open source (distributed under the MIT/X11 licence) library, written in C, for attempting to solve several variants of card Solitaire/Patience, including Freecell , Baker’s Game , Seahaven Towers , and Simple Simon . Also contained are several command-line programs that use it, and the original project also span some other code for testing and for support.

Travis-CI Build Status AppVeyor Build status


PySol FC Running Freecell Solver


PySolFC Solving Freecell

Repository structure


This contains the source of the solver itself. One can use CMake to build it.


This is the Games-Solitaire-Verify CPAN module. For more information see:


This is a CPAN module for installing the various test dependencies that are found on CPAN.


The Freecell Solver Architecture Document. Somewhat out-of-date, but may be studied for general enlightenment.


Some code that is used in order to calculate the built-in command-line presets, like “-l good-intentions” or “-l maliciously-obscure”. Not very documented. This code is written in parts in Perl, Bash and Mono.NET.


Contains code that is no longer used.


Contains various documents that are not part of the main source distribution. Mostly specifications and planning documents.


Logs of various benchmarks of the code.