https://github.com/corewar/corewar.io
Corewar.io monorepo
https://github.com/corewar/corewar.io
corewar
Last synced: 7 months ago
JSON representation
Corewar.io monorepo
- Host: GitHub
- URL: https://github.com/corewar/corewar.io
- Owner: corewar
- Created: 2020-02-22T11:26:10.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-29T13:17:41.000Z (about 1 year ago)
- Last Synced: 2025-04-30T06:39:51.303Z (about 1 year ago)
- Topics: corewar
- Language: TypeScript
- Size: 11.8 MB
- Stars: 51
- Watchers: 6
- Forks: 12
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README



# Corewar
Typescript / Javascript implementation of the classic game [corewar](https://en.wikipedia.org/wiki/Core_War)
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](https://github.com/corewar/corewar.io/tree/master/packages/corewar) - npm package providing parser and simulator
* [corewar-ui](https://github.com/corewar/corewar.io/tree/master/packages/corewar-ui) - corewar.io user interface implemented as a spa
* [corewar-api](https://github.com/corewar/corewar.io/tree/master/packages/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](https://corewar-docs.readthedocs.io/en/latest/)
## Scripts
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).
### Prepare development environment
```bash
npm install --global pnpm
pnpm install
```
### Development Commands
Start all packages in development mode:
```bash
pnpm dev
```
Build all packages:
```bash
pnpm build
```
Start all packages (after building):
```bash
pnpm start
```
### Testing and Quality
Run tests across all packages:
```bash
pnpm test
```
Run linting across all packages:
```bash
pnpm lint
```
Generate coverage reports:
```bash
pnpm coverage
```
Clean all packages:
```bash
pnpm clean
```
### Package-Specific Commands
Run commands for specific packages:
```bash
pnpm --filter corewar build
pnpm --filter corewar-app dev
pnpm --filter corewar-api start
```