Getting started
SKYWARD runs on Node.js and serves the game from a local Express/Vite process.
Prerequisites
- Node.js 22.12 or newer. Node.js 24 is the verified version in the project notes.
- A desktop browser with WebGL for the 3D view.
- An API key only if you want
JEV LIVE; local play needs no key.
Local run
powershell
git clone https://github.com/Sunwood-ai-labs/jev-flight-combat.git
cd jev-flight-combat
npm ci
npm run devOpen http://127.0.0.1:4173/. The default mode is the key-free local pilot. Select 手動 for direct keyboard control or JEV LIVE after configuring the server.
Optional JEV setup
Create a local .env from .env.example and set AI_GATEWAY_API_KEY. The server resolves the project .env before the referenced gateway project .env; it never sends the key to the browser.
powershell
npm run flight:jev -- --max-calls=30 --frames-per-decision=30The headless command is a bounded replay that writes a JSON report under artifacts/. It is separate from real-time browser flight.
Verify
powershell
npm test
npm run buildFor a no-key first run, use the static demo. It exposes manual and local AI play only; it does not create a browser-side JEV connection.