Skip to content

Reference data

Static reference data shared across chess projects.

  • eco-epd.json — 3,641 opening positions keyed by EPD (FEN minus halfmove/fullmove counters). Source: lichess-org/chess-openings. Used for synchronous in-app ECO classification.
  • test-pgns/ — small PGN samples for tests, demos, and screenshot fixtures. Add freely; intent is “anyone setting up a new chess project has plausible test inputs ready.”

Piece SVGs live one level up at ../pieces/ — 39 sets, licensing audited in ../docs/PIECE-LICENSING.md. Kept out of data/ so they’re easy to spot at Motif’s top level.

  • books/ — large reference PDFs (Avrukh, etc.). Probably gitignored due to size. Reference-tree + any future book-handling project would consume.

These files don’t change much, aren’t owned by any single project, and benefit from “one source of truth” treatment. ECO data, in particular, is a published external resource — multiple projects shouldn’t carry their own copy. Test PGN fixtures help any new project bootstrap a test suite without writing a parser test from scratch.

Anything that’s project-specific (a particular app’s player names list, a particular book reader’s per-book labels, etc.) stays in that project. Motif/data is for resources that come from outside the workspace and would be referenced by anyone.