FCS makes a clear distinction between the internals of the program, that are subject to change from version to version, and between the interface supplied to the user or the application programmer. All the modules starting from intrface.c and below are the internals of the program.
lib.c contain the API functions used by the programmer. cmd_line.c is an API to analyze a Freecell Solver command line. It itself uses only the lib.c API. It provides a more flexible interface for configuring Freecell Solver, even to the application programmer.
main.c and test_multi_parallel.c are two command line programs that use the command line interface and programmers interface. Others can be written (and have been).