Skip to content

sbnet/amiga

Repository files navigation

amiga

React + Phaser (Vite) frontend for amiga.sbnet.dev.

Stack

  • React 19
  • Phaser 3
  • TypeScript
  • Vite
  • GitHub Actions (build + deploy SSH)
  • Caddy (serving static + headers)

Quick Start

Requirements:

  • Node.js 22+
  • npm

Install and run locally:

npm install
npm run dev

Production build:

npm run build

Preview the build:

npm run preview

npm Scripts

  • npm run dev: starts the Vite dev server
  • npm run build: generates dist/
  • npm run preview: serves dist/ locally

Project Structure

  • App.tsx: main React shell
  • components/PhaserDemo.tsx: React/Phaser integration
  • game/: demo logic (scene, audio synthesis, shaders)
  • .github/workflows/deploy.yml: CI/CD pipeline
  • Caddyfile: production site configuration

Deployment (GitHub Actions)

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

Contribution Guidelines

  • 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.

Security

If you identify a vulnerability or unsafe infra/deployment practice, open a private issue or contact the maintainer before public disclosure.

License

This project is licensed under MIT. See LICENSE.

About

A retro 80s/90s demoscene experience featuring copper rasters, sine-wave scroll text, and shaders, built with React and Phaser.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors