libscid is a C++20 library extracted from Scid/ScidUp for applications that need chess game, PGN, database, ECO and spelling functionality without depending on a desktop application.
The generated API reference documents installed public headers only. Internal codec, storage and test-only headers are intentionally excluded from this site.
Quick Start shows how to compile a minimal consumer with g++, Make or CMake.
Installation covers release archives, source installation, package contents and local documentation builds.
Examples and Recipes maps common tasks to the standalone example projects.
LibScidCpp::Core provides board primitives, positions, moves, games, movetext, PGN support, notation and shared chess value types.LibScidCpp::Database provides SCID-family database storage, indexes, namebases, filters, searches, opening-tree statistics and game load/save workflows.LibScidCpp::Eco provides ECO code parsing and opening-book lookup.LibScidCpp::Spelling provides name normalisation and spelling-file support for database-oriented workflows.
Architecture and Diagrams collects domain-centred views of the public model, including the editable game aggregate and its PGN boundaries.
scid::core::Game for an editable chess game model.scid::core::Position for board state, legal move handling and FEN/UCI position support.scid::database::scidBaseT for database sessions.scid::eco::Book for ECO opening lookup.scid::spelling::NameNormalizer for spelling-file-backed name handling.