How chesscom/ccc-configs works
This repository publishes transparent Docker build definitions and configuration for public CCC chess engines. Its main workflow builds selected engine images, probes a successful image for its UCI version, and can publish that version; generated wrappers provide a separate way to run images. The audit utility independently discovers events and retrieves game logs or PGNs. The sampled source supports those flows, but does not establish how engine configs or opening-book files are consumed.
Main entry points: build_engine.py Build and update · audit.py Audit utility · wrappers Run wrappers · dockers Docker definitions
Components 15
Engine Builds
- Build and update
scripts/build_engine.py - Docker definitions
dockers - Engine configs
configs - Build secrets
secrets - Docker engine
- Version API
Engine Runtime
- Engine image
- Run wrappers
wrappers - Opening books
books
Event Auditing
- Audit utility
scripts/audit.py - CCC WebSocket
- Game-log storage
- Downloaded logs and PGNs
Other components
- Maintainer
- Engine operator
Connections 16
- Maintainer → Build and update: selects engines
- Build and update → Docker definitions: builds from
- Build and update → Build secrets: reads secrets
- Build and update → Docker engine: runs build
- Docker engine → Engine image: creates image
- Build and update → Docker engine: runs image
- Docker engine → Engine image: probes UCI
- Build and update → Version API: posts version
- Engine operator → Run wrappers: runs engine
- Run wrappers → Engine image: launches image
- Audit utility → CCC WebSocket: requests events
- CCC WebSocket → Audit utility: returns event data
- Audit utility → Game-log storage: downloads logs
- Game-log storage → Audit utility: returns log data
- Audit utility → Downloaded logs and PGNs: saves logs and PGNs
- Audit utility → CCC WebSocket: requests game PGNs