Sprocket is a platform primarily used to manage and automate organized Esports leagues, one such example being Minor League Esports. The platform uses a Microservice pattern, and this repository contains everything needed to quickly start a new microservice.
Application code lives under clients/, microservices/, common/, and core/.
Infrastructure code now lives under infra/, which contains the Pulumi projects migrated from the former sprocket-infra repository:
infra/globalinfra/layer_1infra/layer_2infra/platform
The committed Pulumi.*.yaml files moved with the code so stack configuration remains in version control. Pulumi backend state is still remote and must be accessed with the same backend login used before the migration.
For autonomous or agent-assisted work, start with:
These files define the current repo operating surface, canonical commands, and machine-readable service/lane metadata.
For routine repo operation, prefer the root command layer:
npm run dev:up
npm run dev:status
npm run dev:logs -- core
npm run dev:smoke
npm run verify:tier0 -- local-dev
npm run verify:tier0 -- main-prod
npm run verify:tier1 -- main-prod /absolute/path/to/tier1.env league
npm run verify:all -- main-prod /absolute/path/to/tier1.envThese commands wrap the current docker-compose and harness workflows in a more stable agent-friendly surface.
# In the root directory
npm i# In the root directory
npm run build --workspaces --if-present# In the project directory
npm run dev
# For the replay parse service
./start.shdocker build . -f dockerfiles/node.Dockerfile -t sprocket-base-image --build-arg COMMIT_SHA=$(git log -1 --format=%H)
docker image ls | grep sprocket
# ->
# sprocket-base-image latest cfb627899675 5 seconds ago 1.01GBFor example, building clients/web:
docker build . -f clients/web/Dockerfile -t sprocket-web --build-arg BASE_IMAGE=sprocket-base-image
docker image ls | grep sprocket
# ->
# sprocket-web latest 6661a25ebce4 5 seconds ago 1.01GB
# sprocket-base-image latest cfb627899675 30 seconds ago 1.01GBdocker inspect --format='{{range .Config.Env}}{{println .}}{{end}}' <image/container name or id> | grep COMMIT_SHA