React + Phaser (Vite) frontend for amiga.sbnet.dev.
- React 19
- Phaser 3
- TypeScript
- Vite
- GitHub Actions (build + deploy SSH)
- Caddy (serving static + headers)
Requirements:
- Node.js 22+
- npm
Install and run locally:
npm install
npm run devProduction build:
npm run buildPreview the build:
npm run previewnpm run dev: starts the Vite dev servernpm run build: generatesdist/npm run preview: servesdist/locally
App.tsx: main React shellcomponents/PhaserDemo.tsx: React/Phaser integrationgame/: demo logic (scene, audio synthesis, shaders).github/workflows/deploy.yml: CI/CD pipelineCaddyfile: production site configuration
The deploy.yml workflow builds and publishes dist/ via SSH/SCP.
GitHub variables (Settings > Secrets and variables > Actions > Variables):
DEPLOY_HOST(ex:amiga.sbnet.dev)DEPLOY_USER(ex:steph)DEPLOY_PORT(ex:22)DEPLOY_KNOWN_HOSTS(recommended)
GitHub secret (Settings > Secrets and variables > Actions > Secrets):
SSH_PRIVATE_KEY
Generate DEPLOY_KNOWN_HOSTS from your machine:
ssh-keyscan -p 22 -H amiga.sbnet.dev 2>/dev/null- Prefer small, focused pull requests.
- Keep changes pragmatic: small diffs, clear manual checks, explicit commit messages.
- Do not commit secrets or credentials in plain text.
- If you change deployment behavior, update this README.
If you identify a vulnerability or unsafe infra/deployment practice, open a private issue or contact the maintainer before public disclosure.
This project is licensed under MIT. See LICENSE.