Typescript / Javascript implementation of the classic game corewar
Currently this project contains a corewar IDE, redcode parser and core simulator.
In future we hope to include local and remote hills and benchmarks and possibly to begin extending corewar itself.
This is the monorepo for the corewar.io project and contains the following packages:
- corewar - npm package providing parser and simulator
- corewar-ui - corewar.io user interface implemented as a spa
- corewar-api - corewar.io api implemented in graphql
Documentation for the project along with guidance on corewar and the redcode language can be found on Read the Docs
This project uses Turborepo and pnpm workspaces to manage the monorepo.
Node 18+ is required (Node 22+ requires NODE_OPTIONS="--openssl-legacy-provider"
for builds).
npm install --global pnpm
pnpm install
Start all packages in development mode:
pnpm dev
Build all packages:
pnpm build
Start all packages (after building):
pnpm start
Run tests across all packages:
pnpm test
Run linting across all packages:
pnpm lint
Generate coverage reports:
pnpm coverage
Clean all packages:
pnpm clean
Run commands for specific packages:
pnpm --filter corewar build
pnpm --filter corewar-app dev
pnpm --filter corewar-api start